]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/partmap/amiga.c: Fix size of checksummed block.
[grub2.git] / ChangeLog
CommitLineData
95ef1a54
VS
12013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/partmap/amiga.c: Fix size of checksummed block.
4
46546fc5
VS
52013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
8 Reported by: qwertial.
9
3476e0ef
VT
102013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
11
12 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
13 with syntax "XXX deg"/"XXX °".
14
96f33fed
VS
152013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
16
17 Make PCI init in i386-qemu port more robust.
18
192013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
dc5a311a
VT
20
21 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
22 cached view is reused.
23 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
24 open boot menus.
25
c53b4e67
VS
262013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
27
28 Unify more code in grub-install_header.
29
f7457fb2
VS
302013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
31
32 Add few new tests.
33
e2f27a8c
VS
342013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
35
36 Enforce disabling of firmware disk drivers when native drivers kick in.
37
ef9d8cd5
VS
382013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
39
40 * grub-core/commands/nativedisk.c: Customize the list of modules on
41 platform. Don't try to search for disks already using native drivers.
42
f7bf6c31
VS
432013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
46 platforms.
47
bdc4add8
VS
482013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
49
50 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
51 handling of variables containing backslash.
52
e9e46c9a
VS
532013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
54
55 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
56 dereference.
57 Reported by: qwertial.
58
0e90dee8
VS
592013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
60
61 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
62
e0aacf24
VS
632013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
64
65 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
66 dereference.
67 Reported by: qwertial.
68
3c0003c3
VS
692013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
70
71 * docs/grub.texi: Add a comment about usefullness of nativedisk.
72
adb7d667
VS
732013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
74
75 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
76
7cd0df84
VS
772013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
78
79 New command `nativedisk'.
80
02adbb93
VS
812013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
82
83 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
84 * grub-core/loader/i386/bsd.c: Likewise.
85
9fb0fd4f
VS
862013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
87
88 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
89
bd69257a
VS
902013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
91
92 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
93 grub_get_unaligned16 rather than shifts.
94
178c2764
VS
952013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
96
97 * grub-core/kern/file.c: Use const char * rather than casting to
98 non-const.
99
eadfad24
VS
1002013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
101
102 * grub-core/commands/probe.c: Add missing grub_device_close.
103
9f73ebd4
VS
1042013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
105
106 * INSTALL: Document linguas.sh.
107
965fa829
VS
1082013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
109
110 Remove POTFILES.in and regenerate it in autogen.sh.
111
d417ddc4
VS
1122013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
113
114 Move --directory/--override-directorry to grub-install_header and unify.
115
f97ec546
VS
1162013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
117
118 * grub-core/term/morse.c: Macroify dih and dah.
119
b2d7470c
PFS
1202013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
121
122 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
123
141e2a78
VS
1242013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
125
126 * grub-core/term/ns8250.c: Systematically probe ports by writing
127 to SR before using them.
128
1dd70ebd
PFS
1292013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
130
131 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
132 disks.
133 (check_sas): Get sas_adress info.
134
c796a107
VS
1352013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
136
137 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
138 ports.
139
43168646
LD
1402013-04-27 Leon Drugi <eyak>
141
142 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
143 BSS clearing.
144
e7b8fd08
VS
1452013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
146
147 Core compression test.
148
17f9fd29
VS
1492013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
150
151 Implement grub_machine_get_bootlocation for ARC.
152
dc2a6c8b
VS
1532013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
154
155 Improve AHCI detection and command issuing.
156
f25a2ba6
VS
1572013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
158
159 Fix pseries test.
160
a6393224
VS
1612013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
162
163 Make 'make check' work on emu.
164
db99fbe8
VS
1652013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
166
167 Replace libcurses with our own vt100 handling for the ease of testing
168 and decreasing prerequisites.
169
b24ca7cd
VS
1702013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
171
172 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
173
63314aa4
VS
1742013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
177 compile when not needed.
178
c1b00fff
VS
1792013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
180
181 * tests/pseries_test.in: New test.
182
f93e89ef
VS
1832013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
184
185 Add test to check that different boot mediums work.
186
c4b456d3
VS
1872013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
188
189 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
190 ofw limited ISO support.
191
5fe67f39
VS
1922013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
193
194 * configure.ac: Fix loongson conditional.
195
7f63a64f
VS
1962013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
197
198 Enable mipsel-arc.
199
b04b5990
VS
2002013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
201
202 Add serial on ARC platform.
203
88d2f302
VS
2042013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
205
206 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
207 commit.
208
86eb23bc
VS
2092013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
210
211 * tests/partmap_test.in: Add missing double semicolon.
212
eec3bb75
VS
2132013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
214
215 * util/grub-mkrescue.in: Fix loongson filename.
216
e0810df3
VS
2172013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
218
219 * util/grub-mkrescue.in: Move all files that don't have a location
220 set in stone under /boot/grub. Use ISO hard links rather than copies
221 to save some space.
222
65a6b30b
VS
2232013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
224
225 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
226 bogus SLOF values.
227
6aff0107
VS
2282013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
229
230 Make check work on mips-arc.
231
5e013e56
VS
2322013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
233
234 * util/grub-mkrescue.in: Alias sashARCS as sash.
235
d1989e2e
VS
2362013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
237
238 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
239 it's serial.
240
1a25e72c
VS
2412013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
242
243 * util/grub-install.in: Fix target fo qemu_mips.
244 Fix extension on EFI.
245
a59a9826
VS
2462013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
247
248 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
249 in front of chosen entry to mark it even if highlighting is lost.
250
1a40f80c
VS
2512013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
252
253 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
254 gfxpayload=keep if cbfb is active.
255
e343549c
VS
2562013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
257
258 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
259
45fbd9a2
VS
2602013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
261
262 Add missing video ids to coreboot and ieee1275 video.
263
ab1440bd
VS
2642013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
265
266 * util/grub-mkrescue.in: Add mips-arc support.
267
cdeb8324
VS
2682013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
269
270 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
271
8528c879
VS
2722013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
273
274 Move mips-arc link address. Previous link address was chosen
275 in belief that RAM on SGI platforms grows down while in fact it
276 grows up from an unusual base.
277
17fca573
VS
2782013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
279
280 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
281 Fix a type which prevented CD-ROM and floppy boot.
282
d178788e
VS
2832013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
284
285 Support coreboot framebuffer.
286
287 * grub-core/video/i386/coreboot/cbfb.c: New file.
288
fe4c3e7e
VS
2892013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
290
291 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
292 detecting too small regions.
293
ec2dd179
VS
2942013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
295
296 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
297
872dac83
VS
2982013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
299
300 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
301 Remove dprintf.
302 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
303
90ec4b7f
VS
3042013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
305
306 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
307 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
308 * grub-core/loader/powerpc/ieee1275/linux.c
309 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
310
f32555dd
VS
3112013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
312
313 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
314 Look for /boot-rom as well as /rom/boot-rom.
315
38649799
VS
3162013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
317
318 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
319 handling when creating text_layer failed.
320 * grub-core/video/video.c (grub_video_create_render_target):
321 Set result to 0 on error.
322 (grub_video_delete_render_target): Do not dereference NULL.
323
aeace7f7
VS
3242013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
325
326 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
327 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
328 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
329 (grub_linux_load64): Mask out 2 high bits.
330
4eafa175
AB
3312013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
332
333 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
334 more place.
335
daaa64bd
VS
3362013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
337
338 Add support for pseries and other bootinfo machines to grub-mkrescue.
339
340 Tested by: Paulo Flabiano Smorigo.
341
d0d2daa6
VS
3422013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
343
344 * util/grub-mkrescue.in: Add GPT for EFI boot.
345
b193e100
VS
3462013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
347
348 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
349 It improves performance in qemu.
350
a0f8f3ac
VS
3512013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
352
353 * build-aux/snippet: Add missing gnulib files.
354
284df0e2
AB
3552013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
356
357 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
358
740201f3
AB
3592013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
360
361 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
362
a7e03923
PJ
3632013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
3642013-04-15 Peter Jones <pjones@redhat.com>
365
366 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
367 sectors.
368 Based on patch by Peter Jones.
369
25fc51a8
VS
3702013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
371
372 Fix DMRAID partition handling.
373
88017d47
VS
3742013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
375
376 * tests/grub_cmd_date.in: Skip on sparc64.
377
fa7d914e
VS
3782013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
379
380 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
381 firmware error messages.
382
cbe57a48
VS
3832013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
386 source and destination differ.
387
21aecce0
VS
3882013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
389
390 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
391 detection.
392
25092d29
VS
3932013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
394
395 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
396 match config-util.h to avoid warnings and increase compatibility.
397
79451522 3982013-04-14 Szymon Janc <szymon@janc.net.pl>
25092d29 3992013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
79451522
VS
400
401 Add option to compress files on install/image creation.
402
78b7d77b
VS
4032013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
404
405 * docs/grub-dev.texi: Rearrange menu to match the section order.
406 Reported by: Bryan Hundven.
407
cc2fa5ec
VS
4082013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
409
410 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
411
b49fe879
VS
4122013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
413
414 Move GRUB out of system area when using xorriso 1.2.9 or later.
415
5351da81
VS
4162013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
417
418 * tests/grub_cmd_date.in: Add missing exit 1.
419
c9d586ea
VS
4202013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
421
422 * tests/partmap_test.in: Skip on sparc64.
423
3f729741
VS
4242013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
425
426 Support grub-shell on sparc64.
427
8ca86b3a
VS
4282013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
429
430 Support mkrescue on sparc64.
431
aa1af9bb
VS
4322013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
433
434 Allow IEEE1275 ports on path even if it wasn't detected automatically.
435 Needed on OpenBIOS due to incomplete device tree.
436
ac4fea79
VS
4372013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
438
439 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
440 would be otherwise excluded.
441
4422013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
87206f2c
VS
443
444 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
445 Inline name defines used only once.
446
fe22b071
VS
4472013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
448
449 Fix memory leaks in ofnet.
450 Reported by: Francesco Lavra.
451
9d21381b
VS
4522013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
453
454 * docs/man/grub-glue-efi.h2m: Add missing file.
455
07aec23c
VS
4562013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
457
458 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
459
67ab8353
VS
4602013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
461
462 Better support Apple Intel Macs on CD.
463
ba44ca6d
VS
4642013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
465
466 Replace stpcpy with grub_stpcpy in tools.
467
bbdd6305
VS
4682013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
469
470 Handle Japanese special keys.
471 Reported by: Hiroyuki YAMAMORI.
472 Codes supplied by: Hiroyuki YAMAMORI.
473
8573d302
VS
4742013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
475
476 * util/grub-mkimage.c: Document memdisk implying --prefix.
477
d70dbab7
VS
4782013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
479
480 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
481 much we can do about it anyway.
482
51a4c3e3
AN
4832013-04-12 Aleš Nesrsta <starous@volny.cz>
484
485 Fix handling of split transfers.
486
92c8f58d
VS
4872013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
488
489 * grub-core/net/http.c: Fix bad free.
490
b7d17a49
VS
4912013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
492
493 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
494 than buffer size.
495
a3d566d4
VS
4962013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
497
498 Disable partmap check on i386-ieee1275 due to openfirmware issues.
499
a936af56
VS
5002013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
501
502 * tests/util/grub-shell.in: Fix it on powerpc.
503
51212234
VS
5042013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
505
506 Turn off QEMU ACPI-way since new releases don't have shutdown port
507 anymore.
508
a21eec9e
VS
5092013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
510
511 * docs/grub.texi: Update coreboot status info.
512
e3734b84
VS
5132013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
514
515 * tests/grub_cmd_date.in: New test for datetime.
516
f9d40055
VS
5172013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
518
519 * tests/partmap_test.in: Fix missing qemudisk setting.
520
dbc56d8f
VS
5212013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
522
523 Support i386-ieee1275 grub-mkrescue and make check on it.
524
a79b8a15
VS
5252013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
526
527 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
528 feature for it.
529
48f39bb4
VS
5302013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
531
532 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
533 GRUB_CMDLINE_XEN_DEFAULT.
534 Reported by: Marc Warne (GigaTux) <gigatux>
535
053cfcdd
VS
5362013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
537
538 Import new gnulib.
539
93cd84df
VS
5402013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
541
542 Use ACPI shutdown intests as traditional port was removed.
543
f4b1fa4f
AB
5442013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
545
546 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
547 distinction.
548
49818a59
VS
5492013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
550
551 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
552 Fix few warining messages and leaks while on it.
553
9277a306
AB
5542013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
555
556 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
557 links under grub-core/lib/libgcrypt-grub/mpi.
558
d5e2a158
VS
5592013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
560
561 Fix ia64-efi image generation on big-endian machines. Deduplicate
562 some code while on it.
563 Reported by: Leif Lindholm.
564
18866643
AB
5652013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
566
567 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
568 as extra_dist.
569
ca53deb8
AB
5702013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
571
572 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
573
d4c4b8e1
BH
5742013-04-08 Bryan Hundven <bryanhundven@gmail.com>
575
576 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
577 texinfo-5.1.
578
47043f95
VS
5792013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
580
581 * grub-core/normal/term.c: Few more fixes for menu entry editor
582 rendering.
583 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
584
a3216068
VS
5852013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * grub-core/normal/term.c: Few more fixes for menu entry editor
588 rendering.
589 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
590
21026747
AB
5912013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
592
593 * conf/Makefile.extra-dist (EXTRA_DIST): Add
594 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
595
59624ca8
AB
5962013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
597
598 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
599 instead of hardcoding grub.mo.
600
1f44478c
FN
6012013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
602
603 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
604
eeada7b1
VS
6052013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
606
607 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
608 grub-core/disk/geli.c.
609
132867de
VS
6102013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
611
612 * util/grub-mkfont.c: Prefer enum to #define.
613
de73de17
VS
6142013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
615
616 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
617
1865baa7
VS
6182013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
619
620 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
621
ce7d92a9
VS
6222013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
623
624 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
625
52eab656
VS
6262013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
627
628 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
629
98b23b95
VS
6302013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * include/grub/bsdlabel.h: Use enums.
633
0467a5dd
VS
6342013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
635
636 Move GRUB_CHAR_BIT to types.h.
637
16cc9f03
AB
6382013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
639
640 * docs/grub.texi: Document more user commands.
641
3152aecb
AB
6422013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
643
644 * docs/grub.texi: Document menuentry --id option.
645
c506fc30
FL
6462013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
647
648 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
649
aa428238
VS
6502013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
651
652 Unify file copying setup across different install scripts. Add
653 options for performing partial install.
654
efe0cdda
PJ
6552013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6562013-04-04 Peter Jones <pjones@redhat.com>
657
658 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
659
f75835bd
VS
6602013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
661
662 Use TSC as a possible time source on i386-ieee1275.
663
2cd5ce6c
VS
6642013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
665
666 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
667 Init err.
668
c9625630
VS
6692013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
670
671 * util/grub-setup.c (setup): Handle some corner cases.
672
be008941
VS
6732013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
674
675 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
676
1a78d573
VS
6772013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
678
679 * grub-core/commands/verify.c: Save verified file to avoid it being
680 tampered with after verification was done.
681
db8ff59f
VS
6822013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
685 reported width by one to compensate for curesor algorithm problem.
686
91bf46b1
VS
6872013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
688
689 Fix screen corruption in menu entry editor and simplify the code
690 flow while on it.
691
a7b1d693
AB
6922013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
693
694 * util/grub-mount.c (fuse_init): Return error if fuse_main
695 failed.
696
31df9ad8
FL
6972013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
698
699 * include/grub/elf.h: Add missing ARM relocation codes and fix
700 existing ones.
701
07f392eb
VT
7022013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
703
704 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
705
9efd73ec 7062013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
c3578acf
VT
7072013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
708
709 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
710 into account when calculating radius.
711
7122013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
9efd73ec
VT
713
714 * grub-core/gfxmenu/view.c: Fix off-by-one error.
715
4985ddaa
VT
7162013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
717
718 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
719
8c3635ff
RS
7202013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
721
722 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
723 missing closing bracket.
724
74a35e69
RS
7252013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
726
727 * INSTALL: Mention xorriso requirement.
728
40f1c000
AB
7292013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
730
731 * grub-core/commands/verify.c: Fix hash algorithms values for
732 the first three hashes - they start with 1, not with 0.
733
e75fdee4
VS
7342013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
735
736 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
737 Try terminating EFI services several times due to quirks in some
738 implementations.
739
33028f4c
CW
7402013-03-26 Colin Watson <cjwatson@ubuntu.com>
741
742 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
743 skipping Event, Device, Processor, PowerRes, ThermalZone, and
744 BankField extended opcodes.
745 (get_sleep_type): Add minimal scope handling (just enough to
746 handle setting the scope to the root path).
747 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
748 * include/grub/acpi.h: Add enumeration values for Event, Device,
749 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
750
33871a10
VT
7512013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
752
753 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
754 memory leak.
755
8990963a
VS
7562013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
757
758 * grub-core/disk/ahci.c: Give more time for AHCI request.
759
daae8f9e
VS
7602013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
761
762 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
763 command.
764
6a7fb94b
VS
7652013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
766
767 Replace the region at 0 from coreboot tables to available in BSD
768 memory map.
769
ff99babd
VS
7702013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
771
772 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
773 non-BIOS platforms.
774
30d6b1b2
VS
7752013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
776
777 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
778 platforms.
779
6ccd0b31
VS
7802013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
781
782 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
783 handling of multi-device filesystems.
784
23c9cc04
VS
7852013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
786
787 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
788 platforms.
789
ce50dbd7
VS
7902013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
791
792 Add new 'proc' filesystem framework and put luks_script into it.
793
d975e8d5
VS
7942013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
795
796 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
797 and qemu.
798
e73ba5e8
VS
7992013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
800
801 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
802
92750e4c
VS
8032013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
804
805 Add ability to generate newc additions on runtime.
806
0ec45a68
VS
8072013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
810 description.
811
320abd43
VS
8122013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * po/POTFILES.in: Regenerate.
815
d7a6506e
VS
8162013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * grub-core/commands/verify.c (hashes): Add several hashes
819 from the spec.
820
8fe05def
VS
8212013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
822
823 Slight improve in USB-related boot-time checkpoints.
824
524e2766
VS
8252013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * grub-core/commands/boottime.c: Fix copyright header.
828
cc19857a
VS
8292013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
830
831 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
832 coreboot tables content. Support for cbmemc.
833
ef8810e9
VS
8342013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
835
836 Fix a conflict between ports structures with 2 controllers of
837 same kind.
838
e9dabdfa
VS
8392013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
840
841 * include/grub/boottime.h: Add missing file.
842
f6df57d2
VS
8432013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
844
845 Initialize USB ports in parallel to speed-up boot.
846
d745dda7
VS
8472013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
848
849 Fix USB devices not being detected when requested
850 due to delayed attach.
851
e5a2dd7b
VS
8522013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
853
e744219b
VS
854 Implement boot time analysis framework.
855
8562013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
857
858 Remove get_endpoint_descriptor and change all functions needing
e5a2dd7b
VS
859 descriptor to just receive it as argument rather than endpoint
860 address.
861
5dd6f587
VS
8622013-03-19 Aleš Nesrsta <starous@volny.cz>
863
864 Better estimate the maximum USB transfer size.
865
2f1071d5
VS
8662013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
867
868 Resend a packet if we got the wrong buffer in status.
869
46ecfc49
VS
8702013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
871
872 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
873 multiplication rather than division.
874
ea811130
VS
8752013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
876
877 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
878 than divisions.
879
d2789cf0
VS
8802013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
881
882 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
883 operations to have intended shifts and not divisions.
884
a9c94590
VS
8852013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
886
887 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
888 intended shifts rather than division.
889
84cfe81b
VS
8902013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
891
892 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
893 computation for some years before epoch. Avode confusing division
894 while on it.
895
21344ef6
VS
8962013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
897
898 * grub-core/video/i386/pc/vbe.c
899 (grub_video_vbe_print_adapter_specific_info): Replace division by
900 shifts.
901
3f2b4d1a
VS
9022013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
903
904 Adjust types in gdb module to have intended unsigned shifts rather than
905 signed divisions.
906
3dac5878
VS
9072013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
908
909 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
910 maximum size is 4G - 1 on hfs
911
5341c0fb
VS
9122013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
913
914 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
915
fc3ff2a2
VS
9162013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
917
918 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
919 function.
920
81455e8e
AB
9212013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
922
923 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
924 causing gcc error with gcc 4.7.1.
925
efd4f117
NZ
9262013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
927
928 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
929 dereference null pointer. While the code is technically correct, gcc
930 may eliminate a null check if pointer is already dereferenced.
931
e11645f4
NZ
9322013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
933
934 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
935 OOM check.
936 * grub-core/normal/term.c (read_terminal_list): Likewise.
937
77468368
VS
9382013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
939
940 Lift up core size limits on some platforms. Fix potential memory
941 corruption with big core on small memory systems. Document remaining
942 limits.
943
f6b58fe5
VS
9442013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
945
946 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
947 gotoxy to 0,0.
948
19ce697d
VS
9492013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
950
951 Remove all trampoline support. Add -Wtrampolines when
952 present. Remove symbols used for trampolines to make
953 link fail if trampolines are present.
954
73b5d90f
VS
9552013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
956
957 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
958 append out of its parent.
959
cb758e96
VS
9602013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
961
962 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
963 parent.
964
3188131f
VS
9652013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
966
967 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
968 all vars to a macro. All users updated.
969
e42b2514
VS
9702013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
971
972 * grub-core/disk/ieee1275/nand.c: Fix compilation on
973 i386-ieee1275.
974
83e1a1a1
VS
9752013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
976
977 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
978
1d5a880f
VS
9792013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
980
981 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
982
6e4146c4
VS
9832013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
984
985 Move to more hookless approach in IEEE1275 devices handling.
986
99fcda8a
VS
9872013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
988
989 * grub-core/kern/term.c (grub_term_normal_color),
990 (grub_term_highlight_color): Add back lost defaults.
991
73bf57e2
VS
9922013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
993
994 Make elfload not use hooks. Opt for flags and iterators instead.
995
7f8c105f
VS
9962013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
997
998 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
999 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
1000
396d4091
VS
10012013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1002
1003 * grub-core/script/execute.c (gettext_append): Remove nested functions.
1004
10052013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1006
1007 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
1008 hook pass-through parameter. All users updated and unnested.
1009
74a27421
VS
10102013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1011
1012 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
1013 out of its parent.
1014
b46d4213
VS
10152013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
1016
1017 * grub-core/fs/hfs.c: Remove nested functions.
1018
e114c3cc
VS
10192013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1020
1021 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
1022 the context through.
1023 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
1024
f9b7d780
VS
10252013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 * util/grub-editenv.c (list_variables): Move print_var out of its
1028 parent.
1029
ca9c2608
VS
10302013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1031
1032 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
1033 function.
1034
5d983f5f
VS
10352013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 * grub-core/gentrigtables.c: Make tables const.
1038
3056d3e7
VS
10392013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 Remove nested functions from videoinfo iterators.
1042
e2303774
VS
10432013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1044
1045 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
1046 for 64-bit platforms.
1047
f42e3a2f
VS
10482013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1049
1050 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
1051 a FOR_CHILDREN macro.
1052
be174e5e
VS
10532013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
1056 platform from firmware path.
1057
0789b672
VS
10582013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 Enable linux16 on non-BIOS systems for i.a. memtest.
1061
1062 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
1063 correctly.
1064 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
1065
005a9c32
VS
10662013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1067
1068 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
1069 Fix end of table condition.
1070
ff2b3cd9
VS
10712013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1072
1073 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
1074 out of its parent.
1075
4fc40ff8
VS
10762013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 * grub-core/fs/jfs.c: Remove nested functions.
1079
be42d97a
VS
10802013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 * grub-core/fs/minix.c: Remove nested functions.
1083
99373ce4
VS
10842013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * grub-core/fs/iso9660.c: Remove nested functions.
1087
5aec2afe
VS
10882013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1089
1090 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
1091 of parent function.
1092
6c69e691
VS
10932013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 * util/grub-fstest.c: Remove nested functions.
1096
43c91882
VS
10972013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1098
1099 * grub-core/loader/machoXX.c: Remove nested functions.
1100
4eb8b756
CW
11012013-02-27 Colin Watson <cjwatson@ubuntu.com>
1102
1103 Remove nested functions from disk and file read hooks.
1104
1105 * include/grub/disk.h (grub_disk_read_hook_t): New type.
1106 (struct grub_disk): Add read_hook_data member.
1107 * include/grub/file.h (struct grub_file): Likewise.
1108 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
1109 argument.
1110
1111 Update all callers.
1112
df6da5a5
AB
11132012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
1114
1115 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
1116 Fix off by one error in enumerating extended partitions.
1117
21aecde5
AB
11182013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
1119
1120 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
1121 memory leak if device name is not found.
1122
f1a19118
AB
11232013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
1124
1125 * grub-core/normal/menu_entry.c (update_screen): remove
1126 unused variable `off' which caused scroll down arrow to be always shown.
1127
958bfd20
AB
11282013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
1129
1130 * grub-core/normal/menu_entry.c (insert_string): fix off by one
1131 access to unallocated memory.
1132
b7b78edb
AB
11332013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
1134
1135 * Makefile.util.def: Add partmap/msdos.c to common library.
1136 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
1137 * grub-core/disk/ldm.c: Check for existence of
1138 GRUB_PC_PARTITION_TYPE_LDM.
1139
28d468d6
VS
11402013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
1143 sizes and display sector size.
1144
d55ffb02
VS
11452013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1146
1147 Implement new command cmosdump.
1148
b5ea6ce0
VS
11492013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1150
1151 Support Openfirmware disks with non-512B sectors.
1152
1153 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
1154 size of the disk.
1155 * (grub_ofdisk_get_block_size): New function.
1156 * (grub_ofdisk_prepare): Use the correct block size.
1157 * (grub_ofdisk_read): Likewise.
1158 * (grub_ofdisk_write): Likewise.
1159 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
1160 New proto.
1161
cc0e476f
VS
11622013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1163
1164 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
1165
c5dbdc33
VS
11662013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
1169 on first error.
1170
3f078c0f
VS
11712013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
1174 freeing it.
1175
66a93674
VS
11762013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1177
1178 Implement USBDebug (full USB stack variant).
1179
c9f0c134
VS
11802013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1181
1182 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
1183 unless they have unexpected values.
1184
cfe1288b
VS
11852013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1186
1187 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
1188 grub_print_error.
1189
e42b9969
VS
11902013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
1193 zero-out of port structure.
1194
cf94fd62
VS
11952013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1196
1197 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
1198 of extended attributes.
1199
f81ef4b5
AB
12002013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
1201
1202 * util/grub-install.in: change misleading comment about
1203 device.map creation
1204
af18fdb4
VS
12052013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1206
1207 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
1208 when menu highlight color isn't set.
1209
08bcec50
M
12102013-01-27 C. Masloch <pushbx@38.de>
1211
1212 Improve FreeDOS direct loading support compatibility.
1213
1214 * include/grub/i386/relocator.h (grub_relocator16_state):
1215 New member ebp.
1216 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
1217 variable.
1218 (grub_relocator16_boot): Handle %ebp.
1219 * grub-core/lib/i386/relocator16.S: Likewise.
1220 * grub-core/loader/i386/pc/freedos.c:
1221 Load BPB to pass kernel which partition to load from.
1222 Check that kernel file is not too large.
1223 Set register dl to BIOS unit number as well.
1224
7782b8a6
CW
12252013-01-22 Colin Watson <cjwatson@ubuntu.com>
1226
1227 * util/grub-reboot.in (usage): Document the need for
1228 GRUB_DEFAULT=saved.
1229 * util/grub-set-default.in (usage): Likewise.
1230 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
1231
e661c180
VS
12322013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1233
1234 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
1235 than defining WORDS_BIGENDIAN manually.
1236
1c22ca9a
VS
12372013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1238
1239 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
1240 invariants.
1241
d44892fe
CW
12422013-01-21 Colin Watson <cjwatson@ubuntu.com>
1243
1244 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
1245 nested.
1246 (blit_comb: add_device_width): Likewise.
1247
5fdbaed1
CW
12482013-01-21 Colin Watson <cjwatson@ubuntu.com>
1249
1250 Remove nested functions from USB iterators.
1251
1252 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
1253 (grub_usb_controller_iterate_hook_t): Likewise.
1254 (grub_usb_iterate): Add hook_data argument.
1255 (grub_usb_controller_iterate): Likewise.
1256 (struct grub_usb_controller_dev.iterate): Likewise.
1257
1258 Update all implementations and callers.
1259
4250985a
VS
12602013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1261
1262 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
1263 margin when not needed.
1264
7d8848f3
VS
12652013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1266
bc136973 1267 Make color variables global instead of it being per-terminal.
7d8848f3
VS
1268
12692013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1270
bc136973
VS
1271 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
1272 asterisk.
7d8848f3 1273
ed12a003
CW
12742013-01-21 Colin Watson <cjwatson@ubuntu.com>
1275
1276 Fix powerpc and sparc64 build failures caused by un-nesting memory
1277 map iterators.
1278
6a0db449
CW
12792013-01-21 Colin Watson <cjwatson@ubuntu.com>
1280
1281 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
1282 parameter declarations.
1283
ccd86b21
VS
12842013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1285
1286 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
1287
822b726b
VS
12882013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1289
1290 Improve spkmomdem reliability by adding a separator between bytes.
1291
115c2cc1
CW
12922013-01-21 Colin Watson <cjwatson@ubuntu.com>
1293
1294 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
1295 an Acer registration utility with several sightings in the wild.
1296 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
1297
fc524edf
CW
12982013-01-21 Colin Watson <cjwatson@ubuntu.com>
1299
1300 Remove nested functions from filesystem directory iterators.
1301
1302 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
1303 (struct grub_fs.dir): Add hook_data argument.
1304
1305 Update all implementations and callers.
1306
53d3e4e3
CW
13072013-01-21 Colin Watson <cjwatson@ubuntu.com>
1308
1309 * docs/grub.texi (Multi-boot manual config): Fix typo for
1310 "recommended".
1311
c821711f
LL
13122013-01-20 Leif Lindholm <leif.lindholm@arm.com>
1313
1314 * util/grub-mkimage.c (main): Postpone freeing arguments.output
1315 until after its use in generate_image.
1316
6a0debbd
CW
13172013-01-20 Colin Watson <cjwatson@ubuntu.com>
1318
1319 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
1320 initrd size to addr_min, since the initrd will be allocated after
1321 this address.
1322
f41e08db
AB
13232013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
1324
1325 * conf/Makefile.common: Fix autogen rules to pass definition
1326 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
1327
77529e0f
LL
13282013-01-20 Leif Lindholm <leif.lindholm@arm.com>
1329
1330 * include/grub/elf.h: Update ARM definitions based on binutils.
1331
b879aa7b
VS
13322013-01-20 Aleš Nesrsta <starous@volny.cz>
1333
1334 Split long USB transfers into short ones.
1335
8eb8284d
AB
13362013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
1337
1338 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
1339 is interrupted by ESC.
1340
08dad2dc
VS
13412013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 * util/grub-script-check.c (main): Uniform the error message.
1344
6c724b85
CW
13452013-01-20 Colin Watson <cjwatson@ubuntu.com>
1346
1347 Remove nested functions from ELF iterators.
1348
25239370
CW
13492013-01-20 Colin Watson <cjwatson@ubuntu.com>
1350
1351 Remove nested functions from device iterators.
1352
1353 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
1354 (grub_arc_iterate_devs): Add hook_data argument.
1355 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
1356 (struct grub_ata_dev.iterate): Add hook_data argument.
1357 * include/grub/device.h (grub_device_iterate_hook_t): New type.
1358 (grub_device_iterate): Add hook_data argument.
1359 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
1360 (struct grub_disk_dev.iterate): Add hook_data argument.
1361 (grub_disk_dev_iterate): Likewise.
1362 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
1363 Likewise.
1364 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
1365 Likewise.
1366 * include/grub/partition.h (grub_partition_iterate_hook_t): New
1367 type.
1368 (struct grub_partition_map.iterate): Add hook_data argument.
1369 (grub_partition_iterate): Likewise.
1370 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
1371 (struct grub_scsi_dev.iterate): Add hook_data argument.
1372
1373 Update all callers.
1374
6c0314d6
CW
13752013-01-20 Colin Watson <cjwatson@ubuntu.com>
1376
1377 Fix typos for "developer" and "development".
1378
600dc5f1
VS
13792013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1380
1381 Add license header to spkmodem-recv.c.
1382
17334a6b
VS
13832013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
1384
1385 Rewrite spkmodem to use PIT for timing. Double the speed.
1386
7d462559
VS
13872013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1388
1389 Add new command pcidump.
1390
b78d6c32
VS
13912013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1392
1393 New terminal outputs using serial: morse and spkmodem.
1394
34f71cb8
VS
13952013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 Improve bidi handling in entry editor.
1398
4542e71b
VS
13992013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1400
1401 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
1402 argument to prevent name collision.
1403
09fd6d82
CW
14042013-01-15 Colin Watson <cjwatson@ubuntu.com>
1405
1406 Remove nested functions from script reading and parsing.
1407
1408 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
1409 getline_data argument, passed to getline.
1410 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
1411 getline_data argument, passed to grub_parser_split_cmdline.
1412 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
1413 lexerstate->getline_data to lexerstate->getline.
1414 (grub_script_lexer_init): Add getline_data argument, saved in
1415 lexerstate->getline_data.
1416 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
1417 argument, passed to grub_script_parse.
1418 * grub-core/script/script.c (grub_script_parse): Add getline_data
1419 argument, passed to grub_script_lexer_init.
1420 * include/grub/parser.h (grub_parser_split_cmdline): Update
1421 prototype. Update all callers to pass appropriate getline data.
1422 (struct grub_parser.parse_line): Likewise.
1423 (grub_rescue_parse_line): Likewise.
1424 * include/grub/reader.h (grub_reader_getline_t): Add void *
1425 argument.
1426 * include/grub/script_sh.h (struct grub_lexer_param): Add
1427 getline_data member.
1428 (grub_script_parse): Update prototype. Update all callers to pass
1429 appropriate getline data.
1430 (grub_script_lexer_init): Likewise.
1431 (grub_normal_parse_line): Likewise.
1432
1433 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
1434 data argument.
1435 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
1436 static instead of nested. Rename to ...
1437 (grub_parser_execute_getline): ... this.
1438 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
1439 data argument.
1440 * grub-core/normal/main.c (read_config_file: getline): Make static
1441 instead of nested. Rename to ...
1442 (read_config_file_getline): ... this.
1443 (grub_normal_read_line): Add unused data argument.
1444 * grub-core/script/execute.c (grub_script_execute_sourcecode:
1445 getline): Make static instead of nested. Rename to ...
1446 (grub_script_execute_sourcecode_getline): ... this.
1447 * util/grub-script-check.c (main: get_config_line): Make static
1448 instead of nested.
1449
d0d4b8a0
CW
14502013-01-15 Colin Watson <cjwatson@ubuntu.com>
1451
1452 Remove nested functions from memory map iterators.
1453
1454 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
1455 argument, passed to hook.
1456 * grub-core/kern/i386/coreboot/mmap.c
1457 (grub_linuxbios_table_iterate): Likewise.
1458 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
1459 instead of nested.
1460 (grub_machine_mmap_iterate): Add hook_data argument.
1461 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
1462 Add hook_data argument, passed to hook.
1463 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
1464 Likewise.
1465 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
1466 Likewise.
1467 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
1468 Likewise.
1469 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
1470 Likewise.
1471 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
1472 Likewise.
1473 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
1474 Likewise.
1475 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
1476 (grub_machine_mmap_iterate): Likewise.
1477 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
1478 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
1479 prototype.
1480 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
1481 Remove NESTED_FUNC_ATTR from here and from all users.
1482 (grub_mmap_iterate): Update prototype.
1483 (grub_efi_mmap_iterate): Update prototype. Update all callers to
1484 pass appropriate hook data.
1485 (grub_machine_mmap_iterate): Likewise.
1486
1487 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
1488 static instead of nested.
1489 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
1490 Rename to ...
1491 (lsmmap_hook): ... this.
1492 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
1493 Likewise.
1494 (grub_efiemu_mmap_fill: fill_hook): Likewise.
1495 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
1496 heap_init): Likewise.
1497 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
1498 Rename to ...
1499 (mmap_iterate_hook): ... this.
1500 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
1501 Likewise.
1502 * grub-core/lib/ieee1275/relocator.c
1503 (grub_relocator_firmware_get_max_events: count): Likewise.
1504 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
1505 to ...
1506 (grub_relocator_firmware_fill_events_iter): ... this.
1507 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
1508 hook): Likewise. Rename to ...
1509 (grub_relocator_alloc_chunk_align_iter): ... this.
1510 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
1511 Rename to ...
1512 (generate_e820_mmap_iter): ... this.
1513 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
1514 Rename to ...
1515 (count_hook): ... this.
1516 (grub_linux_boot: hook): Likewise. Rename to ...
1517 (grub_linux_boot_mmap_find): ... this.
1518 (grub_linux_boot: hook_fill): Likewise. Rename to ...
1519 (grub_linux_boot_mmap_fill): ... this.
1520 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
1521 hook): Likewise. Rename to ...
1522 (grub_fill_multiboot_mmap_iter): ... this.
1523 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
1524 hook): Likewise. Rename to ...
1525 (count_hook): ... this.
1526 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
1527 hook): Likewise. Rename to ...
1528 (grub_fill_multiboot_mmap_iter): ... this.
1529 * grub-core/loader/powerpc/ieee1275/linux.c
1530 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
1531 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
1532 Likewise. Rename to ...
1533 (alloc_phys_choose): ... this.
1534 (determine_phys_base: get_physbase): Likewise.
1535 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
1536 find_hook): Likewise.
1537 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
1538 (malloc_hook: count_hook): Likewise.
1539 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
1540 Likewise. Rename to ...
1541 (lower_hook): ... this.
1542 (grub_mmap_get_upper: hook): Likewise. Rename to ...
1543 (upper_hook): ... this.
1544 (grub_mmap_get_post64: hook): Likewise. Rename to ...
1545 (post64_hook): ... this.
1546 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
1547 Likewise. Rename to ...
1548 (lower_hook): ... this.
1549 (grub_mmap_get_upper: hook): Likewise. Rename to ...
1550 (upper_hook): ... this.
1551 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
1552 (grub_mmap_iterate: fill_hook): Likewise.
1553 (fill_mask): Pass addr and mask within a single struct.
1554 (grub_cmd_badram: hook): Make static instead of nested. Rename
1555 to ...
1556 (badram_iter): ... this.
1557 (grub_cmd_cutmem: hook): Likewise. Rename to ...
1558 (cutmem_iter): ... this.
1559
22099030
VS
15602013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
1563 delimit path in strings using quotes.
1564 * util/getroot.c (grub_guess_root_devices): Likewise.
1565 (grub_make_system_path_relative_to_its_root): Likewise.
1566 * util/grub-probe.c (probe): Likewise.
1567 * util/ieee1275/ofpath.c (find_obppath): Likewise.
1568 (xrealpath): Likewise.
1569
4a9950ec
VS
15702013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1571
1572 Fix compilation with older compilers.
1573
1574 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
1575 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
1576 declarations.
1577 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
1578 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
1579 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
1580 identifier with b.
1581 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
1582 * include/grub/crypto.h: Add type defines.
1583 * util/import_gcrypth.sed: Remove duplicate type defines.
1584
adcc6020
VS
15852013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1586
1587 New command list_trusted.
1588
1589 * grub-core/commands/verify.c (grub_cmd_list): New function.
1590
a4528937
CW
15912013-01-13 Colin Watson <cjwatson@ubuntu.com>
1592
1593 * util/grub-mkimage.c (generate_image): Fix "size of public key"
1594 info message.
1595
ca3a7446
CW
15962013-01-13 Colin Watson <cjwatson@ubuntu.com>
1597
1598 Remove nested functions from PCI iterators.
1599
1600 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
1601 passed to hook. Update all callers to pass appropriate hook data.
1602 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
1603 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
1604 Remove NESTED_FUNC_ATTR from here and from all users.
1605 (grub_pci_iterate): Update prototype.
1606 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
1607 instead of nested. Rename to ...
1608 (grub_cs5536_find_iter): ... this.
1609 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
1610 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
1611 Likewise.
1612 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
1613 Likewise.
1614 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
1615 Likewise.
1616 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
1617 Likewise.
1618 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
1619 * grub-core/video/radeon_fuloong2e.c
1620 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
1621 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
1622 find_card): Likewise.
1623 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
1624 Likewise.
1625
f8e98fee
VS
16262013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1627
1628 * grub-core/commands/verify.c: Mark messages for translating.
1629
055b36b6
VS
16302013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1631
1632 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
1633 fatal.
1634
f7ff879b
VS
16352013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
1638 fatal.
1639
16402013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4d7219f9
VS
1641
1642 * autogen.sh: Do not try to delete nonexistant files.
1643 * util/import_gcrypth.sed: Add some missing header removals.
1644
01323d49
CW
16452013-01-12 Colin Watson <cjwatson@ubuntu.com>
1646
1647 Clean up dangling references to grub-setup.
1648 Fixes Ubuntu bug #1082045.
1649
1650 * docs/grub.texi (Images): Refer generally to grub-install rather
1651 than directly to grub-setup.
1652 (Installing GRUB using grub-install): Remove direct reference to
1653 grub-setup.
1654 (Device map) Likewise.
1655 (Invoking grub-install): Likewise.
1656 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
1657 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
1658 * util/grub-install.in (usage): Likewise.
1659
1660 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
1661 Apply to grub-bios-setup and grub-sparc64-setup rather than to
1662 grub-setup.
1663 * configure.ac: Remove grub_setup output variable.
1664
1665 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
1666 to grub-bios-setup.
1667 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
1668 grub-setup to grub-sparc64-setup.
1669
5e3b8dcb
VS
16702013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1671
1672 Import gcrypt public-key cryptography and implement signature checking.
1673
535714bd
VS
16742013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1675
1676 * grub-core/fs/ntfs.c: Ue more appropriate types.
1677 * grub-core/fs/ntfscomp.c: Likewise.
1678 * include/grub/ntfs.h: Likewise.
1679
3e4f3566
VS
16802013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1681
1682 Support Apple FAT binaries on non-Apple platforms.
1683
1684 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
1685 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
1686 Likewise.
1687 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
1688 Apple FAT binaries.
1689
4dedb13f
VS
16902013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1691
1692 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
1693 sector devices.
1694
f8861eaf
CW
16952013-01-07 Colin Watson <cjwatson@ubuntu.com>
1696
1697 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
1698 explicitly zeroing elements.
1699 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
1700 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
1701 of elements in a structure already allocated using grub_zalloc.
1702 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
1703
86065b0a
CW
17042013-01-07 Colin Watson <cjwatson@ubuntu.com>
1705
1706 * docs/grub.texi (grub_cpu): New subsection.
1707 (grub_platform): Likewise.
1708
c6f1e92f
VS
17092013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1710
1711 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
1712
f797ec85
VS
17132013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1714
1715 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
1716 divisions.
1717
033d0b4b
VS
17182013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1719
1720 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
1721 * grub-core/fs/ntfscomp.c: Likewise.
1722 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
1723 (grub_ntfs_comp): Likewise.
1724
21d1b9a0
VS
17252013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1726
1727 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
1728 Rename to ...
1729 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
1730 of groups_per_block. All users updated.
1731
10ca8645
VS
17322013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1733
1734 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
1735 grub_error properly.
1736 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
1737 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
1738
a4c3ed4c
VS
17392013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1740
1741 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
1742 always in /boot/zfs.
1743 Reported by: Yuta Satoh.
1744
0b716507
YS
17452013-01-03 Yuta Satoh <nigoro>
1746
1747 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
1748 ${grub_probe}
1749
00c05e22
VS
17502013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1751
1752 * configure.ac: Extend -Wno-trampolines to host.
1753
dadddb76
VS
17542013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1755
1756 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
1757 entry->len = 0.
1758
54ce53ca
CW
17592013-01-03 Colin Watson <cjwatson@ubuntu.com>
1760
1761 * docs/grub.texi (Invoking grub-mkrelpath): New section.
1762 (Invoking grub-script-check): Likewise.
1763
8912efca
CW
17642013-01-03 Colin Watson <cjwatson@ubuntu.com>
1765
1766 * docs/grub.texi (Invoking grub-mount): New section.
1767 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
1768
c3fc8394
CW
17692013-01-02 Colin Watson <cjwatson@ubuntu.com>
1770
1771 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
1772 test failures, so that a failing unit test correctly causes 'make
1773 check' to fail.
1774
45d26abb
CW
17752013-01-02 Colin Watson <cjwatson@ubuntu.com>
1776
1777 Fix failing printf test.
1778
1779 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
1780 '$' in the correct order when collecting type information.
1781
971dd2c6
CW
17822013-01-02 Colin Watson <cjwatson@ubuntu.com>
1783
1784 * docs/grub.texi (configfile): Explain environment variable
1785 handling.
1786 (source): New section.
1787 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
1788
5c67ea6c
CW
17892012-12-31 Colin Watson <cjwatson@ubuntu.com>
1790
1791 Remove several trivially-unnecessary uses of nested functions.
1792
1793 * grub-core/commands/i386/pc/sendkey.c
1794 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
1795 instead of nested.
1796 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
1797 Rename to ...
1798 (legacy_file_getline): ... this.
1799 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
1800 Likewise.
1801 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
1802 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
1803 to ...
1804 (probe_dummy_iter): ... this.
1805 * grub-core/kern/i386/coreboot/mmap.c
1806 (grub_linuxbios_table_iterate: check_signature): Likewise.
1807 * grub-core/kern/parser.c (grub_parser_split_cmdline:
1808 check_varstate): Likewise. Mark inline.
1809 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
1810 an additional parameter.
1811 (find_long: fnd_long): Likewise. Pass two additional parameters.
1812 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
1813 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
1814 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
1815 Likewise. Rename to ...
1816 (grub_cmos_find_port_iter): ... this.
1817 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
1818 Rename to ...
1819 (find_rtc_iter): ... this.
1820
1821 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
1822 function directly into the function body, since it is only called
1823 once.
1824
33a68ac6
CW
18252012-12-30 Colin Watson <cjwatson@ubuntu.com>
1826
1827 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
1828 __attribute__ ((unused)).
1829 * grub-core/video/bochs.c (find_card): Likewise.
1830 * grub-core/video/cirrus.c (find_card): Likewise.
1831 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
1832 * grub-core/video/sis315pro.c (find_card): Likewise.
1833 * grub-core/video/sm712.c (find_card): Likewise.
1834
608b647a
CW
18352012-12-28 Colin Watson <cjwatson@ubuntu.com>
1836
1837 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
1838 Fixes Savannah bug #37821.
1839
fd49ceb3
CW
18402012-12-28 Colin Watson <cjwatson@ubuntu.com>
1841
1842 Apply program name transformations at build-time rather than at
1843 run-time. Fixes Debian bug #696465.
1844
1845 * acinclude.m4 (grub_TRANSFORM): New macro.
1846 * configure.ac: Create output variables with transformed names for
1847 most programs.
1848 * util/bash-completion.d/grub-completion.bash.in: Use
1849 pre-transformed variables for program names.
1850 * util/grub-install.in: Likewise.
1851 * util/grub-kbdcomp.in: Likewise.
1852 * util/grub-mkconfig.in: Likewise.
1853 * util/grub-mkconfig_lib.in: Likewise.
1854 * util/grub-mknetdir.in: Likewise.
1855 * util/grub-mkrescue.in: Likewise.
1856 * util/grub-mkstandalone.in: Likewise.
1857 * util/grub-reboot.in: Likewise.
1858 * util/grub-set-default.in: Likewise.
1859 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1860 * tests/util/grub-shell-tester.in: Remove unused assignment.
1861 * tests/util/grub-shell.in: Likewise.
1862 * util/grub.d/00_header.in: Likewise.
1863
7024b3c0
CW
18642012-12-28 Colin Watson <cjwatson@ubuntu.com>
1865
1866 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
1867
1868 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
1869 HAVE_RAW_DECL_GETS.
1870 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
1871
e3501b13
VS
18722012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
1873
1874 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
1875 Reported by: Eriks Latosheks <foresterlv>.
1876
b40c88a9
VS
18772012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 * docs/grub.texi (Network): Update instructions on generating netboot
1880 image.
1881
ce96d01c
VS
18822012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
1885 around device name if necessarry.
1886
0f596201
PFS
18872012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1888
1889 * util/grub-install.in: Follow the symbolic link parameter added
1890 to the file command.
1891
600d5bdb
AB
18922012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
1893
1894 * util/grub-install.in: Remove stale TODO.
1895
64ebd2f4
PFS
18962012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1897
1898 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
1899 dynamic allocation for the bootpath buffer.
1900
74b2fe3e
DTB
19012012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
1902
1903 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
1904 window too small.
1905
969b804f
VS
19062012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1907
1908 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
1909 argument rather than font name. All users updated.
1910 (grub_gfxterm_set_window): Likewise.
1911
b9f5ebd6
VT
19122012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
1913
1914 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
1915 from working.
1916
258f43b7
VS
19172012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1918
1919 * util/getroot.c (convert_system_partition_to_system_disk): Support
1920 nbd disks.
1921
cc1ce5f9
VS
19222012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
1925 infinite loop on corrupted FS.
1926
e77a16ca
VS
19272012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1928
1929 Fix big-endian mtime.
1930
1931 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
1932 together sec and usec.
1933 (grub_ufs_dir): Use correct byteswapping for UFS time.
1934
d9c48c7b
VS
19352012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 Support big-endian UFS1.
1938
1939 * Makefile.util.def (libgrubmods): Add ufs_be.c
1940 * grub-core/Makefile.core.def (ufs1_be): New module.
1941 * grub-core/fs/ufs_be.c: New file.
1942 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
1943 the file.
1944
2f9f40ba
LL
19452012-11-28 Leif Lindholm <leif.lindholm@arm.com>
1946
1947 * include/grub/types.h: Fix functionality unaffecting typo in
1948 GRUB_TARGET_WORDSIZE conditional macro.
1949
48ff0889
PFS
19502012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1951
1952 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
1953
03711240
GS
19542012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
1955
1956 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
1957 that /netbsd appears first (when it exists).
1958
a31b11bd
CJ
19592012-10-12 Christoph Junghans <ottxor@gentoo.org>
1960
1961 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
1962 Fixes Savannah bug #37558.
1963
e8a5d5d4
CW
19642012-10-12 Colin Watson <cjwatson@ubuntu.com>
1965
1966 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
1967 description of extract_entries_configfile.
1968
19692012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
1970
1971 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
1972 preferred_address.
1973 (grub_cmd_linux): Likewise.
1974 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
1975 preferred_lifetime. Update all users.
1976
288c757d
CW
19772012-09-26 Colin Watson <cjwatson@ubuntu.com>
1978
1979 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
1980 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
1981
0d35da3f
CW
19822012-09-26 Colin Watson <cjwatson@ubuntu.com>
1983
1984 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
1985 errors from grub-probe to /dev/null, not stdout.
1986
b78c3127
VS
19872012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
1988
1989 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
1990 sector 1.
1991
473959f0
CW
19922012-09-24 Colin Watson <cjwatson@ubuntu.com>
1993
1994 * util/grub-install.in: Make the error message if $source_dir
1995 doesn't exist more useful.
1996
794c8c33
CW
19972012-09-22 Colin Watson <cjwatson@ubuntu.com>
1998
1999 Fix grub-emu build on FreeBSD.
2000
2001 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
2002 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
2003 headers on Linux.
2004 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
2005 implementation is currently Linux-specific.
2006 * util/getroot.c (exec_pipe): Define only on Linux or when either
2007 libzfs or libnvpair is unavailable.
2008 (find_root_devices_from_poolname): Remove unused path variable.
2009
86d08fdb
CW
20102012-09-19 Colin Watson <cjwatson@ubuntu.com>
2011
2012 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
2013 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
2014 should fit before end == 63.
2015
735abf54
CW
20162012-09-19 Colin Watson <cjwatson@ubuntu.com>
2017
2018 * util/grub-setup.c (write_rootdev): Remove unused core_img
2019 parameter. Update all callers.
2020 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
2021 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
2022 GRUB_SETUP_BIOS.
2023
140acd3c
VS
20242012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 * util/grub-mkconfig_lib.in (grub_tab): New variable.
2027 (grub_add_tab): New function.
2028 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
2029 * util/grub.d/10_illumos.in: Likewise.
2030 * util/grub.d/10_kfreebsd.in: Likewise.
2031 * util/grub.d/10_linux.in: Likewise.
2032 * util/grub.d/10_netbsd.in: Likewise.
2033 * util/grub.d/10_windows.in: Likewise.
2034 * util/grub.d/10_xnu.in: Likewise.
2035 * util/grub.d/20_linux_xen.in: Likewise.
2036 * util/grub.d/30_os-prober.in: Likewise.
2037
7ddffdad
VS
20382012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2041 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
2042 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
2043 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
2044 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
2045 ieee1275-nocursor.
2046 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
2047 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
2048
4e092454
VS
20492012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
2050
2051 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
2052 le-conversion.
2053 Reported by: BURETTE, Bernard.
2054
735abf54 20552012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
2056
2057 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
2058 from comment.
2059
dfd39dbd
CW
20602012-09-14 Colin Watson <cjwatson@ubuntu.com>
2061
2062 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
2063 IEEE1275 machines. Fixes powerpc-emu compilation.
2064 * include/grub/terminfo.h: Likewise.
2065
3bfa763c
VS
20662012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2067
2068 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
2069 a const pointer.
2070 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
2071 const pointer.
2072 (efiemu_set_variable): Make vendor_guid a const pointer.
2073
250e475b
VS
20742012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
2075
2076 Don't require grub-mkconfig_lib to generate manpages for programs.
2077
2078 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
2079 dependencies, don't add grub-mkconfig_lib.
2080 (program): Pass empty adddeps.
2081 (script): Pass grub-mkconfig_lib as adddeps.
2082
592fd0e4
VS
20832012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
2084
2085 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
2086 * util/getroot.c (grub_find_device): Likewise.
2087 (get_mdadm_uuid): Likewise.
2088 (grub_util_is_imsm): Likewise.
2089 (grub_util_pull_device): Likewise.
2090 * util/grub-probe.c (probe): Likewise.
2091
801a3027
BG
20922012-09-10 Benoit Gschwind <gschwind>
2093
2094 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
2095 (devs): Add devpath_8.
2096
c5052c81
PJ
20972012-09-08 Peter Jones <pjones@redhat.com>
2098
2099 * grub-core/Makefile.core.def (efifwsetup): New module.
2100 * grub-core/commands/efi/efifwsetup.c: New file.
2101 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
2102 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
2103 New define.
2104 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
2105
8e832f71
JS
21062012-09-05 Jiri Slaby <jslaby@suse.cz>
2107
2108 * configure.ac: Add SuSe path.
2109
f0f55752
CW
21102012-09-05 Colin Watson <cjwatson@ubuntu.com>
2111
2112 * NEWS: Fix typo.
2113
ecadc4c2
CW
21142012-09-05 Colin Watson <cjwatson@ubuntu.com>
2115
2116 * util/import_gcry.py: Sort cipher_files, to make build system
2117 generation more deterministic.
2118
64498f25
VS
21192012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
2122 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
2123 (grub_set_datetime): Likewise.
2124
9cc836a2
VS
21252012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
2128 warnings.
2129
bcfcea01
VS
21302012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2131
2132 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
2133
a4099485
VS
21342012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
2135
2136 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
2137
265c162a
CW
21382012-09-04 Colin Watson <cjwatson@ubuntu.com>
2139
2140 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
2141 required for checkouts from bzr, but it may be useful for users or
2142 distributors wishing to update translations against a tarball
2143 distribution, and it can be helpful for the tarball to be a superset
2144 of what's in bzr.
2145
3d171e95
CW
21462012-09-04 Colin Watson <cjwatson@ubuntu.com>
2147
2148 * Makefile.am (EXTRA_DIST): Add
2149 grub-core/tests/boot/linux.init-mips.S,
2150 grub-core/tests/boot/linux.init-ppc.S, and
2151 grub-core/tests/boot/linux-ppc.cfg.
2152
f2c2503e
CW
21532012-09-04 Colin Watson <cjwatson@ubuntu.com>
2154
2155 * grub-core/mmap/mips/loongson: Remove empty directory.
2156
21572012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
2158
2159 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
2160 gone.
2161
ab2163d5
CW
21622012-09-04 Colin Watson <cjwatson@ubuntu.com>
2163
2164 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
2165 grub-sparc64-setup.
2166
ce938140
GS
21672012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
2168
2169 * configure.ac: Strengthen the test for working -nostdinc -isystem.
2170
529f58a5
GS
21712012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
2172
2173 * po/POTFILES.in: Regenerated.
2174
16cf79e9
GS
21752012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
2176
2177 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
2178 (NetBSD): New subsection.
2179
39b27f1e 21802012-07-22 Ales Nesrsta <starous@volny.cz>
2181
2182 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
2183 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
2184
a885261b
VS
21852012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
2188 * util/grub.d/10_hurd.in: Add missing quoting.
2189 * util/grub.d/10_illumos.in: Likewise.
2190 * util/grub.d/10_kfreebsd.in: Likewise.
2191 * util/grub.d/10_linux.in: Likewise.
2192 * util/grub.d/20_linux_xen.in: Likewise.
2193
7bd29c01
VS
21942012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 New command `lsefi'.
2197
2198 * grub-core/Makefile.core.def (lsefi): New module.
2199 * grub-core/commands/efi/lsefi.c: New file.
2200 * include/grub/efi/api.h: Add more GUIDs.
2201
ac625d8f
VS
22022012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
2205 (grub_bsd_elf32_hook): Likewise.
2206 (grub_bsd_elf64_size_hook): Likewise.
2207 (grub_bsd_elf64_hook): Likewise.
2208 (grub_bsd_load_elf): Likewise.
2209
e73bb801
VS
22102012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2211
2212 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
2213 if hash function is unavailable.
2214 (dec_stream_header): Likewise.
2215
e81db8b5
VS
22162012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
2219 filter state.
2220
d187a1c3
VS
22212012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 Fix coreboot compilation.
2224
2225 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
2226 (grub_vga_text_init_real): ... this.
2227 (grub_vga_text_fini): Rename to ...
2228 (grub_vga_text_fini_real): ... this.
2229
91a05f64
VS
22302012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
2233
6af96df7
VS
22342012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2235
2236 * grub-core/lib/legacy_parse.c: Support clear and testload.
2237
4d569e12
VS
22382012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
2241
073b57bb
VS
22422012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2243
2244 * grub-core/fs/ext2.c: Experimental support for 64-bit.
2245
a706f4cc
VS
22462012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2247
2248 * grub-core/net/tftp.c (ack): Fix endianness problem.
2249 (tftp_receive): Likewise.
2250 Reported by: Michael Davidsaver.
2251
e7850aa9
VS
22522012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 * gentpl.py: Make mans depend on grub-mkconfig_lib.
2255
22562012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
2259 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
2260 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
2261
35692881
VS
22622012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
2265 efi_mmap_size.
2266 Reported by: Stuart Hayes.
2267
c35fc5bd
VS
22682012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
2271
2272 * grub-core/Makefile.core.def (mda_text): New module.
2273 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
2274 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
2275 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
2276 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
2277 here.
2278 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
2279 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
2280 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
2281 here.
2282 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
2283 to ..
2284 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
2285 ... here
2286 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
2287 here.
2288 * grub-core/term/i386/vga_common.c: Removed.
2289 * include/grub/i386/vga_common.h: Likewise.
2290 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
2291 (grub_vga_cr_bw_read): Likewise.
2292 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
2293 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
2294 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
2295 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
2296 grub_vga_cr_read/grub_vga_cr_write.
2297 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
2298
5f91f701
VS
22992012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2300
2301 * configure.ac: Bump version to 2.00.
2302 * grub-core/normal/main.c (features): Add feature_200_final.
2303
0c4f85f6
VS
23042012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
23052012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
2306
2307 * NEWS: Fix unclarity and language mistakes.
2308
f923ad22
VS
23092012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
2312 additional size to 3 pages.
2313 Reported by: Stuart Hayes.
2314
d22029ba
VS
23152012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2316
2317 * NEWS: Add 2.00 entry.
2318
58eee08f
VS
23192012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2320
2321 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
2322 put explicit "/" for empty path.
2323 (wildcard_expand): Improve dprintf.
2324
c59bdff7
VS
23252012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2326
2327 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
2328 it's equal to currnode. This can happen with "" symlink.
2329
5e6a440a
YB
23302012-06-27 Yves Blusseau <blusseau@zetam.org>
2331
2332 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
2333 echo shell command by printf command.
2334
73a68bcb
VS
23352012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
2338 the value returned by firmware is the maximal position, not diumension.
2339 (grub_terminfo_output_state): Use a more sane fallback.
2340
392a603b
VS
23412012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
2344
42d0867f
VS
23452012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2346
2347 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
2348 frequency to 150 MHz.
2349
489509f4
VS
23502012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2351
2352 Apple fixes.
2353
2354 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
2355 __APPLE_
2356 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
2357 definition.
2358 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
2359
9f3fc883
VS
23602012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2361
2362 Handle slash in HFS label.
2363
2364 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
2365 (grub_hfs_dir): Tanslate slash.
2366 (grub_hfs_label): Don't translate slash.
2367
54853fd7
VS
23682012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2369
2370 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
2371 network protocol listing since it introduces problematic dependency on
2372 net module.
2373
4dc02ddf
VS
23742012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2375
2376 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
2377
c50c867d
VS
23782012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2379
2380 Init video early on yeeloong to avoid being rebooted by watchdog.
2381
2382 * grub-core/Makefile.am (gensm712): New target.
2383 (sm712_start.S): Likewise.
2384 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
2385 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
2386 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
2387 description.
2388 * include/grub/vga.h: Move registry definitions to...
2389 * include/grub/vgaregs.h: ... here.
2390
5f92c8a1
VS
23912012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
2394 signedness.
2395
e9e6f111
VS
23962012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2397
2398 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
2399 platforms with firmware disk drivers in the core.
2400
754ad9eb
VS
24012012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
2404 informative verbose message.
2405 (read_lv): Handle 64-bit segment size.
2406
315654c2
VS
24072012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
2410
fb022c79
VS
24112012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2412
2413 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
2414 character but still remove trainling spaces.
2415 (grub_fat_label): Ignore archive flag.
2416
8645f72c
VS
24172012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2418
2419 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
2420 cast between linux_kernel_header and linux_kernel_params.
2421
36498496
VS
24222012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2423
2424 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
2425 type for size.
2426 (grub_raid6_recover_func_t): Likewise.
2427 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
2428 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
2429
0b5ea6b8
VS
24302012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2431
2432 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
2433
650cfcfe
GS
24342012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
2435
2436 Fix overflow.
2437
2438 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
2439 [__NetBSD__]: Add explicit cast before bitshift.
2440
8a4d6a44
VS
24412012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 * configure.ac: Bump to 2.00~rc1.
2444
2fb97ed3
VS
24452012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2446
2447 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
2448 half of $a0.
2449
1fa097dc
VS
24502012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
24512012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
2452
2453 * docs/grub.texi: Fix search syntax.
2454 (Multi-boot manual config): Put msdos rather than GPT example.
2455 Grammar corrections.
2456
c890ba78
VS
24572012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
2460
0f92dca7
VS
24612012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2462
2463 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
2464
3988c4a0
VS
24652012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
2468 message on double free. Put the value of magic in case of mismatch.
2469
9e86d4c5
VS
24702012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2471
2472 Speed-up video on yeeloong.
2473
2474 * grub-core/video/sm712.c (framebuffer): Remove render_target and
2475 add cached_ptr.
2476 (grub_video_sm712_video_fini): Unmap cached_ptr.
2477 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
2478 (grub_video_sm712_set_active_render_target): Removed.
2479 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
2480 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
2481 sync caches.
2482
ed24c312
VS
24832012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2484
2485 Avoid flushing the same line multiple times on loongson.
2486
2487 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
2488 Step in 32 bytes and not 1 byte.
2489 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
2490 Likewise.
2491
d1718e7d
VS
24922012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2493
2494 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
2495 subvolumes.
2496
982f1909
VS
24972012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2498
2499 Implement flow control for http.
2500
2501 * grub-core/net/http.c (parse_line): Handle response 206.
2502 (http_receive): Stall if too many packets are in the queue.
2503 (http_establish): Fix range header.
2504 (http_seek): Fix double free.
2505 (http_close): Likewise.
2506 (http_packets_pulled): New function.
2507 (grub_http_protocol): Set http_seek
2508 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
2509 (ack_real): Set window depending on i_stall.
2510 (grub_net_send_tcp_packet): Likewise.
2511 (grub_net_tcp_stall): New function.
2512 (grub_net_tcp_unstall): Likewise.
2513 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
2514 (grub_net_tcp_unstall): Likewise.
2515
bd407d6e
VS
25162012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 * grub-core/net/tftp.c: Decrease stall to 50 packets.
2519
c7564b8e
VS
25202012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2521
2522 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
2523
a3706162
VS
25242012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 * tests/util/grub-shell.in: Fix a typo.
2527
b27069e0
VS
25282012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 Implement flow control for tftp.
2531
2532 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
2533 packets but stop only if stop condition is satisfied.
2534 (grub_net_fs_read_real): Call packets_pulled after real read. Use
2535 `stall' instead of `eof' as stop condition.
2536 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
2537 (http_err): Likewise.
2538 * grub-core/net/tftp.c (ack): Replace the first argument with data
2539 instead of socket.
2540 (tftp_receive): Stall if too many packets are in wait queue.
2541 (tftp_packets_pulled): New function.
2542 (grub_tftp_protocol): Set packets_pulled.
2543 * include/grub/net.h (grub_net_packets): New field count.
2544 (grub_net_put_packet): Increment count.
2545 (grub_net_remove_packet): Likewise.
2546 (grub_net_app_protocol): New field `packets_pulled'.
2547 (grub_net): New field `stall'.
2548
6b9cfac6
VS
25492012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
2550
2551 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
2552 sync part to handle them.
2553
f35abd81
VS
25542012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
2557 * grub-core/net/drivers/ieee1275/ofnet.c
2558 (grub_ieee1275_net_config_real): Likewise.
2559
0e7ec820
VS
25602012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
2563 the direct route for server/gateway.
2564
9d611a31
VS
25652012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
2568 IP address to server name since we may not hame the DNS.
2569
418f45ab
VS
25702012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
2573 freeing random buffer on failure.
2574 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
2575
44a0efc1
VS
25762012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2577
2578 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
2579
531e2241
VS
25802012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2581
2582 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
2583 reserved bytes.
2584 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
2585 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
2586 Handle malloc error correctly.
2587
cde393c9
VS
25882012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2589
2590 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
2591 blocks.
2592
538478d0
VS
25932012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
2594
2595 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
2596 increment.
2597
9b55efe0
VS
25982012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
2601 none is explicitly specified.
2602
9eb832c3
VS
26032012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
2606 while reallocating.
2607
d6b7c7c9
VS
26082012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 Respect netmask from bootp/dhcp.
2611
2612 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
2613 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
2614 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
2615 into ...
2616 (grub_net_add_ipv4_local): ... this.
2617 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
2618 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
2619 (grub_net_add_ipv4_local): New proto.
2620
67caf9eb
VS
26212012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
2624 determining EFI memory map size.
2625
43657558
VS
26262012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
2629
eb6d0dd3
VS
26302012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2631
2632 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
2633 when looking for partition separator.
2634
31230544
VS
26352012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2636
2637 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2638 Escape commas.
2639
918a2517
VS
26402012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2641
2642 Restructure FAT driver to avoid hook in label reading as it hits a
2643 GCC bug.
2644
2645 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
2646 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
2647 (grub_fat_iterate_dir): Split into ...
2648 (grub_fat_iterate_init): ... this, ...
2649 (grub_fat_iterate_fini): ... this, ...
2650 (grub_fat_iterate_dir_next): ... and this. All users updated.
2651
9f1d654e
VS
26522012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
2653
2654 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
2655 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
2656 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
2657 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
2658 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
2659 New fields last_key and last_key_time.
2660 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
2661 extended key-esc into extended key-extended key.
2662
52f0f643
VS
26632012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2664
2665 Avoid unnecessary memcpy of whole video buffer.
2666
2667 * grub-core/video/fb/video_fb.c (dirty): New struct.
2668 (framebuffer): Add members current_dirty and previous_dirty.
2669 (dirty): New function.
2670 (grub_video_fb_fill_rect): Update dirty.
2671 (common_blitter): Likewise.
2672 (grub_video_fb_scroll): Likewise.
2673 (doublebuf_blit_update_screen): Copy only dirty part.
2674 (doublebuf_pageflipping_update_screen): Likewise.
2675 (grub_video_fb_doublebuf_blit_init): Init dirty.
2676 (doublebuf_pageflipping_init): Likewise.
2677 (grub_video_fb_setup): Likewise.
2678
e169a180
VS
26792012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2680
2681 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
2682 poll rate.
2683
48556879
VS
26842012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2685
2686 Fix wildcard regexp dot and other special characters handling.
2687 Reported by: Robert Mabee.
2688
2689 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
2690 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
2691 (split_path): Trigger expansion on '?'.
2692 (unescape): New function.
2693 (wildcard_expand): Unescape parts copied without globbing.
2694 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
2695 (grub_script_arglist_to_argv): Don't unescape expansions.
2696
0494408e
VS
26972012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2698
2699 * include/grub/net.h (grub_net_card): New member txbufsize.
2700 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
2701 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
2702 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
2703 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
2704 txbufsize.
2705 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
2706 compatible property to check for macs. Set
2707 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
2708 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
2709 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
2710 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
2711 (send_card_buffer): Use txbuf.
2712 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
2713 nested function out of the parent while on it.
2714
cc35fe8f
VS
27152012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2716
2717 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
2718 presence check.
2719 (grub_ieee1275_net_config_real): Fix config pointer.
2720
970a0a09
VS
27212012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2722
2723 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
2724 filename parsing to non-block devices.
2725
3e19bf87
VS
27262012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
2727
2728 * grub-core/kern/device.c (grub_device_open): Remove dead code.
2729
c62d1a0c
VS
27302012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2731
2732 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
2733 All users updated.
2734
ef76bec3
VS
27352012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
2738 UUID search command even if hints probing failed.
2739
27402012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
2741
2742 * po/POTFILES.in: Regenerated.
2743
70aaf305
VS
27442012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
2745
2746 Speed-up video on fuloong.
2747
2748 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
2749 New function.
2750 (grub_pci_device_unmap_range): Handle non-cached address.
2751 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
2752 add direct_ptr.
2753 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
2754 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
2755 (grub_video_sis315pro_set_active_render_target): Removed.
2756 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
2757 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
2758 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
2759 sync caches.
2760 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
2761 New proto.
2762
10400f0b
VS
27632012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
2764
2765 * docs/grub.texi (Multi-boot manual config): New section.
2766
ba67e2c6
VS
27672012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2768
2769 Avoid slow read-back from VRAM.
2770
2771 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
2772 Move from here ...
2773 * grub-core/video/fb/video_fb.c
2774 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
2775 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
2776 (front_target): Remove front_target. Add pages.
2777 (grub_video_fb_init): Skip setting front_pages.
2778 (grub_video_fb_fini): Likewise.
2779 (doublebuf_blit_update_screen): Use pages.
2780 (grub_video_fb_doublebuf_blit_init): Likewise.
2781 (doublebuf_pageflipping_init): Allocate offscreen buffer.
2782 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
2783 (grub_video_fb_setup): Prefer doublebuffing.
2784
377c98cb
VS
27852012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2786
2787 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
2788 gzio.
2789
eac49cff
VS
27902012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2791
2792 Add loongson tests.
2793
2794 * tests/util/grub-shell.in: Handle loongson.
2795 * tests/partmap_test.in: Add loongson to the list of platform using ATA
2796 drivers.
2797 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
2798 Reboot instead of shutdown if REBOOT is defined.
2799
0321415e
VS
28002012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2801
2802 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
2803 sized ports since unlike on real hardware qemu supports only 32-bit
2804 regs.
2805
3f2bdd8f
VS
28062012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
2807
2808 * Makefile.util.def (grub-mkrescue): Enable on loongson.
2809 * util/grub-mkrescue.in: Handle loongson.
2810
29a049c9
VS
28112012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
2814 Set is_part appropriately.
2815 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
2816 names. Canonicalize partition without full disk.
2817
4abde346
VS
28182012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2819
2820 Revert usb-quiesce since it's wrong.
2821
2822 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
2823 (grub_ofdisk_init): Don't do quiesce.
2824
61f1d93b
VS
28252012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2826
2827 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
2828 PowerMac workaround to Xserves as well.
2829 Information supplied by: Benjamin Herrenschmidt.
2830
a09eb541
VS
28312012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2832
2833 Don't assume that beginning address is also the entry point on ppc.
2834
2835 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
2836 (grub_linux_boot): Use linux_entry.
2837 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
2838 (grub_linux_load64): Likewise.
2839
505b3c9b
VS
28402012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2841
2842 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
2843
cbe0b4ef
VS
28442012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2845
2846 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
2847 needlessly lose the console.
2848
3006e981
VS
28492012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
2850
2851 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
2852 space.
2853
4e5a96b0
VS
28542012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
2855
7da036bb
VS
2856 Remove non-functional EFI grub_get_rtc. Put a better fatal message
2857 than current grub_get_rtc() not implemented when booted with
2858 coreboot without TSC.
2859
2860 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
2861 Add machine/time.h to kernel headers on loongson.
2862 * grub-core/Makefile.core.def (kernel): Remove
2863 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
2864 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
2865 (grub_get_rtc): Likewise.
2866 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
2867 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
2868 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
2869 * grub-core/kern/i386/tsc.c (grub_tsc_init)
2870 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
2871 rather than installing known non-working time source.
2872 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
2873 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
2874 * include/grub/time.h: Don't include machine/time.h.
2875 * include/grub/efi/time.h: Removed.
2876 * include/grub/i386/efi/time.h: Likewise.
2877 * include/grub/i386/ieee1275/time.h: Likewise.
2878 * include/grub/powerpc/ieee1275/time.h: Likewise.
2879 * include/grub/sparc64/ieee1275/time.h: Likewise.
2880 * include/grub/x86_64/efi/time.h: Likewise.
2881
28822012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
2883
2884 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
2885
2886 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
2887 value.
2888 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
2889 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
2890 with dotless variants when any combining above is present.
2891
5561c22d
VS
28922012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2893
2894 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
2895 text and not binary.
2896
96f7e60e
VS
28972012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2898
2899 Stop polling as soon as we have the packet we were waiting for.
2900
2901 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
2902 All users updated.
2903 * grub-core/net/arp.c (have_pending): New var.
2904 (pending_req): Likewise.
2905 (grub_net_arp_send_request): Fill pending_req and use have_pending as
2906 stop indicator.
2907 (grub_net_arp_receive): Set have_pending.
2908 * grub-core/net/dns.c (recv_data): New field stop.
2909 (recv_hook): Set stop.
2910 (grub_net_dns_lookup): Init stop and use as stop condition.
2911 * grub-core/net/http.c (http_establish): Use headers_recv as stop
2912 condition.
2913 * grub-core/net/net.c (grub_net_poll_cards): New argument
2914 stop_condition. Stop when it goes true.
2915 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
2916 indicator.
2917 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
2918
3e747239
VS
29192012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 Keep TX and RX buffers on EFI rather than always allocate new ones.
2922
2923 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
2924 card. All users updated.
2925 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
2926 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
2927 (get_card_packet): Likewise.
2928 (grub_efinet_findcards): Init new fields.
2929
f695e99a
VS
29302012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2931
2932 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
2933 compilation error on sparc64.
2934
9e5e66d1
VS
29352012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 Use ITC on IA64 rather than broken routine based on daytime.
2938
2939 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
2940 ia64.
2941 (grub_get_rtc) [__ia64__]: Likewise.
2942 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
2943 (get_itc): New function.
2944 (grub_rtc_get_time_ms): Likewise.
2945 (grub_machine_init): Calibrate ITC.
2946 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
2947 Keep only on non-ia64. Don't export since it's broken and used only
2948 if TSC is unavailable.
2949
a1767404
VS
29502012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
2951
2952 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
2953 even if it's used.
2954 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
2955 Skip if parent is unused.
2956
34b2bced
VS
29572012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2958
2959 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
2960
5e619f40
VS
29612012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 Fix wildcard escaping.
2964
2965 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
2966 * grub-core/script/execute.c (wildcard_escape): .. to here.
2967 Don't escape dot.
2968 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
2969 * grub-core/script/execute.c (wildcard_unescape): .. to here.
2970 Don't escape dot.
2971 * grub-core/script/execute.c (gettext_append): Always escape.
2972 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
2973 * grub-core/script/yylex.l: Don't cut away the escaping.
2974 * tests/grub_script_echo1.in: Add tests with wildcard.
2975
c8ca5855
VS
29762012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2977
2978 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
2979 (ftdi_hw_configure): Likewise.
2980 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
2981 define.
2982 (real_config): Handle 1.5 stop bits.
2983 (pl2303_hw_configure): Likewise.
2984
7183452c
VS
29852012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2986
2987 * Makefile.am: Add ppc linux bootcheck.
2988 * grub-core/tests/boot/linux-ppc.cfg: New file.
2989 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
2990
f57c84cd
VS
29912012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2992
2993 * tests/grub_script_expansion.in: Skip network protocols.
2994
ecfc6207
VS
29952012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
2996
2997 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
2998
8d03d284
VS
29992012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3000
3001 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
3002 --rom-directory.
3003 Add -graft-points.
3004
61c42af0
VS
30052012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3006
3007 ESCC serial driver for conducting sautomated tests in qemu.
3008 Not tested on real hardware.
3009
3010 * include/grub/serial.h (grub_serial_port): New field escc_desc.
3011 * grub-core/term/ieee1275/escc.c: New file.
3012 * grub-core/Makefile.core.def (escc): New module.
3013
08fd1291
VS
30142012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3015
3016 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
3017 invalid on error.
3018 (serial_hw_fetch): Don't read invalid handle.
3019 (serial_hw_put): Don't write into invalid handle.
3020
08dafeea
VS
30212012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3022
3023 Add a 1.5 stop bits value.
3024
3025 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
3026 * include/grub/serial.h (grub_serial_stop_bits_t): Add
3027 GRUB_SERIAL_STOP_BITS_1_5.
3028
9068fdcf
VS
30292012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
3032 value rather than let it uninited.
3033
f4d5820f
VS
30342012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 * grub-core/commands/wildcard.c (+check_file): New function.
3037 (wildcard_expand): Don't expand to non-existing files, expand with
3038 suffix and not attempt to expand if not needed.
3039
3d2de9a7
VS
30402012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3041
3042 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
3043 out of partitions containing other partitions.
3044
c5c81ff9
VS
30452012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3046
3047 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
3048 on some qemu versions with GRUB.
3049
3050 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
3051 define.
3052 (grub_openbsd_bootarg_pcibios): New struct.
3053 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
3054 Add PCIINFO.
3055
08a14e0b
VS
30562012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3057
3058 * tests/util/grub-shell.in: Trim firmware output on EFI.
3059
cede3ca3
VS
30602012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3061
3062 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
3063 and coreboot since it's already in kernel.
3064
558d3a60
VS
30652012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3066
3067 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
3068 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3069 to here. New return value start. All users updated.
3070 Recursively scan linear mappings.
3071 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
3072 proto.
3073 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
3074 Use grub_util_get_dm_node_linear_info.
3075 * util/getroot.c (convert_system_partition_to_system_disk): Use
3076 grub_util_info rather than grub_dprintf.
3077 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
3078
60fde14d
VS
30792012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3080
3081 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
3082
3083 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
3084 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
3085
24bd8838
VS
30862012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 * include/grub/types.h (grub_set_unaligned64): New function.
3089 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
3090 (setup): Likewise.
3091
7bc06a49
VS
30922012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
3095 (grub_ofdisk_fini): Quiesce USB devices.
3096
49cea015
VS
30972012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3098
3099 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
3100 caches.
3101
8dcbe03b
VS
31022012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3103
3104 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
3105
5b258735
VS
31062012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3107
3108 * grub-core/disk/pata.c (grub_pata_pio_read)
3109 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
3110 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
3111
37ba07eb
VS
31122012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 Extend automated tests to qemu-mips.
3115
3116 * Makefile.am: reorganise tests and enable qemu-mips.
3117 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
3118 * grub-core/tests/boot/linux.init-mips.S: New file.
3119 * tests/partmap_test.in: Handle ata0 disks.
3120 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
3121 non-pc i386.
3122
070038f8
VS
31232012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
3126 ia64.
3127 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
3128 quotes while on it.
3129
004be2cd
VS
31302012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3131
3132 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
3133 (grub_halt): Likewise.
3134 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
3135
b1622487
VS
31362012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 * grub-core/term/serial.c (grub_serial_register)
3139 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
3140 the behaviour in line with x86 platforms.
3141
b7b4ab33
VS
31422012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3143
3144 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
3145 (grub_ata_strncpy): Likewise.
3146 (grub_ata_identify): Add missing byteswaps.
3147
5e3535ae
VS
31482012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
3151 byte-swap.
3152 (screen_read_char): Likewise.
3153 (grub_vga_text_cls): Likewise.
3154
c21b17e6
VS
31552012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3156
3157 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
3158 filenames.
3159 (make_file_path): Likewise.
3160
bf293dec
VS
31612012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
3162
3163 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
3164 machines.
3165 Tested by: Paulo Flabiano Smorigo.
3166 Crucial information about API supplied by: Coleen <Last name unknown>.
3167 Reviewed by: Coleen <Last name unknown>.
3168
81f6ef0e
VS
31692012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3170
3171 * util/grub-mkimage.c: Disable -Wcast-align.
3172
7284143a
VS
31732012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3174
3175 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
3176 as they are fatal.
3177
b99f3e00
VS
31782012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3179
3180 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
3181
944f752d
VS
31822012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3183
3184 * util/grub-probe.c (escape_of_path): Fix double free.
3185
6cce6f38
VS
31862012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 * grub-core/commands/videoinfo.c (hook): Show pitch.
3189
1e1eb50e
VS
31902012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3191
3192 * util/grub.d/20_linux_xen.in: Skip xen-syms.
3193
1c715b5a
VS
31942012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
3197 (probe): Add ieee1275 to OFW devices.
3198
007ae52d
VS
31992012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
3202
4557a36d
VS
32032012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3204
3205 Handle IBM OFW path.
3206
3207 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
3208 available.
3209 (of_path_of_scsi): Handle vdevice.
3210
efbeefe9
VS
32112012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
3212
3213 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
3214 Allocate in multiples of 16 to avoid adding a few bytes free region the
3215 windows bugs upon.
3216
15a940bb
VS
32172012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
3218
3219 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
3220 Allocate in multiples of 16 to avoid adding a few bytes free region the
3221 windows bugs upon.
3222 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
3223
6e5efd60
VS
32242012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3225
3226 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
3227 resolutions.
3228 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
3229 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
3230
0d3d137e
IS
32312012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
3232
3233 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
3234
45dbe300
VS
32352012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3236
3237 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
3238 resulted in \\ at the end of the line.
3239
6d8db947
VS
32402012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3241
3242 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
3243 (grub_parser_cmdline_state): Likewise.
3244 (grub_parser_split_cmdline): Likewise.
3245
de89d338
VS
32462012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3247
3248 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
3249 /dev/root and /dev/dm-*.
3250
00d41dee
VS
32512012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3252
3253 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
3254 fix partially stale display.
3255
f95d1f11
VS
32562012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3257
3258 * grub-core/normal/menu_entry.c (backward_char): Use right line for
3259 substraction.
3260
6297e197
VS
32612012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
3262
3263 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
3264 Fix MBR remapping workaround.
3265 (grub_util_biosdisk_read) [__linux__]: Likewise.
3266
8a7ecad3
VS
32672012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
3268
3269 * util/grub-install.in: Check for ieee1275 and not ieee1276.
3270
2b34f944
VS
32712012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3272
3273 * configure.ac: Bump to beta6.
3274
684aef11
CW
32752012-05-31 Christer Weinigel <christer@weinigel.se>
3276
3277 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
3278
05b0bb91
VS
32792012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3280
3281 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
3282 (grub_cmd_linux): Likewise.
3283
bda36bfa
CW
32842012-05-31 Christer Weinigel <christer@weinigel.se>
3285
3286 Fix EHCI low-speed.
3287
3288 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
3289 (GRUB_EHCI_MULT_TWO): Likewise.
3290 (GRUB_EHCI_MULT_THREE): Likewise.
3291 (GRUB_EHCI_CMASK_MASK): New enum value.
3292 (GRUB_EHCI_SMASK_MASK): Likewise.
3293 (GRUB_EHCI_CMASK_OFF): Likewise.
3294 (GRUB_EHCI_SMASK_OFF): Likewise.
3295 (grub_ehci_pci_iter): Enable periodic schedule.
3296 (grub_ehci_parse_notrun): Likewise.
3297 (grub_ehci_restore_hw): Likewise.
3298 (grub_ehci_setup_qh): Set flags for low speed transfers.
3299 (grub_ehci_find_qh): Use periodic list for low speed.
3300 (grub_ehci_setup_transfer): Check periodic queue as well.
3301 (grub_ehci_check_transfer): Likewise.
3302 (grub_ehci_cancel_transfer): Cancel periodic transfer.
3303
e12bcb1c
PFS
33042012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3305
3306 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
3307 parameter is used.
3308
bcc75fb3
PJ
33092012-05-31 Peter Jones <pjones@redhat.com>
3310
3311 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
3312 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
3313 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
3314
f19cb95e
VS
33152012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
3316
3317 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
3318 uninited variable. Allocate at least setup_sects.
3319
a4e5ca80
VS
33202012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3321
3322 Fix handling of EFI with big memory maps.
3323
3324 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
3325 (real_mode_mem): Likewise.
3326 (real_mode_target): Likewise.
3327 (real_mode_pages): Likewise.
3328 (prot_mode_pages): Likewise.
3329 (linux_params): New var.
3330 (linux_cmdline): Likewise.
3331 (free_pages): Don't set real mode variables.
3332 (allocate_pages): Don't allocate real mode memory.
3333 (grub_e820_add_region): Remove the limit.
3334 (grub_linux_boot): Allocate and copy real mode memory.
3335 (grub_linux_unload): Free linux_cmdline.
3336 (grub_cmd_linux): Use temporary storage for parameters.
3337 (grub_cmd_initrd): Likewise.
3338 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
3339 (linux_kernel_params): Make it 1K big.
3340
ddb73558
VS
33412012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3342
3343 * Makefile.util.def: Remove -Wno-format.
3344 * grub-core/Makefile.core.def: Likewise.
3345
1c4afb60
VS
33462012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3347
3348 * tests/cmp_unit_test.c: Add missing failure message.
3349 * tests/example_unit_test.c: Likewise.
3350 * tests/printf_unit_test.c: Likewise.
3351
941e3a6d
VS
33522012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
3355 relaxation of protective MBR requirements.
3356
b105df76
VS
33572012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 * configure.ac: Add condition for COND_HOST_XNU.
3360 * Makefile.util.def (10_xnu): New script.
3361 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
3362
84e1569e
VS
33632012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
3366 objconv bug.
3367
130c0f77
VS
33682012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
3371 Binary on other platforms stays identical.
3372
6fd0b143
VS
33732012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3374
3375 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
3376 Apple.
3377
0af1751d
VS
33782012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3379
3380 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
3381
176d5f7d
VS
33822012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3383
3384 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
3385 rather than defining size_t ourselves to avoid conflict.
3386
7de5e20a
VS
33872012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3388
3389 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
3390 initialisation to avoid __bzero reference.
3391
f7143efe
VS
33922012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3393
3394 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
3395 version.
3396 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
3397 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
3398 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
3399 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
3400 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
3401
e6ad0555
VS
34022012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3403
3404 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
3405 * grub-core/kern/misc.c: Likewise.
3406 * grub-core/loader/i386/xnu.c: Likewise.
3407 * include/grub/i386/tsc.h: Likewise.
3408 * include/grub/symbol.h: Likewise.
3409
4a5a3c4a
VS
34102012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3411
3412 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
3413 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
3414 on older compiler.
3415
037f6d90
VS
34162012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3417
3418 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
3419 Implement Apple flavour.
3420 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
3421
f7194551
VS
34222012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3423
3424 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
3425 (memmove) [__APPLE__]: Likewise.
3426 (memcpy) [__APPLE__]: Likewise.
3427 (memset) [__APPLE__]: Likewise.
3428 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
3429 (memmove) [__APPLE__]: Likewise.
3430 (memcpy) [__APPLE__]: Likewise.
3431 (memset) [__APPLE__]: Likewise.
3432
85a730ca
VS
34332012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
3434
3435 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
3436 dependency discard.
3437
40e80b94
VS
34382012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 * grub-core/normal/main.c (read_config_file): Provide config_file and
3441 config_directory.
3442 * util/grub.d/41_custom.in: Use config_directoy when available.
3443
9da59c32
VS
34442012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3445
3446 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
3447 (grub_bfs_dir): Likewise.
3448
2787ae53
PJ
34492012-05-27 Peter Jones <pjones@redhat.com>
3450
3451 The old code gives arguments to a printf function which can't work
3452 correctly, and the compiler complains.
3453
3454 * grub-core/tests/example_functional_test.c (example_test): Add
3455 missing text.
3456 * grub-core/tests/lib/test.c (add_failure): Rewrite.
3457 * include/grub/test.h (grub_test_assert_helper): New declaration.
3458 (grub_test_assert): Use grub_test_assert_helper.
3459
526ef13d
VS
34602012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3461
3462 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
3463 (exfctest): ... this to avoid overlong filenames.
3464 All users updated.
3465
20dd511c
VS
34662012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3467
3468 Handle "." and ".." on squashfs.
3469
3470 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
3471 Make inode numbers into stack.
3472 (grub_squash_read_symlink): Use stack.
3473 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
3474 (make_root_node): Fill stack.
3475 (grub_squash_open): Use stack.
3476
1d80c62a
VS
34772012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3478
3479 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
3480 freeing.
3481
d336f652
VS
34822012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3483
3484 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
3485 stderr on test calls.
3486
8b43f587
VS
34872012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3488
3489 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
3490
80a3dc3f
VS
34912012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3492
3493 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
3494
47e297d4
VS
34952012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3496
3497 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
3498 "..".
3499
df042ccb
VS
35002012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3501
3502 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
3503 (grub_hfsplus_iterate_dir): Add "." and "..".
3504
fc977f48
VS
35052012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 * grub-core/fs/cpio.c (canonicalize): Handle "..".
3508 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
3509
f3250e5f
VS
35102012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
3513 (find_path): Handle "." and "..".
3514
fd8ed4c5
VS
35152012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
3516
3517 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
3518 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
3519 (grub_affs_iterate_dir): Handle hardlinks.
3520
4ce776d2
MG
35212012-05-26 Matthew Garrett <mjg@redhat.com>
3522
3523 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
3524 (grub_efi_console_fini): Likewise.
3525 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
3526 (grub_video_gop_fill_mode_info): Rename to ...
3527 (grub_video_gop_fill_real_mode_info): ... this.
3528 (grub_video_gop_fill_mode_info): New function.
3529 (grub_video_gop_setup): Setup double framebuffer.
3530 (grub_video_gop_get_info_and_fini): Use original framebuffer.
3531 Free offscreen.
3532 (grub_video_gop_swap_buffers): Copy framebuffer.
3533 (grub_video_gop_fini): Free offscreen buffer.
3534 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
3535 New enum.
3536 (grub_efi_gop_blt_pixel): New struct.
3537
683031ba
VS
35382012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 * gentpl.py: Remove error disabling for objconv.
3541
c2deb798
VS
35422012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
3543
3544 * configure.ac: Remove -Wunitialized as it's not available on older
3545 compilers.
3546
35472012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
3548
3549 Fix extent overflow comparator.
3550
3551 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
3552 (grub_hfsplus_read_block): Set type.
3553 (grub_hfsplus_cmp_extkey): Compare type.
3554
d6b1fd36
VS
35552012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
3556
3557 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
3558
0a9aa0f6
VS
35592012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
3560
3561 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
3562 than 0.
3563
8360e159
VS
35642012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
3565
3566 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
3567 (dejavu_bold_14.pf2): New target.
3568
501b9e4b
VS
35692012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * configure.ac: Fix djvu font detection.
3572
7026b0e2
VS
35732012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
3574
3575 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
3576 ext* instead of ext2.
3577
c2a51ade
VS
35782012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
3579
3580 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
3581 name with \0.
3582
8f803a5d
JU
35832012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
3584
3585 * docs/grub-dev.texi: Remove dot from .png.
3586
13c6353f
VS
35872012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
3590 protective entry in any slot.
3591 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
3592 if protective entry is found in any slot.
3593
3594 Protective entry in non-first slot make no sense but is a widespread
3595 brain damage.
3596
4cf6be1b
VS
35972012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
3598
3599 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
3600
937d1c44
VS
36012012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
3604 with old reiserfs.
3605 (grub_reiserfs_open): Don't free root.
3606
021d90ec
VS
36072012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
3608
3609 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
3610 after freeing for safety.
3611
967b2b64
VS
36122012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3613
3614 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
3615 Reported by: Jordan Uggla.
3616
34274d02
JU
36172012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
3618
967b2b64
VS
3619 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
3620 actual implementation. Specifically, clarify that the grub menu will
3621 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
3622 passed.
34274d02 3623
dcaaae9d
BH
36242012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
3625
3626 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
3627 of r0.
3628
7086ad52
VS
36292012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3630
3631 Remove unjustified hard dependency of normal.mod on gfxterm.
3632
3633 * include/grub/term.h (grub_term_output): New member fullscreen.
3634 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
3635 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
3636 (grub_gfxterm): Set .fullscreen.
3637 * grub-core/normal/menu.c (menu_init): Use fullscreen.
3638 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
3639
37ed2c9b
VS
36402012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3641
3642 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
3643 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 3644 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 3645
a4469c88
VS
36462012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3647
3648 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
3649
4e461486
VS
36502012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3651
3652 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
3653 a bad FS.
3654
aa78f5c4
VS
36552012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3656
3657 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
3658 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
3659
197626b5
VS
36602012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3661
3662 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
3663 (grub_jfs_mount): Fill caseins.
3664 (grub_jfs_find_file): Respect caseins.
3665
8ad3f28c
VS
36662012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
3669 through UTF-16.
3670
0c6c324e
VS
36712012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3672
3673 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
3674 New argument origpath. All users updated.
3675
c6666ba6
VS
36762012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
3679 (read_attr): Ensure that we read start of possibly compressed block.
3680
e28e5fe5
VS
36812012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
3684 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
3685 All users updated.
3686
5fc23ab2
VS
36872012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3688
3689 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
3690 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
3691 (dejavu.pf2): Replace with ...
3692 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
3693 this.
3694
79dbc21c
VS
36952012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * util/grub.d/20_linux_xen.in: Add missing line.
3698
d2fcfb0c
VS
36992012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3700
3701 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
3702 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
3703 (grub_utf16_to_utf8): Likewise.
3704
5560e9d6
VS
37052012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3706
3707 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
3708 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
3709 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3710 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
3711 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
3712 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
3713
37142012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
3715
3716 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
3717 a bad FS.
3718
5560e9d6 37192012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
3720
3721 * grub-core/fs/udf.c (read_string): Bail out on size=0.
3722 (grub_udf_read_symlink): Handle read_string failure.
3723
5eae3175
VS
37242012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3725
3726 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
3727 comment.
3728
c1ad82db
VS
37292012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3730
3731 Fix handling of UDF symlinks.
3732
3733 * grub-core/fs/udf.c (read_string): New argument outbuf.
3734 All users updated.
3735 (grub_ufs_read_symlink): Rename to ...
3736 (grub_udf_read_symlink): ... this. All users updated.
3737 Handle symlinks with more than one component.
3738
33eca6e0
VS
37392012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3740
3741 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
3742 symlinks. Replace leading colon with a slash.
3743
57f4a70b
VS
37442012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3745
3746 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
3747 filename.
3748
38c8ee20
VS
37492012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3750
3751 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
3752 match in inner node.
3753
2e57f28f
VS
37542012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
3755
3756 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
3757 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
3758 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
3759 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
3760 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
3761 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
3762 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
3763 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
3764 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
3765
fe8c2f11
VS
37662012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
3767
3768 Use grub-probe and not cmp to check that disk is empty.
3769
3770 * util/grub-install.in: Use grub-probe for zero-check.
3771 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
3772 (probe): Handle PRINT_ZERO_CHECK.
3773 (argp_parser): Handle -t zero_check.
3774
37752012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
3776
3777 Flush block cache on adding disk to device map.
3778
3779 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
3780 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
3781 adding.
3782 (read_device_map): Likewise.
3783 (open_device): Flush on opening.
3784
690434e8
VS
37852012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3786
3787 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
3788 (handle_symlink): Fix off-by-one error.
3789 Canonicalize the target.
3790 (grub_cpio_dir): Canonicalize the name.
3791 Fix memory leak.
3792 Set directory.
3793 (grub_cpio_open): Canonicalize the name.
3794
742d2be6
VS
37952012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3796
3797 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
3798 handling.
3799
3244fe96
VS
38002012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3801
3802 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
3803 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
3804
8aeb1837
VS
38052012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3806
3807 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
3808 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 3809 All users updated.
8aeb1837 3810
9133fd05
VS
38112012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3812
3813 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
3814 counterpart.
3815
6d521c5b
VS
38162012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3817
3818 Fix UFS1 big file support.
3819
3820 * grub-core/fs/ufs.c (INODE): Removed.
3821 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
3822 64-bit.
3823 (INODE_MODE): Simplify.
3824 (grub_ufs_inode): Use uint64_t for size and not int64_t.
3825 (grub_ufs_lookup_symlink): Don't use INODE.
3826
21b82e17
VS
38272012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3828
3829 Fix minixfs with non-power-of-two blocks since it's supported by minix.
3830
3831 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
3832 (grub_minix_data): Replace log_block_size with block_size.
3833 (grub_minix_read_file): Use block_size but avoid 64-bit division.
3834 (grub_minix_mount): Fill block_size.
3835
38362012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
3837
3838 * configure.ac: Bump to beta5.
3839
f417ed04
VS
38402012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3841
3842 Fix wrapped HFS+ handling.
3843
3844 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
3845 blocks_start. All users updated.
3846 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
3847 wrapping offset.
3848 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
3849
607d282b
VS
38502012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3851
3852 Fix long symlinks on reiserfs.
3853
3854 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
3855 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
3856 (grub_reiserfs_iterate_dir): Save size for non-directories.
3857 (grub_reiserfs_open): Don't reread stat block as we already know the
3858 size.
3859 (grub_reiserfs_read): Split into...
3860 (grub_reiserfs_read_real): ... and ...
3861 (grub_reiserfs_read): ...this.
3862
ae16024d
VS
38632012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3864
3865 Fix non-indexed JFS.
3866
3867 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
3868 (grub_jfs_data): New field namecomponentlen.
3869 (grub_jfs_mount): Fill namecomponentlen.
3870 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
3871
eea1e26e
VS
38722012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3873
3874 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
3875 * tests/grub_script_echo1.in: Add tests.
3876
df760f77
VS
38772012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3878
3879 * util/grub-install.in: Ignore empty devicetree directory.
3880
5efb817d
B
38812012-05-08 Bean <bean123ch@gmail.com>
3882
3883 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
3884 All users updated.
3885 (free_rsm): Free header as well.
3886 (free_old_fragments): Fix memory leak.
3887 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
3888 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
3889 (destroy_pq): Likewise.
3890 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
3891
668ea6d2
VS
38922012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
3895 resulting hash as a precaution.
3896
1739b1fe
VS
38972012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3898
3899 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
3900 '_' in variable names.
3901 * grub-core/net/net.c (grub_net_network_level_interface_register):
3902 Likewise.
3903
6ae485aa
VS
39042012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3905
3906 Fix AFFS with non-512B blocks.
3907
3908 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
3909 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
3910 (grub_affs_data): Replace blocksize with log_blocksize.
3911 (grub_affs_read_block): Fix non-512B blocks.
3912 (grub_affs_read_symlink): Likewise.
3913 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
3914 (grub_affs_read): Fix non-512B blocks.
3915 (grub_affs_label): Likewise.
3916 (grub_affs_mtime): Likewise.
3917 (grub_affs_mount): Fix block detection routine.
3918
d20fab84
VS
39192012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
3920
3921 Add filesystem mtime to AFFS.
3922
3923 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
3924 (aftime2ctime): New function.
3925 (grub_affs_dir): Use aftime2ctime.
3926 (grub_affs_label): Fix return value.
3927 (grub_affs_mtime): New function.
3928 (grub_affs_fs): Add mtime.
3929
e87b10f5
VS
39302012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3931
3932 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
3933 UTF-8.
3934
7dceec9b
VS
39352012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3936
3937 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
3938 UTF-8.
3939
2f48221f
VS
39402012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3941
3942 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
3943
dacd85cf
VS
39442012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
3945
3946 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
3947 flags.
3948 (FLAGS_CASE_SENSITIVE): New enum value.
3949 (cache_entry): New struct.
3950 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
3951 cache_size and cache.
3952 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
3953 Add log_blocksize and fshelp_flags.
3954 (grub_sfs_read_extent): Handle non-512 blocks.
3955 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
3956 (grub_sfs_read_file): Handle non-512 blocks.
3957 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
3958 fshelp_flags.
3959 (grub_sfs_read_symlink): Handle non-512 blocks.
3960 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
3961 (grub_sfs_dir): Free cache.
3962 (grub_sfs_close): Likewise.
3963
24e9a854
VS
39642012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
3965
3966 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
3967 filesystems.
3968
62ace64d
VS
39692012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
3972
83b2e89c
VS
39732012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
3976
75ccaea3
VS
39772012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
3978
3979 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
3980 (grub_sfs_read_extent): Likewise.
3981 (grub_sfs_read_block): Likewise.
3982 (grub_sfs_mount): Likewise.
3983 (grub_sfs_iterate_dir): Likewise.
3984 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
3985 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
3986
1b8463f2
VS
39872012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
3988
3989 Fix errors on compressed NTFS with 512B clusters.
3990
3991 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
3992 types.
3993 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
3994 not 0.
3995 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
3996 Relax check for inline extents.
3997 (ntfscomp): Return correct -1 on error and not 0.
3998
4f8e368f
VS
39992012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4000
4001 * util/grub-install.in: Fix handling of prefix containing spaces.
4002
6f5d5ee8
VS
40032012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4004
4005 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
4006 (grub_squash_read_data): Fix offset byte-swapping.
4007
ce41ab7a
VS
40082012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4009
4010 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
4011 per common usage and preffered in several parts of code.
4012 (grub_memcmp): Likewise.
4013 (grub_strncmp): Likewise.
4014 * include/grub/misc.h (grub_strcasecmp): Likewise.
4015 (grub_strncasecmp): Likewise.
4016 * Makefile.util.def (cmp_test): New test.
4017 (grub_script_strcmp): Likewise.
4018 * tests/cmp_unit_test.c: New file.
4019 * tests/grub_script_strcmp.in: Likewise.
4020 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
4021
49717bf4
VS
40222012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4023
4024 * include/grub/pci.h: Move enums into no-asm part.
4025
0a308f64
VS
40262012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
4029
1796965f
ST
40302012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
4031
4032 * util/getroot.c (find_hurd_root_device): Try to make error message
4033 and comments to translators clearer.
4034
4e9b2819
VS
40352012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4036
4037 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
4038
076aeb50
VS
40392012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4040
4041 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
4042 btrfs.
4043
19424d94
VS
40442012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 * docs/grub.cfg: Update.
4047
ebb73076
VS
40482012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4049
4050 * docs/grub.texi (PXE): Remove not present variables.
4051
9a1b669c
VS
40522012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4053
4054 * grub-core/net/net.c (defserver_set_env): New function.
4055 (defserver_get_env): Likewise.
4056 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
4057
d38bf7d3
VS
40582012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4059
4060 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
4061 entries.
4062
40632012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
4064
4065 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
4066 * grub-core/kern/emu/hostdisk.c: Likewise.
4067
e5e4ca48
ST
40682012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
4069
4070 Handle hurd userspace partitions.
4071
4072 * util/getroot.c (find_hurd_root_device): New function.
4073 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
4074
56bb5dd5
VS
40752012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
4078 names.
4079 Reported by: Bastian Blank.
4080
9e8bc27a
VS
40812012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
4084 crossing page boundary.
4085
aa01499d
VS
40862012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4087
4088 Fix B-tree search in BFS, especially in presence of non-ASCII
4089 characters.
4090
4091 * grub-core/fs/bfs.c (bfs_strcmp): New function.
4092 (find_in_b_tree): Use standard bsearch + btree algorithm.
4093
57006035
VS
40942012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4095
4096 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
4097 and so on.
4098
9d34bb85
MG
40992012-05-03 Matthew Garrett <mjg@redhat.com>
41002012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 Suspend broadcom cards in order to stop their DMA.
4103
4104 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
4105 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
4106 (pci): Don't build on x86 EFI.
4107 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
4108 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
4109 New function.
4110 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
4111 stop_broadcom if running on EFI.
4112 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
4113 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
4114 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
4115 (grub_pci_find_capability): New proto.
4116
01aab997
VS
41172012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 * docs/grub.texi: Remove dot from the extension as it apparently
4120 doesn't work with some makeinfo versions.
4121
fbd8dca6
VS
41222012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4123
4124 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
4125 with GRUB expectance.
4126
dab797f4
VS
41272012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4128
4129 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
4130
1516bfb4
VS
41312012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4132
4133 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
4134 zero after directory block since last entry may be not 0-terminated if
4135 it ends on block boundary. Use continue instead of if spanning whole
4136 loop.
4137
a3a0eace
VS
41382012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 Support 4K sectors UDF inline files.
4141
4142 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
4143 (grub_udf_extended_file_entry): Likewise.
4144 (grub_fshelp_node): Name the anonymous union. Put block at the end.
4145 All users updated.
4146 (get_fshelp_size): New function.
4147 (grub_udf_read_icb): Read whole block.
4148 (grub_udf_iterate_dir): Likewise.
4149 (grub_udf_dir): Likewise.
4150 (grub_udf_open): Likewise.
4151
c82f16c1
VS
41522012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4153
4154 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
4155
59fd2aac
VS
41562012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4157
4158 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
4159 inline symlinks in addition to workaround.
4160
3b4afb4d
VS
41612012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
4164
f45c794a
VS
41652012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4166
4167 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
4168
f25cecbd
VS
41692012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4170
4171 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
4172
bb9a34e8
VS
41732012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4174
4175 Fix reiserfs big seek times.
4176
4177 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
4178 exact. All users updated.
4179 (grub_reiserfs_read): Use nearest btree search for seeking.
4180 Fix return value on error.
4181
dc478aea
VS
41822012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4183
4184 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
4185 entries.
4186 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
4187 * docs/grub.texi: Update menuentry description.
4188
8db10f47
VS
41892012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4190
4191 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
4192 crash when embedding onto filesystem.
4193
bcb288ed
VS
41942012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
4197 name.
4198
a626fdd7
VS
41992012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4200
4201 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
4202
b2f68477
VS
42032012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4204
4205 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
4206 commit.
4207
ba15b2af
B
42082012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
42092012-05-01 Bean <bean123ch@gmail.com>
4210
4211 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
4212
a188012e
VS
42132012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4214
4215 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
4216 Special behaviour for len = 0 to read whole file isn't used anywhere and
4217 can cause buffer ovewrflows in several places.
4218
f0a53ed2
VS
42192012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4220
4221 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
4222
5ed554f0
VS
42232012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 Handle RAIDZ on non-512B sectors.
4226
4227 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
4228 max_children_ashift.
4229 (fill_vdev_info_real): Fill max_children_ashift.
4230 (read_device): Use max_children_ashift.
4231
ddc58357
VS
42322012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4233
4234 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
4235
e3282399
VS
42362012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4237
4238 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
4239 disk names.
4240 * docs/grub.texi: Update device.map parts.
4241
ee618bd4
VS
42422012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
4243
4244 Don't scan into non-diskfilter devices having diskfilter names.
4245
4246 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
4247 (scan_disk): New argument accept_diskfilter. Fix recursion depth
4248 handling.
4249 (scan_disk_hook): New function.
4250
bdf88864
B
42512012-04-29 Bean <bean123ch@gmail.com>
4252
4253 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
4254 allocation.
4255
32745f51
MK
42562012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
4257
4258 * configure.ac: Detect starfield theme font path
4259 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
4260
bc95c8c0
VS
42612012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4262
4263 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
4264 geometry on serial consoles.
4265
147fbcab
VS
42662012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4267
4268 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
4269 because of network consoles.
4270
0f42c889
VS
42712012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
4274 handling.
4275
4a3594c9
VS
42762012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4277
4278 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
4279 falls on Q syndrom.
4280
5cb53879
VS
42812012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4282
4283 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
4284 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
4285
b282dfe5
VS
42862012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4287
4288 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
4289 Allocate at lest 8192 for temporary buffer as required for lzo.
4290
daa59f47
VS
42912012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4292
4293 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
4294 to cluster_bits, since it's already added in.
4295 (grub_fat_read_data): Likewise.
4296
986748ce
VS
42972012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4298
4299 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
4300 as long as cluster size is multiple of 512 bytes.
4301
a20f6ad0
VS
43022012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 * util/grub-mkrescue.in: Fix locale directory.
4305
385f9abb
VS
43062012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
4307
4308 * grub-core/kern/emu/hostdisk.c (map): Make static.
4309
1c557d30
B
43102012-04-23 Bean <bean123ch@gmail.com>
4311
4312 * util/grub-fstest.c (fstest): Add missing break.
4313
524b5d3a
ST
43142012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
4315
4316 Fix hurd build.
4317
4318 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
4319 not define nr variable.
fe4824e9 4320 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
4321 find_root_devices_from_poolname, find_root_devices_from_libzfs,
4322 grub_find_device): Do not define.
524b5d3a 4323
9a06490c
VS
43242012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4325
4326 Fix kfreebsd compile and behaviour.
4327
4328 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
4329 format-security.
4330 * util/getroot.c: Fix wait.h include.
4331 (grub_guess_root_devices): Error if grub_find_device fails.
4332 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
4333 (grub_util_get_dev_abstraction): Likewise.
4334 (grub_util_pull_device): Likewise.
4335 (grub_util_get_grub_dev): Likewise.
4336 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
4337
48143d96
VS
43382012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4339
4340 Fix and unify wholedisk detection.
4341
4342 * util/getroot.c (convert_system_partition_to_system_disk): New argument
4343 is_part. All users updated.
4344 (device_is_wholedisk): Removed.
4345 (grub_util_biosdisk_get_grub_dev): Use is_part.
4346
ebbd24f3
VS
43472012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4348
4349 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
4350 mode.
4351
56f7aa1e
VS
43522012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4353
4354 * configure.ac: Bump to beta4.
4355
9c815e01
VS
43562012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
4359 --fs-uuid --set UUID syntax.
4360
59e2651a
VS
43612012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4362
4363 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
4364 disunification.
4365
54e03cfc
VS
43662012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4367
4368 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
4369
81092a75
MK
43702012-04-18 Mads Kiilerich <mads@kiilerich.com>
4371
4372 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
4373
f8315e14
MG
43742012-04-18 Mike Gilbert <floppym@gentoo.org>
4375
4376 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
4377
1501ac21
B
43782012-04-18 Bean <bean123ch@gmail.com>
4379
4380 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
4381 place.
4382
cb7f944e
VS
43832012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
4386 users updated.
4387 (grub_util_biosdisk_read): Handle Linux partitions not exactly
4388 corresponding to GRUB partitions.
4389 (grub_util_biosdisk_write): Likewise.
4390
b72d44a1
VS
43912012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4392
4393 Scan mdraid before LVM.
4394
4395 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
4396 (grub_diskfilter_register_front): ... this.
4397 (grub_diskfilter_register_back): New function.
4398 All users of grub_diskfilter_register updated.
4399
33d918b8
VS
44002012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4401
4402 * util/grub-install.in: Fix an automatic target detection bug.
4403
c6ca973d
VS
44042012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4405
4406 * util/grub-install.in: New option --efi-directory.
4407
b41be562
VS
44082012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4409
4410 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
4411 boot services if we have no other choice.
4412
44132012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4414
4415 * util/grub-mknetdir.in: Rename --override-directory to --directory and
4416 document it.
4417 * tests/util/grub-shell.in: Update to --directory.
4418
e0595a73
VS
44192012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4420
4421 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
4422
4ed80652
VS
44232012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
4426 (grub_minix_read_file): Likewise.
4427 (grub_minix_read_inode): Likewise.
4428 (grub_minix_find_file): Likewise.
4429 (grub_minix_dir): Likewise.
4430
56008077
VS
44312012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4432
4433 * util/grub-setup.c (setup): Fix partition handling and blocklist
4434 check.
4435
ee520775
VS
44362012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4437
4438 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
4439 redundant buggy overlap check.
4440
16fc9293
VS
44412012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
4444 and grub-mknetdir.
4445
9bab65c4
VS
44462012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
4449 kh.loadflags on pre-2.00 kernels.
4450
3c491b47
VS
44512012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4452
4453 Terminate UNDI and PXE before launching the payload to avoid problems
4454 with DMA.
4455
4456 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
4457 (grub_loader_flags): ... this. All users updated.
4458 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
4459 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
4460 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
4461 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
4462 function.
4463 (grub_pxe_restore): Likewise.
4464 (fini_hnd): New var.
4465 (GRUB_MOD_INIT): Register shutdown hook.
4466 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
4467 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
4468 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
4469 (grub_loader_set): Rename second argument to flags.
4470
851ffada
VS
44712012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4472
4473 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
4474 written bytes.
4475 (grub_get_num_of_utf8_bytes): New function.
4476 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
4477 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
4478 executing it.
4479 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
4480 (grub_ucs4_to_utf8): Change return type.
4481
491c57a8
VS
44822012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4483
4484 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
4485 warning.
851ffada
VS
4486 * grub-core/fs/bfs.c (hop_level): Likewise.
4487 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 4488
756773df
VS
44892012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4490
4491 * grub-core/lib/adler32.c: Recode due to license unclearness.
4492
fd556a96
VS
44932012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4494
4495 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
4496 (test_header): Likewise.
4497
9f9d3f69
VS
44982012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4499
4500 Fix --help formatting.
4501
4502 * util/grub-mkconfig_lib.in (print_option_help): New function.
4503 (grub_fmt): Likewise.
4504 * util/grub-install.in: Use print_option_help and grub_fmt.
4505 * util/grub-kbdcomp.in: Likewise.
4506 * util/grub-mkconfig.in: Likewise.
4507 * util/grub-mknetdir.in: Likewise.
4508 * util/grub-mkrescue.in: Likewise.
4509 * util/grub-mkstandalone.in: Likewise.
4510 * util/grub-reboot.in: Likewise.
4511 * util/grub-set-default.in: Likewise.
4512 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4513
561ec77e
VS
45142012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
4515
4516 * linguas.sh: Remove autogenerated *.po.
4517
7ec2b021
VS
45182012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4519
4520 * po/README: Move language fetcing to ...
4521 * linguas.sh: ... here.
4522 * po/README: Point to linguas.sh.
4523
a88f3270
VS
45242012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4525
4526 * po/README: Exclude ko.po due to disclaimer problems.
4527
d61357ce
VS
45282012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4529
4530 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
4531 len = 0.
4532 (grub_gettext_translate_real): Handle 0th string.
4533 (grub_gettext_translate): Ensure that "" isn't translated.
4534
505e41dc
VS
45352012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4536
4537 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
4538 TRANSLATORS comment.
4539 (grub_diskfilter_print_partmap): Propagate changing of error into
4540 warning.
4541
e44092db
VS
45422012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
4543
4544 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
4545 to uint64_t to prevent overflow.
4546 (grub_diskfilter_lv): Increase start_extent and extent_count
4547 to uint64_t to prevent overflow.
4548
9b83956a
VS
45492012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4550
4551 * configure.ac: Increase version.
4552
da0d5b3f
VS
45532012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4554
4555 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
4556
4557 * po/Rules-translit: New file.
4558 * po/arabic.sed: Likewise.
4559 * po/cyrillic.sed: Likewise.
4560 * po/greek.sed: Likewise.
4561 * po/hebrew.sed: Likewise.
4562 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
4563 * po/Makefile.in.in: Add extra_dist4.
4564
ac66b453
VS
45652012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4566
4567 Handle big-endian minixfs (fixes minixfs tests on bigendian).
4568
4569 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
4570 modify names. Introduce MODE_BIGENDIAN.
4571 * grub-core/fs/minix_be.c: New file.
4572 * grub-core/fs/minix2_be.c: Likewise
4573 * grub-core/fs/minix3_be.c: Likewise.
4574 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
4575 minix3_be.
4576 * grub-core/Makefile.core.def (minix_be): New module.
4577 (minix2_be): Likewise.
4578 (minix3_be): Likewise.
4579
45802012-04-01 Felix <email@hamburg.de>
4581
4582 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
4583 (devs): Add MBP 2011.
4584
0a2d5a82
VS
45852012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4586
4587 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
4588
d1625889
VS
45892012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4590
4591 * grub-core/normal/cmdline.c (print_completion): New field
4592 prompt_len.
4593 (grub_cmdline_get): Handle width properly.
4594
6d36a236
VS
45952012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4596
4597 * grub-core/commands/lsacpi.c (options): Add missing terminator.
4598
9576977e
VS
45992012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4600
4601 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 4602 after 29th of February.
9576977e 4603
d73ff15d
VS
46042012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4605
4606 Fix exfat endianness handling.
4607
4608 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
4609 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
4610 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
4611 Byte-swap utf16 when necessary.
4612 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
4613
bbb39a45
AB
46142012-03-31 Anton Blanchard <anton@samba.org>
46152012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4616
4617 Fix btrfs endianness handling.
4618
4619 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
4620 (lower_bound): Make root uint64_t. Use root in le.
4621 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
4622 (find_path): Fix template key init.
4623 (grub_btrfs_dir): Fix mtime byteswap.
4624 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
4625
354e0af7
VS
46262012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4627
4628 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
4629 recursion_depth. Break infinite resursions. All users updated.
4630
4e75f21c
VS
46312012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4632
4633 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
4634 after free.
4635 Reported by: Peter Jones.
4636
25581802
AB
46372012-03-31 Anton Blanchard <anton@samba.org>
4638
4639 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
4640 8 bit values.
4641
08fbf92e
VS
46422012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
4643
4644 * util/grub-install.in: Fix nvram call for PreP.
4645
5d1182a6
VS
46462012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
4647
4648 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
4649 the error when some elements are missing into a warning.
4650
3f8cdd90
VS
46512012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
4652
4653 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
4654
51006716
CW
46552012-03-28 Colin Watson <cjwatson@ubuntu.com>
4656
4657 * docs/grub.texi (Invoking grub-probe): New section.
4658 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
4659
e1bd676b
VS
46602012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
4661
4662 Fix tab and wide character handling in editor and menu.
4663
4664 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
4665 agglomerate control characters with combining marks.
4666 (bidi_line_wrap): Allow break on tab.
4667 (grub_unicode_get_comb_start): New function.
4668 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
4669 and tab correctly.
4670 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
4671 with a space.
4672 * grub-core/normal/term.c (print_ucs4_terminal): New argument
4673 fixed_tab_size. All users updated.
4674 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
4675 (grub_term_getcharwidth): Handle \t.
4676 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
4677 and copy.
4678
22e6a774
VS
46792012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4680
4681 Handle big-endian mdraid.
4682
4683 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
4684 * grub-core/Makefile.core.def (mdraid09_be): New module.
4685 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
4686 rather than grub_le_to_cpu* and grub_cpu_to_le*.
4687 * grub-core/disk/mdraid_linux_be.c: New file.
4688
3c0eae66
VS
46892012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4690
4691 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
4692
b6cf74c9
VS
46932012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
4696 missing quotes which caused confusion among translators.
4697
83c93b9c
VS
46982012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4699
4700 * util/grub-mkconfig_lib.in: Fix typo.
4701
ac6fd218
VS
47022012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4703
4704 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
4705 spaces.
4706 * tests/grub_script_leading_whitespace.in: New file.
4707 * Makefile.util.def (grub_script_leading_whitespace): New test.
4708
ba287dd8
VS
47092012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4710
4711 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
4712 to work.
4713
d2d58d0a
VS
47142012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4715
4716 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
4717 starts with control character.
4718
0382d9bb
VS
47192012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4720
4721 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
4722 overflow.
4723 (grub_gdb_outbuf): Likewise.
4724
d83ff9f9
VS
47252012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
4726
4727 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
4728 zero terminator. Fixes a crash.
4729
2282da4a
VS
47302012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4731
4732 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
4733 beyond 4 GiB.
4734 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
4735 images independently of preffered adderss field.
4736
0ae4f0bd
VS
47372012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4738
4739 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
4740 * grub-core/commands/regexp.c: Likewise.
4741 * grub-core/loader/i386/linux.c: Likewise.
4742 * grub-core/partmap/msdos.c: Likewise.
4743 * grub-core/script/execute.c: Likewise.
4744 * grub-core/term/gfxterm.c: Likewise.
4745
546fbe9b
VS
47462012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4747
4748 Add variable parsing in $"..." and fix several mismatches with bash.
4749
4750 * Makefile.util.def (grub_script_gettext): New test.
4751 * grub-core/script/execute.c (parse_string): New function.
4752 (gettext_append): Likewise.
4753 (grub_script_arglist_to_argv): Use gettext_append.
4754 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
4755 * tests/grub_script_gettext.in: New file.
4756
9fdb2d7b
VS
47572012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4758
4759 Fix handling of leading spaces in scripts.
4760
4761 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
4762 spaces.
4763 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
4764 other than skipping \r. All users updated.
4765 * tests/grub_script_echo1.in: Add space-related tests.
4766 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
4767
1a1ac4f6
VS
47682012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
4769
4770 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
4771
b63d89b6
VS
47722012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4773
4774 * configure.ac: Bump up the version to beta2.
4775
17f38c0f
VS
47762012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4777
4778 Fix gettext reload bugs (e.g. inability to disable gettext
4779 once enabled).
4780
4781 * grub-core/gettext/gettext.c: Encapsulate all static variables in
4782 main_context and secondary_context. All functions updated.
4783 (grub_gettext_translate): Rename to ...
4784 (grub_gettext_translate_real): ... this. Return NULL on failed
4785 translate.
4786 (grub_gettext_translate): Handle secondary context.
4787 (grub_gettext_delete_list): Close file and zero-out the context.
4788 (grub_mofile_open): Don't call grub_gettext_delete_list.
4789 Don't close file.
4790 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
4791 if locale="" to avoid pointless error message.
4792 (grub_gettext_env_write_lang): Update lang even if load fails.
4793 Handle secondary context.
4794 (grub_gettext_reread_prefix): New function.
4795 (read_main): Likewise.
4796 (read_secondary): Likewise.
4797 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
4798 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
4799 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
4800 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
4801
8e56f870
VS
48022012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 * configure.ac: Decrease warning level to avoid spurious warnings and
4805 to be able to compile with GCC 4.2.
4806 * Makefile.util.def: Remove -Wno-error=logical-op.
4807
82f6d455
WB
48082012-03-10 William Bittner <william.bittner@gmail.com>
4809
4810 * util/import_unicode.py: Add missing brackets around string for
4811 python 3 support.
4812
1ecd61a4
VS
48132012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4814
4815 Fix efi chainloader on network root.
4816
4817 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
4818 network devices.
4819 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
4820 New function.
4821
14361ee8
VS
48222012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4823
4824 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
4825 unused show_text member.
4826 * docs/grub.texi: Document "text" property.
4827
922aabf3
VS
48282012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
4831 in dprintf.
4832
ec316771
VS
48332012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 Fix IMSM handling on Fedora.
4836
4837 * util/getroot.c (grub_util_is_imsm): New function.
4838 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
4839
0f021838
VS
48402012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4841
4842 * Makefile.am: Strip gold section.
4843 * conf/Makefile.common: Likewise.
4844 * gentpl.py: Likewise.
4845 * grub-core/Makefile.core.def: Likewise.
4846 * grub-core/genmod.sh.in: Likewise.
4847
1039c8eb
VS
48482012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4849
4850 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
4851 * util/grub.d/20_linux_xen.in: Likewise.
4852 Based on Debian patch.
4853
6dd412cd
VS
48542012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 * util/grub.d/10_linux.in: Fix syntax error resulting in
4857 Richard Laager's patch.
4858 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
4859
3fd8bae5
VS
48602012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4861
4862 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
4863 dependencies.
4864
7eea1671
RL
48652012-03-10 Richard Laager <rlaager@wiktel.com>
4866
4867 * util/grub.d/10_linux.in: Fix ZFS root passing.
4868
e8e0566b
VS
48692012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4870
4871 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
4872 * grub-core/commands/xnu_uuid.c: Likewise.
4873 * grub-core/loader/efi/appleloader.c: Likewise.
4874 * grub-core/script/execute.c: Likewise.
4875 * grub-core/script/main.c: Likewise.
4876 * util/grub-mkfont.c: Likewise.
4877
1acc5b1f
VS
48782012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4879
4880 * util/grub-mkfont.c (options): Use more appropriate "select" that
4881 "set" for face index.
4882
35d70620
VS
48832012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4884
4885 * util/grub-editenv.c (options): Gettextize command summaries.
4886
c9eb96b5
VS
48872012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4888
4889 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
4890 "out of memory" error messagge.
4891
1f493136
VS
48922012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4893
4894 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
4895 of diskfilter for diskfilter on diskfilter support.
4896
6d790129
VS
48972012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4898
4899 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
4900
005f46c9
VS
49012012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4902
4903 * util/grub-install.in: Check for themes/starfield/theme.txt and not
4904 themes/starfield.
4905
c8f778a0
VS
49062012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4907
4908 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
4909
de1e64eb
VS
49102012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4911
4912 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
4913
c6d54211
VS
49142012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
4915
4916 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
4917 of error message.
4918
dd390777
VS
49192012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
4920
4921 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
4922
5fd1c522
VS
49232012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
4924
4925 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
4926 message.
c6d54211 4927 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 4928
fae01f6c
VS
49292012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4930
4931 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
4932 Gettextize.
4933 * util/grub-mount.c (options): Likewise.
4934
292fdaff
VS
49352012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4936
4937 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
4938 gettextize.
4939 * grub-core/commands/search_wrap.c (options): Likewise.
4940
ecdbae77
VS
49412012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4942
4943 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
4944
52bfedfa
VS
49452012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4946
4947 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
4948 size calculation.
4949 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
4950 none is known.
4951
55b20e58
VS
49522012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4953
4954 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
4955 "temporary" since it's used in identifier and is limited in space.
4956
fda9d101
VS
49572012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 * po/POTFILES.in: Regenerate. Include *.h since they contain
4960 translatable strings as well.
4961
6a0295e2
VS
49622012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
4963
4964 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
4965 byte-swap on big-endian.
4966 Reported by: Lennart Sorensen
4967
807fb77c
VS
49682012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
4969
4970 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
4971 (allocate_pages): Improve dprintf.
4972 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
4973 code32_start. Fill code32_start and kernel_alignment in params.
4974 (grub_cmd_initrd): Use prot_init_space.
4975
61ac50ba
VS
49762012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4977
4978 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
4979
abdd26dd
VS
49802012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4981
4982 * util/grub-install.in: Add missing dot at the end of sentence.
4983
6e69da9c
VS
49842012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4985
4986 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
4987 * grub-core/commands/videotest.c: Likewise.
4988 * grub-core/loader/i386/linux.c: Likewise.
4989
4a929343
VS
49902012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4991
4992 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
4993 sentence.
4994 Reported by: Milo Casagrande.
4995
bb51c6c6
VS
49962012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
4997
4998 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
4999 * grub-core/commands/gptsync.c: Likewise.
5000 * grub-core/commands/hashsum.c: Likewise.
5001 * grub-core/commands/i386/pc/sendkey.c: Likewise.
5002 * grub-core/commands/legacycfg.c: Likewise.
5003 * grub-core/io/gzio.c: Likewise.
5004 * grub-core/net/net.c: Likewise.
5005 * grub-core/term/gfxterm.c: Likewise.
5006 * grub-core/term/terminfo.c: Likewise.
5007 * grub-core/tests/test_blockarg.c: Likewise.
5008 * grub-core/video/video.c: Likewise.
5009 * util/grub-install.in: Likewise.
5010 * util/grub-mkfont.c: Likewise.
5011
b2b149cb
VS
50122012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5013
5014 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
5015
c7c080ad
VS
50162012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5017
5018 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 5019 Reported by: David Prévot.
c7c080ad 5020
f2e243c0
VS
50212012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5022
5023 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
5024 description.
5025
09963c76
VS
50262012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5027
5028 * util/grub-script-check.c (main): Fix a syntax error message which was
5029 unclear.
5030
a50514a8
VS
50312012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5032
5033 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
5034
4650daec
VS
50352012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
5036
5037 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
5038 messages.
5039
50402012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
5041
5042 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
5043 without argument.
5044 * util/grub-mount.c (options): Likewise.
5045
bbc5a342
VS
50462012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5047
5048 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
5049
ef292a87
VS
50502012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5051
5052 * grub-core/net/http.c: Add TRANSLATORS comments.
5053 * grub-core/normal/cmdline.c: Likewise.
5054 * grub-core/normal/misc.c: Likewise.
5055 * grub-core/partmap/msdos.c: Likewise.
5056 * grub-core/parttool/msdospart.c: Likewise.
5057 * grub-core/script/execute.c: Likewise.
5058 * grub-core/script/main.c: Likewise.
5059 * grub-core/term/terminfo.c: Likewise.
5060 * grub-core/video/bitmap.c: Likewise.
5061 * util/grub-install.in: Likewise.
5062 * util/grub-mkimage.c: Likewise.
5063 * util/grub-mklayout.c: Likewise.
5064 * util/grub-setup.c: Likewise.
5065
0fc19bd0
VS
50662012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5067
5068 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
5069 with similar messages in grub-fstest.
5070
d95862ef
VS
50712012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5072
5073 * util/grub-install.in: Unify "option requires an argument" message
5074 with similar messages in other files.
5075 * util/grub-mkconfig.in: Likewise.
5076
b7308f90
VS
50772012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5078
5079 * util/grub-set-default.in: Replace printf with gettext_printf (the
5080 string in in question is already translated from grub-reboot)
5081
559dc587
VS
50822012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5083
5084 * configure.ac: Bump up the version to beta1.
5085
1a11761f
VS
50862012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5087
5088 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
5089 case when min_align = 0.
5090
24539abd
VS
50912012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5092
5093 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
5094 and fix a case when line_start overflows.
5095
32bd735b
VS
50962012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5097
5098 * util/grub-reboot.in (usage): Mention id posibility.
5099 * util/grub-set-default.in (usage): Likewise.
5100
1a2fd1e6
VS
51012012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
5104 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
5105 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
5106 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
5107 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
5108 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5109 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
5110
90eeab76
VS
51112012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5112
5113 * grub-core/commands/menuentry.c (options): Remove
5114 GRUB_ARG_OPTION_REPEATABLE.
5115 Reported by: Andreas Vogel
5116
5ad1be82
AV
51172012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
5118
5119 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
5120
cb055286
HE
51212012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
5122
5123 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
5124 error.
5125
93b1cd79
VS
51262012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5127
5128 Use sort -V by the idea of Georgi Georgiev.
5129
5130 * util/grub-mkconfig_lib.in (version_sort): New function.
5131 (version_test_numeric): Use version_sort.
5132
0cdc126c
VS
51332012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5134
5135 Use submenus in grub-mkconfig.
5136
5137 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
5138 * util/grub-mkconfig_lib.in (grub_quote): New function.
5139 (gettext_printf): Use gettext and not gettext_quoted to fix several
5140 messages.
5141 * util/grub.d/10_hurd.in: Use submenus.
5142 * util/grub.d/10_kfreebsd.in: Likewise.
5143 * util/grub.d/10_linux.in: Likewise.
5144 * util/grub.d/10_netbsd.in: Likewise.
5145 * util/grub.d/20_linux_xen.in: Likewise.
5146 * util/grub.d/30_os-prober.in: Likewise.
5147 * util/grub.d/10_illumos.in: Add missing quoting.
5148 * util/grub.d/10_windows.in: Likewise.
5149
d9bef9bc
VS
51502012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
5151
5152 Fix menu title instability bug.
5153
5154 * grub-core/commands/menuentry.c (options): New option --id.
5155 (grub_normal_add_menu_entry): New argument id. All users updated.
5156 (grub_cmd_menuentry): Handle --id.
5157 (grub_menu_init): Accept unknown arguments.
5158 * grub-core/normal/main.c (features): Add feature_menuentry_id and
5159 feature_menuentry_options.
5160 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
5161 saved_entry.
5162 (get_entry_number): Match with id as well.
5163 * include/grub/menu.h (grub_menu_entry): New member id.
5164 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
5165 * util/grub.d/00_header.in: Define menuentry_id_option.
5166 * util/grub.d/10_hurd.in: Define id.
5167 * util/grub.d/10_illumos.in: Likewise.
5168 * util/grub.d/10_kfreebsd.in: Likewise.
5169 * util/grub.d/10_linux.in: Likewise.
5170 * util/grub.d/10_netbsd.in: Likewise.
5171 * util/grub.d/10_windows.in: Likewise.
5172 * util/grub.d/20_linux_xen.in: Likewise.
5173 * util/grub.d/30_os-prober.in: Likewise.
5174
51752012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
5176
5177 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
5178 "scope" with "body".
5179
7c8d0ce7
VS
51802012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5181
5182 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
5183 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
5184 prot_size and prot_file_size.
5185
49de079b
VS
51862012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5187
5188 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
5189 All users updated. If easily=1 require raid-5/-6 to be full.
5190 (is_node_readable): Likewise.
5191 (scan_devices): Scan incomplete but readable LVs at the end.
5192 (grub_diskfilter_memberlist): Pull missing devices.
5193 (insert_array): Skip scanning until device is complete or scan is
5194 done otherwise.
5195 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
5196 check.
5197 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
5198 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
5199
aff05d45
MG
52002012-03-03 Matthew Garrett <mjg@redhat.com>
52012012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5202
5203 Avoid EFI boot services when loading Linux.
5204
5205 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
5206 avoid_efi_bootservices. All users updated.
5207 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
5208 argument avoid_efi_bootservices. All users updated.
5209 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
5210 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
5211 align, min_align, relocatable, prefered_address. All users updated.
5212 Allocate avoiding boot services if kernel is relocatable.
5213 (grub_cmd_linux): Check if kernel is relocatable.
5214 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
5215 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
5216 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
5217 avoid_efi_boot_services.
5218 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
5219 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
5220 (linux_kernel_params): Likewise.
5221
3935dde2
MG
52222012-03-03 Matthew Garrett <mjg@redhat.com>
52232012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5224
5225 Use EDID on EFI.
5226
5227 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
5228 datasize_out.
5229 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
5230 modes. Set gop_handle.
5231 (grub_video_gop_get_edid): New function.
5232 (grub_gop_get_preferred_mode): Likewise.
5233 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
5234 (grub_video_efi_gop_adapter): Set .get_edid.
5235 * include/grub/efi/edid.h: New file.
5236 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
5237
32107ec0
VS
52382012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5239
5240 * util/grub-install.in: Load efivars unconditionally.
5241
e70a2c50
VS
52422012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5243
5244 * po/Rules-piglatin: Change suffix from .po-update-en to
5245 .po-update-en-piglatin.
5246
8f9cace1
VS
52472012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5248
5249 Add a pig farm.
5250
5251 * po/piglatin.sed: New file.
5252 * po/en@piglatin.header: Likewise.
5253 * po/Rules-piglatin: Likewise.
5254 * po/README: Add en@piglatin to autogenerated languages.
5255
8f95d002
VS
52562012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5257
5258 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
5259 "Command for ...".
5260 * grub-core/commands/hdparm.c (options): Use "Display" rather than
5261 "Check" since we don't check anything.
5262 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
5263 is 64-bit one.
5264 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
5265 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
5266 (grub_md_sha512_real): Likewise.
5267
805a8dcc
VS
52682012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5269
5270 * grub-core/commands/gptsync.c: Fix typographic quoting.
5271 * grub-core/commands/ieee1275/suspend.c: Likewise.
5272 * grub-core/commands/parttool.c: Likewise.
5273 * grub-core/commands/search_wrap.c: Likewise.
5274 * grub-core/commands/videoinfo.c: Likewise.
5275 * grub-core/gfxmenu/gui_label.c: Likewise.
5276 * grub-core/hello/hello.c: Likewise.
5277 * grub-core/kern/emu/main.c: Likewise.
5278 * grub-core/net/net.c: Likewise.
5279 * grub-core/normal/menu.c: Likewise.
5280 * grub-core/normal/menu_text.c: Likewise.
5281 * grub-core/normal/misc.c: Likewise.
5282 * util/grub-editenv.c: Likewise.
5283 * util/grub-install.in: Likewise.
5284 * util/grub-kbdcomp.in: Likewise.
5285 * util/grub-mkconfig.in: Likewise.
5286 * util/grub-mknetdir.in: Likewise.
5287 * util/grub-mkrescue.in: Likewise.
5288 * util/grub-mkstandalone.in: Likewise.
5289 * util/grub-reboot.in: Likewise.
5290 * util/grub-set-default.in: Likewise.
5291 * util/grub-setup.c: Likewise.
5292 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5293
40211ab8
VS
52942012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5295
5296 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
5297 * grub-core/commands/keystatus.c: Likewise.
5298 * grub-core/commands/loadenv.c: Likewise.
5299 * grub-core/commands/probe.c: Likewise.
5300 * grub-core/commands/regexp.c: Likewise.
5301 * grub-core/commands/true.c: Likewise.
5302 * grub-core/commands/videoinfo.c: Likewise.
5303 * grub-core/disk/cryptodisk.c: Likewise.
5304 * grub-core/disk/ldm.c: Likewise.
5305 * grub-core/disk/loopback.c: Likewise.
5306 * grub-core/disk/luks.c: Likewise.
5307 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5308 * grub-core/kern/disk.c: Likewise.
5309 * grub-core/kern/emu/hostdisk.c: Likewise.
5310
0c7d99c7
VS
53112012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5312
5313 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
5314 * util/grub-install.in: Add missing quote in the comment.
5315
e7d2559b
VS
53162012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5317
5318 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
5319 * grub-core/commands/lsmmap.c: Likewise.
5320 * grub-core/commands/minicmd.c: Likewise.
5321 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
5322 * grub-core/commands/regexp.c: Likewise.
5323 * grub-core/gdb/gdb.c: Likewise.
5324 * grub-core/term/gfxterm.c: Likewise.
5325 * util/grub-mkconfig.in: Likewise.
5326 * util/grub-mkfont.c: Likewise.
5327 * util/grub-mklayout.c: Likewise.
5328 * util/grub-mknetdir.in: Likewise.
5329 * util/grub-mkrescue.in: Likewise.
5330 * util/grub.d/30_os-prober.in: Likewise.
5331
49ce9e50
VS
53322012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
5335 with "Direct color" and "Packed" with "Packed pixel".
5336 (grub_cmd_videoinfo): Simplify legend.
5337
e4b791fa
VS
53382012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
5341 absolutely unclear error message.
5342
fd1265cb
VS
53432012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5344
5345 * util/grub-mkstandalone.in: Remove confusing leftover print.
5346
8822a8a0
VS
53472012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
5350 comments.
5351 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
5352 (GRUB_MOD_INIT): Likewise.
5353 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
5354 VGA mode.
5355 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
5356 comments.
5357 * util/grub-install.in (usage): Likewise.
5358 Spell ID in whole letters.
5359 Add missing ending dot.
5360 Quote variables.
5361 * util/grub-reboot.in: Fix capitalisation.
5362 * util/grub-set-default.in: Likewise.
5363
937fd0cc
VS
53642012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
5367 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
5368 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
5369 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
5370 Disable -Werror for -Wdeprecated-declarations.
5371 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
5372 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
5373 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
5374 (grub_util_get_grub_dev): Make luks handling dependent on
5375 HAVE_DEVICE_MAPPER and not __linux__.
5376 (get_win32_path): Fix format security.
5377 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
5378 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
5379 Don't try grub_find_zpool_from_dir.
5380 (grub_make_system_path_relative_to_its_root) [!__linux__]:
5381 #ifdef-out paresdir.
5382
1bab1ae3
VS
53832012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5384
5385 * util/grub-pe2elf.c (usage): Add missing noreturn.
5386 (write_section_data): Rename name to shname to avoid shadowing.
5387 (write_symbol_table): Rename name to symname to avoid shadowing.
5388 Fix write_reloc_section call.
5389
ef023e42
VS
53902012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5391
5392 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
5393 to ensure that it's after the last byte of .text.
5394
48afcb75
VS
53952012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5396
5397 * util/ieee1275/ofpath.c (my_isdigit): New function.
5398 (trailing_digits): Use my_isdigit.
5399 (strip_trailing_digits): Likewise.
5400
88d51eff
VS
54012012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5402
5403 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
5404 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
5405
17edc2ba
VS
54062012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 * grub-core/kern/i386/pc/startup.S: Define __start.
5409
ad5518d7
VS
54102012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5411
5412 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
5413 strip already transforms he format.
5414
9e95e1bf
VS
54152012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5416
5417 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
5418
9cc3ee5c
VS
54192012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5420
5421 * util/grub-install.in: Add missing gettext init.
5422 * util/grub-kbdcomp.in: Likewise.
5423 * util/grub-mkconfig.in: Likewise.
5424 * util/grub-mknetdir.in: Likewise.
5425 * util/grub-mkrescue.in: Likewise.
5426 * util/grub-mkstandalone.in: Likewise.
5427 * util/grub-reboot.in: Likewise.
5428 * util/grub-set-default.in: Likewise.
5429 * util/grub.d/00_header.in: Likewise.
5430 * util/grub.d/10_hurd.in: Likewise.
5431 * util/grub.d/10_windows.in: Likewise.
5432 * util/grub.d/30_os-prober.in: Likewise.
5433 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5434
49e08a06
VS
54352012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5436
5437 * po/Rules-swiss: Fix header comment.
5438
3809cb41
AV
54392012-02-29 Andreas Vogel <anvoit>
5440
5441 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
5442 resulted in leak of arguments.
5443
fa6ec573
VS
54442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5445
5446 * grub-core/boot/i386/pc/startup_raw.S: Use separate
5447 reed_solomon_size const definition instead of computing it since
5448 Apple assembler doesn't support the later.
5449
22899b9c
VS
54502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5451
5452 * gentpl.py (kernel): Rewrite Apple part.
5453
a132afc3
VS
54542012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5455
5456 * include/grub/kernel.h (FOR_MODULES): Check module magic.
5457
9d742bd4
VS
54582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5459
5460 * util/grub-mkimagexx.c (locate_sections): Support non-standard
5461 ELF section gap.
5462 (load_image): Likewise.
5463
f04a9a21
VS
54642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5465
5466 * configure.ac: Fix a typo in previous commit.
5467
46cf439c
VS
54682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5469
5470 Don't add -Wl,-N on Apple platform.
5471
5472 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
5473 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
5474
c4c48c54
VS
54752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5476
5477 * grub-core/Makefile.core.def (lzma_decompress): Use
5478 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
5479
31a12124
VS
54802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5481
5482 * grub-core/genmod.sh.in: Rewrite the Apple part.
5483
4f3aa1af
VS
54842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5485
5486 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
5487 comparison.
5488
7bd8b0c7
VS
54892012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5490
5491 * acinclude.m4 (grub_CHECK_PIC): New test.
5492 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
5493
97304d7c
VS
54942012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5495
5496 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
5497 to avoid the warning.
5498
fb883812
VS
54992012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5500
5501 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
5502 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
5503 after. All users updated.
5504
a121c964
VS
55052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5506
5507 Use the common size routine in hostfs so we can read disks as well.
5508
5509 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
5510 (grub_util_get_fd_size): ... this. Return size in bytes.
5511 All users updated.
5512 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
5513 grub_util_get_fd_size.
5514
c66d6410
VS
55152012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5516
5517 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
5518 Add blocksize retrieval.
5519
dfc8aeb0
VS
55202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5521
5522 * configure.ac: Restore CFLAGS after efiemu check.
5523
403e25a5
VS
55242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5525
5526 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
5527 Apple bug.
5528
382775d1
VS
55292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
5532
6fd4e6e4
VS
55332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
5536 (grub_cmd_halt): Likewise.
5537
bea359d6
VS
55382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5539
5540 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
5541 for local arithmetics.
5542 Break %sp init into 2 instructions.
5543 Add 0 byte at the end.
5544
32eb6ee1
VS
55452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5546
5547 * grub-core/disk/diskfilter.c (read_segment): Initialise err
5548 before loops.
5549
e8377389
VS
55502012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5551
5552 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
5553 for context.
5554
8cb17de7
VS
55552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5556
5557 * grub-core/disk/ldm.c (make_vg): Init part.name.
5558 (grub_ldm_detect): Silence spurious warning.
5559 (grub_util_is_ldm): Likewise.
5560
595717e6
VS
55612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5562
5563 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
5564 sane value to avoid a spurious warning.
5565
c4b7e588
VS
55662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5567
5568 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
5569 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
5570
59824957
VS
55712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5572
5573 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
5574 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
5575
70115b99
VS
55762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5577
5578 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
5579 hardcoding the relevant info.
5580
56733740
VS
55812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5582
5583 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
5584 missing const qualifiers.
5585 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
5586
43481481
VS
55872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5588
5589 * util/getroot.c [__APPLE__]: Add missing includes.
5590 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
5591
3cb38f01
VS
55922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5593
5594 * util/grub-mkimage.c (generate_image): Silence spurious warning.
5595
d9dbf11e
VS
55962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5597
5598 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
5599 avoid conflicts.
5600
0c42a45d
VS
56012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5602
5603 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
5604
46c34eb0
VS
56052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5606
5607 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
5608 and grub_file_close call.
5609
99ce1597
VS
56102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5611
5612 Add LZSS Mach-O support (needed for new xnu kernelcache).
5613
5614 * grub-core/Makefile.core.def (xnu): Add file lzss.c
5615 * grub-core/loader/lzss.c: New file.
5616 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
5617 on Mach-O open failure.
5618 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
5619 Don't free cmdsXX in uncompressedXX is set.
5620 (grub_macho_file): Init new fields.
5621 New argument is_64bit. All users updated.
5622 Handle compressed. Error out if no suitable architecture is found.
5623 Don't close file.
5624 (grub_macho_open): New argument is_64bit. All users updated.
5625 * grub-core/loader/macho32.c: Add defines for new fields.
5626 * grub-core/loader/macho64.c: Likewise.
5627 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
5628 (grub_macho_parse): Handle compressed.
5629 Defer actual processing if compressed.
5630 (grub_macho_cmds_iterate): Decompress if compressed. New argument
5631 "filename". All users updated.
5632 (grub_macho_size): New argument "filename". All users updated.
5633 (grub_macho_get_entry_point): Likewise.
5634 (grub_macho_load): Handle compressed.
5635 * include/grub/macho.h (grub_macho_lzss_header): New struct.
5636 (GRUB_MACHO_LZSS_OFFSET): New define.
5637 (grub_decompress_lzss): New proto.
5638 * include/grub/machoload.h (grub_macho_file): New fields to handle
5639 compressed.
5640 (grub_macho_contains_macho64): Remove proto.
5641 (grub_macho_contains_macho32): Likewise.
5642 * util/grub.d/30_os-prober.in: Use kernel cache if available.
5643
ebd17d6f
VS
56442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
5645
5646 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
5647
2702b4e4
VS
56482012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5649
5650 Fix make dist.
5651
5652 * Makefile.am (starfield_theme_files): New var.
5653 (starfield_DATA): Use starfield_theme_files.
5654 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
5655 Add bootcheck-related files.
5656 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
5657 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
5658 and font_char_metrics.txt.
5659 * grub-core/Makefile.core.def (kernel): Update extra_dist.
5660 (setjmp): Add lib/ia64/longjmp.S.
5661 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
5662 * po/POTFILES.in: Regenerate.
5663 * po/Rules-swiss: use DISTFILES.common.extra2 and not
5664 DISTFILES.common.extra1.
5665 * util/devicemap.c: Removed.
5666 * grub-core/lib/i386/relocator_backward.S: Likewise.
5667 * util/import_gcry.py: Remove unused files. Add extra_dist for
5668 ChangeLog.
5669
cf1adfdf
VS
56702012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5671
5672 * grub-core/gettext/gettext.c (grub_mofile_open): Call
5673 grub_gettext_delete_list before changing grub_gettext_max to avoid
5674 running out of array bounds.
5675
56762012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
5677
5678 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
5679 grub_vga_text_init/grub_vga_text_fini.
5680
cf1adfdf 56812012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
5682
5683 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
5684
541d92e9
VS
56852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5686
5687 * configure.ac: Bump to 2.00~beta0.
5688
7931dddf
VS
56892012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5690
5691 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
5692 missing initialisation.
5693
f1b16fa3
VS
56942012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5695
5696 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
5697
83ddae23
VS
56982012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5699
5700 Support v2 xnu boot arguments.
5701
5702 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
5703 New argument fsbfreq_out.
5704 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
5705 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
5706 be used.
5707 * grub-core/loader/machoXX.c (grub_macho_load): New argument
5708 darwin_version.
5709 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
5710 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
5711 (grub_xnu_boot_params): Rename to ...
5712 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
5713 (grub_xnu_boot_params_v2): New struct.
5714
dc693fe6
VS
57152012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5716
5717 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
5718 zeroing of CRC field before computing CRC.
5719
5a6e39c2
VS
57202012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5721
5722 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
5723 Change order of allocations to decrease fragmentation.
5724
6c21f5d7
VS
57252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5726
5727 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
5728
cfe456dc
CW
57292012-02-27 Colin Watson <cjwatson@ubuntu.com>
5730
5731 Use write-combining MTRR to speed up video with buggy BIOSes.
5732
5733 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
5734 (cpuid): New define.
5735 (rdmsr): Likewise.
5736 (wrmsr): Likewise.
5737 (mtrr_base): Likewise.
5738 (mtrr_mask): Likewise.
5739 (grub_vbe_enable_mtrr_entry): New function.
5740 (grub_vbe_enable_mtrr): Likewise.
5741 (grub_vbe_disable_mtrr): Likewise.
5742 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
5743 control off to BIOS.
5744 (grub_video_vbe_init): Fill mtrr.
5745 (grub_video_vbe_fini): Disable mtrr.
5746 (grub_video_vbe_get_info_and_fini): Likewise.
5747 (grub_video_vbe_setup): Enable mtrr.
5748
e3c78337
CW
57492012-02-27 Colin Watson <cjwatson@ubuntu.com>
5750
5751 * include/grub/partition.h (grub_partition_map): Change prototype of
5752 embed to take a maximum value for nsectors.
5753 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
5754 * include/grub/fs.h (grub_fs): Likewise.
5755 * grub-core/partmap/msdos.c (embed_signatures): New array.
5756 (pc_partition_map_embed): Check for and avoid sectors matching any
5757 of the signatures in embed_signatures, up to max_nsectors.
5758 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
5759 returned sector map to max_nsectors.
5760 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
5761 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
5762 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
5763 * util/grub-setup.c (setup): Allow for the embedding area being
5764 split into multiple blocklists. Tell dest_partmap->embed the
5765 maximum number of sectors we care about.
5766
57672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5768
5769 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
5770 Specify blocklist_install and reserver_first_sector for all fs.
5771 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
5772 blocklists.
5773
984b973f
VS
57742012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5775
5776 * util/grub-install.in: Clarify strings.
5777 Fix source dir check.
5778
f122e0d6
RL
57792012-02-27 Richard Laager <rlaager@wiktel.com>
5780
5781 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
5782 "zfs" and "fuse.zfs" as synonyms.
5783
071114bb
VS
57842012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5785
5786 * configure.ac: Put platform and target_cpu substitutions back since
5787 they are used for directories.
5788
817e6abc
RL
57892012-02-27 Richard Laager <rlaager@wiktel.com>
57902012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5791
5792 * util/grub.d/10_linux.in: Add ZFS-related arguments.
5793 * util/grub.d/20_linux_xen.in: Likewise.
5794
897b7419
RL
57952012-02-27 Richard Laager <rlaager@wiktel.com>
5796
5797 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
5798 with full paths.
5799
a414bd15
RL
58002012-02-27 Richard Laager <rlaager@wiktel.com>
5801
5802 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
5803 unescape.
5804
30ac48c4
VS
58052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5806
5807 Don't use insecure popen in getroot.
5808
5809 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
5810 (exec_pipe): ... here.
5811 (find_root_devices_from_poolname): Use exec_pipe.
5812
53f13848
VS
58132012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5814
5815 Remove platform and target_cpu replacement.
5816
5817 * configure.ac: Remove platform and target_cpu substitutions.
5818 * tests/util/grub-shell.in: Use modinfo.
5819 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
5820 explicitly.
5821
90cb2803
VS
58222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5823
5824 Autodetect platform in grub-install but allow override.
5825
5826 * util/grub-install.in: Autodetect platform. Support --target and
5827 --directory. Read platform from modinfo.sh.
5828
b9136427
VS
58292012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5830
5831 Support btrfs multi-volume probe.
5832
5833 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
5834 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
5835 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
5836 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
5837 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
5838 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
5839 grub_find_root_devices_from_btrfs if on btrfs.
5840
c36e5cd1
VS
58412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5842
5843 Remove any awareness of *.c util files about target.
5844
5845 * Makefile.util.def (grub-setup): Split to ...
5846 (grub-bios-setup): ... and this.
5847 (grub-sparc64-setup): ... and this.
5848 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
5849 * docs/man/grub-setup.h2m: Split into ...
5850 * docs/man/grub-sparc64-setup.h2m: ... this.
5851 * docs/man/grub-bios-setup.h2m: ... and this.
5852 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
5853 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
5854 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
5855 (grub_target_addr_t): Remove.
5856 (grub_target_size_t): Remove.
5857 (grub_target_ssize_t): Remove.
5858 * util/grub-install.in: Use new grub-*-setup.
5859 * util/grub-mkimagexx.c (Elf_Word): New define.
5860 (Elf_Half): Likewise.
5861 (Elf_Section): Likewise.
5862 (ELF_ST_TYPE): Likewise.
5863 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
5864 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
5865
584b2f8a
VS
58662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5867
5868 Replace grub_target_addr with more appropriate types.
5869
5870 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
5871 grub_target_addr with grub_addr.
5872 * grub-core/commands/iorw.c (grub_cmd_read): Replace
5873 grub_target_addr with grub_port.
5874 (grub_cmd_write): Likewise.
5875 * grub-core/commands/memrw.c (grub_cmd_read): Replace
5876 grub_target_addr with grub_addr.
5877 (grub_cmd_write): Likewise.
5878 * grub-core/video/efi_uga.c (find_line_len): Likewise.
5879
5a0dc6fb
VS
58802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5881
5882 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
5883 const qualifier for vendor_guid.
5884
786aff6e
VS
58852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5886
5887 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
5888 const qualifier.
5889 (efiemu_memequal): Likewise.
5890 (find_variable): Likewise.
5891
49017b17
VS
58922012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5893
5894 Fix missing console prototype on qemu-mips.
5895
5896 * include/grub/mips/qemu_mips/console.h: New file.
5897
c5988629
MG
58982012-02-27 Matthew Garrett <mjg@redhat.com>
58992012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5900
5901 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
5902 * include/grub/efi/efi.h: Likewise.
5903 * include/grub/efi/api.h: Add guid for EFI-specified variables.
5904 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
5905 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
5906 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
5907 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
5908 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
5909
e33f8d69
MG
59102012-02-27 Matthew Garrett <mjg@redhat.com>
5911
5912 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
5913
fb312cd9
VS
59142012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5915
5916 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
5917 error.
5918
7134247c
VS
59192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5920
5921 * configure.ac: Remove inappropriate use of program_transform_name
5922 on grubdir and bootdir but allow explicit specification of those
5923 variables.
5924
6a313124
VS
59252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5926
5927 * util/grub-mknetdir.in (grub_prefix): Removed.
5928 (subdir): Use @bootdirname@ and @grubdirname@.
5929
2311c5ca
VS
59302012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5931
5932 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
5933
7d5d60f7
VS
59342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5935
5936 * po/POTFILES.in: Regenerated.
5937
8151bc82
VS
59382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 Remove improper use of program_transform_name on pkglibrootdir.
5941
5942 * configure.ac (pkglibrootdir): Removed.
5943 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
5944 * util/grub-mkimage.c: Likewise.
5945
b4a6a533
VS
59462012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5947
5948 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
5949 warning.
5950
668f304f
VS
59512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 * util/grub-install.in: Use file identifier if no UUID is available
5954 or user explicitly prompted for it.
5955
665f2341
NP
59562012-02-27 Navdeep Parhar <nparhar@gmail.com>
5957
5958 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
5959 (freebsd_get_zfs): New function.
5960 (grub_freebsd_boot): Pass zfs UUID.
5961 (grub_cmd_freebsd): Set zfs UUID.
5962
8151bc82 59632012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
5964
5965 * conf/Makefile.common (platformdir): Base on pkglibdir and not
5966 pkglibrootdir.
5967
e4c498a1
MG
59682012-02-27 Mike Gilbert <floppym@gentoo.org>
5969
5970 Add configure flag to control libzfs integration.
5971
5972 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
5973
1e9a9a3f
VS
59742012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5975
5976 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
5977 device.
5978 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
5979 small devices.
5980
036985b8
VS
59812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
5982
5983 Remove grub_{modname}_init and grub_{modname}_fini. They should never
5984 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
5985 be used on non-modules.
5986
5987 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
5988 Rename to grub_boot_init.
5989 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
5990 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
5991 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
5992 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
5993 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
5994 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
5995 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
5996 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
5997 includes.
5998 (grub_machine_init): Remove empty inits.
5999 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
6000 includes.
6001 (grub_machine_init): Remove empty inits.
6002 * grub-core/term/arc/console.c: Remove explicit proto.
6003 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
6004 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
6005 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6006 grub_at_keyboard_fini.
6007 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
6008 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
6009 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6010 grub_gfxterm_fini.
6011 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
6012 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
6013 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6014 grub_vgatext_fini.
6015 * grub-core/term/ieee1275/console.c: Remove explicit proto.
6016 * grub-core/term/serial.c (GRUB_MOD_INIT)
6017 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
6018 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6019 grub_serial_fini.
6020 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
6021 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
6022 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
6023 grub_terminfo_fini.
6024 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
6025 (GRUB_MOD_FINI): Likewise.
6026 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
6027 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
6028 (GRUB_MOD_FINI) [LOONGSON]: Rename to
6029 grub_video_radeon_fuloong2e_fini.
6030 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
6031 [LOONGSON]: Rename to grub_video_sis315pro_init.
6032 (GRUB_MOD_FINI) [LOONGSON]: Rename to
6033 grub_video_sis315pro_fini.
6034 * grub-core/video/sm712.c (GRUB_MOD_INIT)
6035 [LOONGSON]: Rename to grub_video_sm712_init.
6036 (GRUB_MOD_FINI) [LOONGSON]: Rename to
6037 grub_video_sm712_fini.
6038 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
6039 (grub_at_keyboard_fini): Likewise.
6040 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
6041 Don't declare grub_{modname}_init.
6042 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
6043 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
6044 New proto.
6045 (grub_keylayouts_fini) [!EMU]: Likewise.
6046 * include/grub/serial.h (grub_serial_init) [!EMU]:
6047 New proto.
6048 (grub_serial_fini) [!EMU]: Likewise.
6049 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
6050 New proto.
6051 (grub_terminfo_fini) [!EMU]: Likewise.
6052 * include/grub/video.h (grub_font_init) [!EMU]:
6053 New proto.
6054 (grub_font_fini) [!EMU]: Likewise.
6055 (grub_gfxterm_init) [!EMU]: Likewise.
6056 (grub_gfxterm_fini) [!EMU]: Likewise.
6057 (grub_video_sm712_init) [!EMU]: Likewise.
6058 (grub_video_sm712_fini) [!EMU]: Likewise.
6059 (grub_video_sis315pro_init) [!EMU]: Likewise.
6060 (grub_video_sis315pro_fini) [!EMU]: Likewise.
6061 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
6062 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
6063
d5534665
VS
60642012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6065
6066 Make nand a prefix for nand devices.
6067
6068 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
6069
10133b5f
VS
60702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6071
6072 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
6073 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
6074
8e307a62
VS
60752012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6076
6077 * include/grub/env.h (grub_env_find): Remove prototype.
6078 * grub-core/kern/env.c (grub_env_find): Make static.
6079 (grub_env_set): Remove useless set.
6080
a4c65f34
VS
60812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6082
6083 * grub-core/kern/i386/realmode.S: Remove useless align.
6084
d87893d5
VS
60852012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6086
6087 * include/grub/dl.h (grub_dl_load_file): Don't export.
6088
50159add
VS
60892012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6090
6091 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
6092 grub_dprintf.
6093
b2582b84
VS
60942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6095
6096 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
6097 grub_errors.
6098 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
6099 not reloading whole superblock but only the part which is really needed.
6100 Remove useless grub_errors.
6101 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
6102 grub_errors.
6103
e2a83395
VS
61042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6105
6106 Don't export grub_get_rtc.
6107
6108 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
6109 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
6110
e7d2a906
VS
61112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6112
6113 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
6114
6cf1363b
VS
61152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6116
6117 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 6118 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 6119
eece3349
VS
61202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6121
6122 Remove prio_list.
6123
6124 * include/grub/list.h (grub_prio_list): Removed.
6125 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
6126 GRUB_COMMAND_PRIO_MASK.
6127 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
6128 GRUB_COMMAND_FLAG_ACTIVE.
6129 (grub_prio_list_insert): Removed.
6130 (grub_prio_list_remove): Likewise.
6131 (GRUB_AS_PRIO_LIST): Likewise.
6132 (GRUB_AS_PRIO_LIST_P): Likewise.
6133 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
6134 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
6135 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
6136 * grub-core/kern/command.c (grub_register_command_prio): Inline
6137 the prio_list code.
6138 (grub_unregister_command): Likewise.
6139
94f064b4
VS
61402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6141
6142 Fix interrupt mixup from previous commit.
6143
6144 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
6145 (grub_realidt): New var.
6146 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
6147 Load idt.
6148 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
6149 New declaration.
6150 (grub_relocator16_boot): Set grub_relocator16_idt.
6151 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
6152 (LOCAL(realidt)): ... this.
6153 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
6154 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
6155 (grub_realidt): New variable.
6156
27317084
VS
61572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6158
6159 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
6160 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
6161 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
6162 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
6163 Gettextize.
6164 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
6165 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
6166 * po/POTFILES.in: Regenerate.
6167
47b40053
VS
61682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6169
6170 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
6171 errors.
6172
2b343101
VS
61732012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
6174
6175 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
6176 \0.
6177 (add_length): Likewise.
6178
ff27c3dd
LK
61792012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
61802012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
6181
6182 GDB serial and backtrace support.
6183
6184 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
6185 (prot_to_real): Likewise.
6186 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
6187 * grub-core/Makefile.core.def (backtrace): New module.
6188 (gdb): Likewise.
6189 * grub-core/gdb/cstub.c: New file.
6190 * grub-core/gdb/gdb.c: Likewise.
6191 * grub-core/gdb/i386/idt.c: Likewise.
6192 * grub-core/gdb/i386/machdep.S: Likewise.
6193 * grub-core/gdb/i386/signal.c: Likewise.
6194 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 6195 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
6196 * include/grub/backtrace.h: Likewise.
6197 * include/grub/gdb.h: Likewise.
6198 * include/grub/i386/gdb.h: Likewise.
6199
62002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
6201
6202 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
6203 New function.
6204 (add_length): Likewise.
6205 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
6206 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
6207 proto.
6208 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
6209 __argp_get_display_len.
6210
ff27c3dd 62112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
6212
6213 $"..." support in scripts.
6214
6215 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
6216 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
6217 * grub-core/script/yylex.l: Likewise.
6218 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
6219 value.
6220
ff27c3dd 62212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
6222
6223 * gentpl.py: Remove obsolete pkglib_DATA handling.
6224
ff27c3dd 62252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
6226
6227 Don't transform PACKAGE_TARNAME following a discussion on autoconf
6228 mailing list.
6229
6230 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
6231 * util/grub-kbdcomp.in: Likewise.
6232 * util/grub-mkconfig.in: Likewise.
6233 * util/grub-mkconfig_lib.in: Likewise.
6234 * util/grub-mknetdir.in: Likewise.
6235 * util/grub-mkrescue.in: Likewise.
6236 * util/grub-mkstandalone.in: Likewise.
6237 * util/grub-reboot.in: Likewise.
6238 * util/grub-set-default.in: Likewise.
6239 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6240
ff27c3dd 62412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
6242
6243 Remove GRUB_PREFIX.
6244
6245 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
6246 * util/grub.d/00_header.in: Compute prefix in the only place it's still
6247 used for backward compatibility.
6248
ff27c3dd 62492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
6250
6251 Add new all_video module.
6252
6253 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
6254 * grub-core/Makefile.core.def (all_video): New module.
6255 * grub-core/genmoddep.awk: Generate dependency of all_video from
6256 video.lst.
6257 * grub-core/lib/fake_module.c: New file.
6258 * grub-core/normal/main.c (features): Add feature_all_video_module.
6259 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
6260 don't do explicit search again.
47454da5 6261 insmod all_video in load_video if available.
22c7ce85 6262
ff27c3dd 62632012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
6264
6265 Another round of string clarification and adding TRANSLATORS comments.
6266
ff27c3dd 62672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
6268
6269 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
6270
ff27c3dd 62712012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
6272
6273 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
6274 to grub_ssize_t.
6275 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
6276 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
6277
ff27c3dd 62782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
6279
6280 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
6281 trailing newline implicitly. All users updated.
6282
ff27c3dd 62832012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
6284
6285 Implement serial on IEEE1275 and EFI.
6286
6287 * docs/grub.texi (Platform-specific limitations): Fix the columen video
6288 on emu. Mention arc and emu as the only platforms without serial
6289 support.
6290 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
6291 ieee1275 platforms.
6292 * grub-core/term/efi/serial.c: New file.
6293 * grub-core/term/ieee1275/serial.c: Likewise.
6294 * grub-core/term/serial.c (grub_serial_find): Disable direct port
6295 specification if no ns8250 driver is available.
6296 (grub_cmd_serial): Likewise.
6297 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
6298 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
6299 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
6300 (grub_efi_parity_type_t): New type.
6301 (grub_efi_stop_bits_t): Likewise.
6302 (grub_efi_serial_io_interface): New struct.
6303 * include/grub/serial.h (grub_serial_port): Make 'broken' field
6304 available for all interfaces.
6305 Add EFI and IEEE1275 fields.
6306 (grub_ofserial_init): New proto.
6307 (grub_efiserial_init): Likeiwse.
6308 * util/grub.d/00_header.in: Don't check for the presence of serial
6309 module.
6310
ff27c3dd 63112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
6312
6313 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
6314 name as if it was an alias.
6315
114076ef
VS
63162012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6317
6318 * grub-core/commands/lsacpi.c (options): Fix typo.
6319
6a656b0e
VS
63202012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
6321
6322 Convert grub-emu to argp.
6323
6324 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
6325 emu.
6326 * util/argp_common.c: Rename to ...
6327 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
6328 Add missing includes.
6329 * grub-core/kern/emu/main.c: Convert to argp.
6330 * po/POTFILES.in: Regenerate.
6331 * util/grub-install.in (usage): Make first letter lowcase in messages
6332 for uniformity.
6333 * util/grub-setup.c (options): Likewise.
6334
1e3f8ae8
VS
63352012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6336
6337 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
6338 Put back accidently commented-out code.
6339
ed167a80
VS
63402012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6341
6342 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
6343 loop check using Brent algorithm.
6344 (grub_hfsplus_btree_search): Likewise.
6345
6753c0ec
VS
63462012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6347
6348 * util/grub-install.in: Fix usage of wrong device for PreP install.
6349
4e27343f
VS
63502012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6351
6352 * conf/Makefile.common (CFLAGS_GNULIB): Add
6353 -Wno-unsafe-loop-optimizations.
6354 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
6355 on tools.
6356 * grub-core/commands/legacycfg.c: Add pragma to skip
6357 -Wunsafe-loop-optimizations.
6358 (check_password_md5_real): Fix loop counter type.
6359 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
6360 reading.
6361 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
6362 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
6363 loop condition.
6364 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
6365 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
6366 * grub-core/net/net.c (grub_net_route_address): Add safety loop
6367 condition.
6368 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
6369 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
6370 avoid possible infinite loops.
6371 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
6372 and -Wunsafe-loop-optimizations.
6373 * grub-core/script/yylex.l: Likewise.
6374 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
6375 (print_glyphs): Avoid infinite loops.
6376 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
6377
697f18b0
GS
63782012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
6379
6380 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
6381 to avoid infinite loop.
6382 (disp_acpi_rsdt_table): Likewise.
6383
274416e8
VS
63842012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6385
6386 * grub-core/font/font.c (grub_font_load): Add support for default
6387 path for fonts ($prefix/fonts).
6388 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
6389 for checking if string is a path.
6390 * grub-core/normal/main.c (features): Add feature_default_font_path.
6391 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
6392 * util/grub.d/00_header.in: Use default directory if possible.
6393 * util/grub-install.in: Install unicode.pf2.
6394
b3e08622
VS
63952012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
6396
6397 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
6398 * po/Rules-swiss: New file.
6399 * po/swiss.sed: Likewise.
6400
fe42ce09
VS
64012012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
6402
6403 * grub-core/fs/btrfs.c (find_device): Fix typos.
6404 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
6405 * util/grub-mkrelpath.c (argp_parser): Likewise.
6406 Reported by: Yuri Chornoivan.
6407
72f1d065
DO
64082012-02-23 Dalet Omega <daletomega@gmail.com>
6409
6410 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
6411 for usual informative messages.
6412
c5884973
DO
64132012-02-23 Dalet Omega <daletomega@gmail.com>
6414
6415 Starfield theme.
6416
6417 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
6418 * conf/Makefile.common: Define starfielddir.
6419 * configure.ac: Configure starfield.
6420 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
6421 * themes/starfield/README: Likewise.
6422 * themes/starfield/blob_w.png: Likewise.
6423 * themes/starfield/boot_menu_c.png: Likewise.
6424 * themes/starfield/boot_menu_e.png: Likewise.
6425 * themes/starfield/boot_menu_n.png: Likewise.
6426 * themes/starfield/boot_menu_ne.png: Likewise.
6427 * themes/starfield/boot_menu_nw.png: Likewise.
6428 * themes/starfield/boot_menu_s.png: Likewise.
6429 * themes/starfield/boot_menu_se.png: Likewise.
6430 * themes/starfield/boot_menu_sw.png: Likewise.
6431 * themes/starfield/boot_menu_w.png: Likewise.
6432 * themes/starfield/slider_c.png: Likewise.
6433 * themes/starfield/slider_n.png: Likewise.
6434 * themes/starfield/slider_s.png: Likewise.
6435 * themes/starfield/src/blob_nw.xcf: Likewise.
6436 * themes/starfield/src/bootmenu/: Likewise.
6437 * themes/starfield/src/bootmenu/center.xcf: Likewise.
6438 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
6439 * themes/starfield/src/bootmenu/side.xcf: Likewise.
6440 * themes/starfield/src/slider_c.xcf: Likewise.
6441 * themes/starfield/src/slider_n.xcf: Likewise.
6442 * themes/starfield/src/slider_s.xcf: Likewise.
6443 * themes/starfield/src/terminalbox/: Likewise.
6444 * themes/starfield/src/terminalbox/center.xcf: Likewise.
6445 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
6446 * themes/starfield/src/terminalbox/side.xcf: Likewise.
6447 * themes/starfield/starfield.png: Likewise.
6448 * themes/starfield/terminal_box_c.png: Likewise.
6449 * themes/starfield/terminal_box_e.png: Likewise.
6450 * themes/starfield/terminal_box_n.png: Likewise.
6451 * themes/starfield/terminal_box_ne.png: Likewise.
6452 * themes/starfield/terminal_box_nw.png: Likewise.
6453 * themes/starfield/terminal_box_s.png: Likewise.
6454 * themes/starfield/terminal_box_se.png: Likewise.
6455 * themes/starfield/terminal_box_sw.png: Likewise.
6456 * themes/starfield/terminal_box_w.png: Likewise.
6457 * themes/starfield/theme.txt: Likewise.
6458
17d73325
VS
64592012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 * util/grub.d/00_header.in: Add missing export theme.
6462
dbebaf92
VS
64632012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6464
6465 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
6466 already included.
6467 Reported by: Eren D.
6468
3d68bffb
VS
64692012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 * conf/Makefile.common (grubdatadir): Removed.
6472 (Makefile.am): Move eveything grubdata to pkgdata.
6473
4b59234d
VS
64742012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6475
6476 * grub-core/commands/acpihalt.c (get_sleep_type):
6477 Remove unused variable.
6478
463dcadc
VS
64792012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6480
6481 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
6482 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
6483 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
6484 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
6485 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
6486 i18n with gettext no-op.
6487 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
6488 GRUB_ACPI_OPCODE_STRING_CONST.
6489 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
6490 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
6491
e5b90c82
VS
64922012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6493
6494 * po/POTFILES.in: Regenerate.
6495
2a704ca9
VS
64962012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6497
6498 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
6499 -Wno-error=missing-noreturn.
6500
84f9d341
VS
65012012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
6504 condition to avoid possibly infinite loops.
6505 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
6506 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
6507
d46683f9
VS
65082012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6509
6510 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
6511 condition to avoid possibly infinite loops.
6512
c44866b2
VS
65132012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6514
6515 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
6516 on show_error.
6517
96790539
VS
65182012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6519
6520 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
6521
1ba7e295
VS
65222012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6523
6524 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
6525
21ffe8f1
VS
65262012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6527
6528 * util/bin2h.c (usage): Add missing attribute noreturn.
6529
0ccb6b3c
VS
65302012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
6533 if the size isn't divisible by 512.
6534
b00d7fb6
VS
65352012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6536
6537 Make list_push and list_remove functions rather than inline functions
6538 to decrease size and avoid aliasing violations.
6539
6540 * include/grub/list.h (grub_list_push): Move to ...
6541 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
6542 * include/grub/list.h (grub_list_remove): Move to ...
6543 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
6544
9d369087
VS
65452012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
6546
6547 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
6548 and -Wunused-result.
6549
af0250d9
VS
65502012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
6551
6552 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
6553 Reported by: Seth Goldberg
6554
aad32b14
VS
65552012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
6556
6557 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
6558
ac96441c
ST
65592012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
6560
6561 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
6562 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
6563 command line.
6564 * docs/grub.texi (Simple configuration): Document
6565 GRUB_CMDLINE_GNUMACH.
6566
65672012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
6568
6569 * conf/Makefile.common (platform_SCRIPTS): New variable.
6570 (platform_PROGRAMS): Likewise.
6571 * gentpl.py: Mark *,module and *.image for install.
6572 * grub-core/gdb_grub.in: Add a notice of expected environment.
6573 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
6574 (gmodule.pl): Likewise.
6575
ac96441c 65762012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
6577
6578 Replace grub_checkkey with grub_getkey_noblock.
6579
6580 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
6581 (grub_getkey_noblock): ... this. All users updated.
6582
ac96441c 65832012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
6584
6585 * grub-core/kern/emu/console.c: Move to ...
6586 * grub-core/term/emu/console.c: ...here.
6587 (grub_ncurses_getkey): Fix return value if no key is detected.
6588
e51b5666
VS
65892012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6590
6591 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
6592 (grub_unit_test_fini): Likewise.
6593 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
6594
65952012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6596
6597 * include/grub/test.h (GRUB_UNIT_TEST)
6598
d9a62292
VS
65992012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6600
6601 * grub-core/script/execute.c (grub_script_break): Clarify logic.
6602 Better error handling.
6603 (grub_script_return): Likewise.
6604 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
6605
77c9182f
VS
66062012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6607
6608 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
6609 rimplicit redifinition.
6610
edb13cf9
VS
66112012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6612
6613 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
6614 GRUB.
6615
a9e9dc7c
VS
66162012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6617
6618 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
6619 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
6620 prompt here.
6621
b4ba8e02
VS
66222012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6623
6624 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
6625 as GRUB_ERR_BUG. Don't malloc if no device is available.
6626
dded5540
VS
66272012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6628
6629 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
6630 Mark calling with invalid term as GRUB_ERR_BUG.
6631
0cf69874
VS
66322012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6633
6634 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
6635 packets rather than raising an error.
6636
59bfe502
VS
66372012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6638
6639 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
6640 in if.
6641
db5fc596
VS
66422012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6643
6644 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
6645 diagnostic to dprintf.
6646 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6647
e4b7f404
VS
66482012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6649
6650 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
6651 device name.
6652
e7b02f9e
VS
66532012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6654
6655 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
6656 (grub_ntfs_iterate_dir): Likewise.
6657
0331e102
VS
66582012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 Efiemu stylistic fixes and gettext.
6661
6662 * grub-core/efiemu/i386/loadcore32.c
6663 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
6664 * grub-core/efiemu/i386/loadcore64.c
6665 (grub_arch_efiemu_relocate_symbols64): Likewise.
6666 * grub-core/efiemu/i386/pc/cfgtables.c
6667 (grub_machine_efiemu_init_tables): Likewise.
6668 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
6669 (grub_efiemu_loadcore_initXX): Add a filename argument.
6670 All users updated.
6671 Improved error message.
6672 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
6673 Add a filename argument.
6674 All users updated.
6675 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
6676 Reclassify double relocation as GRUB_ERR_BUG.
6677
306fc074
VS
66782012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6679
6680 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
6681 handling.
6682
794d8ef2
VS
66832012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6684
6685 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
6686 on partition.
6687
66882012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
6689
6690 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
6691
794d8ef2 66922012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
6693
6694 Improve string. Gettextize.
6695
78dde88e
VS
66962012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6697
6698 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
6699 utils.
6700 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
6701
4786a90f
VS
67022012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6703
6704 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
6705 [GRUB_UTIL]: New function.
6706 (insert_array) [GRUB_UTIL]: Store partmaps.
6707 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
6708 partmaps.
6709 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
6710 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
6711 (probe_abstraction): Print diskfilter and not raid.
6712 Reported by: Lennart Sorensen
6713
0b6225bd
VS
67142012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6715
6716 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
6717 * util/grub-mkimagexx.c (MASK3): New define.
6718 (add_value_to_slot_20b): Use MASK3.
6719 (add_value_to_slot_21): Likewise.
6720 (relocate_addresses): Fix format specification.
6721 (load_image): Explicitly init symtab_section.
6722
b055f8f6
VS
67232012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6724
6725 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
6726 (grub_util_biosdisk_get_grub_dev): Fix format specification.
6727
b77c2fb7
VS
67282012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6729
6730 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
6731 on powerpc.
6732 Reported by: Lennart Sorensen
6733
e3ec28ab
VS
67342012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
6735
6736 * gentpl.py: Add missing license header.
6737 * docs/grub.texi: Update copyright year.
6738
c8d9ead6
GS
67392012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
6740
6741 Source grub-mkconfig_lib from the build directory at build time.
6742 Suggested by: Vladimir Serbinenko.
6743
6744 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
6745 * util/grub-install.in: Define pkgdatadir if not already set, and source
6746 grub-mkconfig_lib from there.
6747 * util/grub-kbdcomp.in: Likewise.
6748 * util/grub-mkconfig.in: Likewise.
6749 * util/grub-mknetdir.in: Likewise.
6750 * util/grub-mkrescue.in: Likewise.
6751 * util/grub-mkstandalone.in: Likewise.
6752 * util/grub-reboot.in: Likewise.
6753 * util/grub-set-default.in: Likewise.
6754 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6755
ebcecdf1
VS
67562012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6757
6758 Increase warning level.
6759
6760 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
6761 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
6762 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
6763 (TARGET_CFLAGS): Likewise.
6764 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
6765 * grub-core/Makefile.core.def (decompressor_xz): Add
6766 -Wno-unreachable-code.
6767 (normal): Add -Wno-redundant-decls.
6768 (xzio): Add -Wno-unreachable-code.
6769 (lzopio): Add -Wno-redundant-decls -Wno-error.
6770 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
6771 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
6772 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
6773 * grub-core/kern/dl.c: Add exception to -Wcast-align.
6774 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
6775 * grub-core/kern/i386/coreboot/init.c: Add exception to
6776 -Wsuggest-attribute=noreturn.
6777 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
6778 * grub-core/kern/ia64/dl_helper.c: Likewise.
6779 * grub-core/kern/mips/dl.c: Likewise.
6780 * grub-core/kern/sparc64/dl.c: Likewise.
6781 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
6782 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
6783 (memcmp): Likewise.
6784 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
6785 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
6786 * grub-core/loader/mips/linux.c: Likewise.
6787 * grub-core/loader/multiboot_elfxx.c: Likewise.
6788 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
6789 * grub-core/video/sm712.c: Add exception to -Wcast-align.
6790 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
6791 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
6792 fixme.
6793 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
6794 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
6795 Fix prototype.
6796
37bb97fe
VS
67972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6798
6799 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
6800 address.
6801
29a3550b
VS
68022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6803
6804 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
6805 Avoid improper use of strings.
6806 (grub_cmd_legacy_initrdnounzip): Likewise.
6807
dfdffd0d
VS
68082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6809
6810 * include/grub/emu/misc.h (grub_util_warn): Add missing format
6811 attribute.
6812 (grub_util_info): Likewise.
6813 (grub_util_error): Likewise.
6814
102fae4a
VS
68152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6816
6817 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
6818 * util/grub-fstest.c (fstest): Likewise.
6819
7e94d044
VS
68202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6821
6822 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
6823 (grub_md_sha512_real): Likewise.
6824 (grub_util_get_geli_uuid): Likewise.
6825 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
6826 (grub_util_biosdisk_open): Fix format specification.
6827 Respect format security.
6828 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
6829 (xrealloc): Likewise.
6830 (xasprintf): Likewise.
6831
5ebd9769
VS
68322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6833
6834 * util/import_gcry.py: Include grub/crypto.h in init.c.
6835
495fc8c1
VS
68362012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6837
6838 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
6839 (generate_image): Make prefix a const char *.
6840 Fix format specifications. Respect format security.
6841 Avoid void * arithmetics.
6842 Avoid shadowing.
6843 (argp_parser): Remove unused variable. Respect format security.
6844 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
6845 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
6846 (count_funcs): Remove unused variable.
6847 (relocate_addresses): Fix format specification.
6848 Disable x86-64 with elf32. Remove unused variables.
6849 (add_fixup_entry): Avoid shadowing.
6850 (make_reloc_section): Fix format specification.
6851 Use assert.
6852 (locate_sections): Fix format specifications.
6853 (load_image): Avoid shadowing.
6854
043c2ea3
VS
68552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6856
6857 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
6858 Fix format specifications. Respect format security.
6859 Don't translate already translated grub_errmsg.
6860 (argp_parser): Remove unused variable
6861
3ec65a81
VS
68622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6863
6864 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
6865
a4d9fe4a
VS
68662012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6867
6868 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
6869 (main): Likewise. Use xmalloc. Respect format security.
6870
15b81d49
VS
68712012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6872
6873 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
6874 a const char *.
6875 (argp_parser): Remove unused variable.
6876
31731fc0
VS
68772012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6878
6879 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
6880 (add_pixel): Make static.
6881 (add_font): Likewise.
6882 (write_string_section): Make name and str a const char *.
6883 (write_be16_section): Make name a const char *.
6884 (print_glyphs): Make static.
6885 (write_font_ascii_bitmap): Likewise.
6886 (write_font_width_spec): Likewise.
6887 (write_font_pf2): Likewise.
6888 (argp_parser): Remove unused variable.
6889 Respect format security.
6890 (main): Avoid shadowing. Respect format security.
6891
0809527b
VS
68922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6893
6894 * util/grub-editenv.c (argp_parser): Make static.
6895 (create_envblk_file): Use xmalloc.
6896 (open_envblk_file): Likewise.
6897 Resepect format security.
6898 (set_variables): Respect format security.
6899
45b0c8b7
VS
69002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6901
6902 * util/getroot.c (grub_find_device): Respect format security.
6903 (get_mdadm_uuid): Remove unused variable.
6904 (grub_util_pull_device): Dont call gettext on already translated
6905 grub_errmsg.
6906 (find_system_device): Remove unused variable.
6907 (grub_util_get_grub_dev): Likewise.
6908 (grub_make_system_path_relative_to_its_root): Respect format security.
6909
1b024b4e
VS
69102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6911
6912 * util/grub-fstest.c (execute_command): Make first argument
6913 a const char *.
6914 (read_file): Avoid shadowing.
6915 Reuse underlying error message if device open fails.
6916 (cmd_cmp): Respect format security.
6917 (root): Make const char *.
6918 (fstest): Remove args argument and use global copy.
6919 Respect format security.
6920 (argp_parser): Make static.
6921 (main): Make default_root const char *.
6922
5d1d4e28
VS
69232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6924
6925 * util/grub-mount.c (root): Make const char *.
6926 (execute_command): Make first argument a const char *.
6927 (fuse_init): Respect format security.
6928 (argp_parser): Make static. Remove unused variable.
6929 (main): Make default_root a const char *.
6930 Respect format security.
6931
36eb7379
VS
69322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 * util/grub-probe.c (probe): Don't call gettext on already translated
6935 grub_errmsg.
6936 Remove unused variables.
6937 (argp_parser): Remove unused variable.
6938
76fb2ea9
VS
69392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6940
6941 * util/grub-script-check.c (argp_parser): Remove unused variable.
6942 (main): Rename read to curread to avoid shadowing.
6943
56c98584
VS
69442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6945
6946 * util/misc.c (grub_util_write_image_at): Fix format specification.
6947 (grub_util_write_image): Likewise.
6948 (grub_script_execute_argument_to_string): Removed (unused).
6949 (grub_script_execute_menuentry): Likewise.
6950 (grub_putchar): Likewise.
6951
164ebb48
VS
69522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6953
6954 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
6955 (FUNCTION) [GRUB_UTIL]: Likewise.
6956 (VARIABLE) [GRUB_UTIL]: Likewise.
6957
44318d61
VS
69582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6959
6960 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
6961 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
6962
31a26002
VS
69632012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6964
6965 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
6966 buffer.
6967
69682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6969
6970 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
6971 (LzmaEnc_SaveState): Removed (unused).
6972 (LzmaEnc_RestoreState): Likewise.
6973 (LzmaEnc_InitPriceTables): Made static.
6974 (LzmaEnc_Construct): Likewise.
6975 (LzmaEnc_FreeLits): Likewise.
6976 (LzmaEnc_Destruct): Likewise.
6977 (LzmaEnc_Init): Likewise.
6978 (LzmaEnc_InitPrices): Likewise.
6979 (LzmaEnc_Finish): Likewise.
6980 (LzmaEnc_PrepareForLzma2): Removed (unused).
6981 (LzmaEnc_MemPrepare): Likewise.
6982 (LzmaEnc_GetNumAvailableBytes): Likewise.
6983 (LzmaEnc_GetCurBuf): Likewise.
6984 (LzmaEnc_CodeOneMemBlock): Likewise.
6985
6fa67967
VS
69862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6987
6988 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
6989 (grub_util_ldm_embed): Likewise.
6990
9a7428e6
VS
69912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6992
6993 * util/grub-editenv.c (print_var): Rename name to varname to
6994 avoid shadowing.
6995 (main): Rename index to curindex to avoid shadowing.
31a26002 6996 Make filename a const char *.
9a7428e6 6997
4f96abd1
VS
69982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
6999
7000 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
7001 to arg_getline to avoid shadowing.
7002
44d10dad
VS
70032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7004
7005 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
7006 disk_ to avoid shadowing.
7007
340ba63e
VS
70082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7009
7010 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
7011 curindex to avoid shadowing.
7012 Make static.
7013 (MatchFinder_GetNumAvailableBytes): Make static.
7014
22965bce
VS
70152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7016
7017 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
7018 avoid shadowing.
7019
7b5784d4
VS
70202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
7021
7022 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
7023 argument from encrypt to do_encrypt to avoid shadowing.
7024
6f48ca01
VS
70252012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7026
7027 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
7028 incorrect nesting of #if's.
7029
a4ea2dff
VS
70302012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7031
7032 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
7033 checks which are always false on some platforms.
7034 (grub_cmd_lsacpi): Likewise.
7035 * grub-core/kern/misc.c (grub_strtoul): Likewise.
7036 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
7037 Likewise.
7038
def9fc1b
VS
70392012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7040
7041 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
7042 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
7043
a67b2a04
VS
70442012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7045
7046 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
7047 re_dfa_t to avoid breaking alignment invariants.
7048 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
7049 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
7050
44c6828d
VS
70512012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7052
7053 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
7054 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
7055
bebe0dd0
VS
70562012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7057
7058 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
7059 Fix declaration.
7060
a9cdb3cf
VS
70612012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
7064 conserve alignment invariants.
7065 (grub_ehci_ehcc_read16): Likewise.
7066 (grub_ehci_oper_read32): Likewise.
7067 (grub_ehci_oper_write32): Likewise.
7068 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
7069 Conserve alignment invariants.
7070
ccc3b1b8
VS
70712012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7072
7073 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
7074 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
7075 declarations.
7076
987fbd95
VS
70772012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7078
7079 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
7080 Remove unused variable.
7081
0df363f3
VS
70822012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7083
7084 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
7085 Remove set in if.
7086
b2c0c4a6
VS
70872012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7088
7089 * include/grub/net.h: Remove double declarations.
7090
690c531f
VS
70912012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7092
7093 Remove "payload" command in ia64 Linux loader since I couldn't
7094 find any evidence of it being used for anything.
7095 Replace "relocate" command with an environment variable
7096
7097 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
7098 fields.
7099 (ia64_boot_payload): Removed.
7100 (last_payload): Likewise.
7101 (RELOCATE_OFF): Likewise.
7102 (RELOCATE_ON): Likewise.
7103 (RELOCATE_FORCE): Likewise.
7104 (relocate): Likewise.
7105 (free_pages): Don't free payloads.
7106 (grub_load_elf64): Use common error messages.
7107 Use "linux_relocate" variable.
7108 Increase the space after boot_params.
7109 (grub_cmd_payload): Removed.
7110 (grub_cmd_relocate): Likewise.
7111 (grub_cmd_fpswa): Improve messages.
7112 (cmd_payload): Removed.
7113 (cmd_relocate): Likewise.
7114 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
7115 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
7116
01783768
VS
71172012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7118
7119 Convert UHCI to DMA framework.
7120
7121 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
7122 (grub_uhci_pci_iter): Fill new members
7123 (grub_alloc_td): Use P2V and V2P functions.
7124 (grub_free_queue): Likewise.
7125 (grub_alloc_qh): Likewise.
7126 (grub_uhci_setup_transfer): Likewise.
7127 (grub_uhci_check_transfer): Likewise.
7128
43206939
VS
71292012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7130
7131 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
7132 Remove assignment in if while on it.
7133
571e140e
VS
71342012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7135
7136 * util/grub-mkstandalone.in: Fix modules directory.
7137
a9d96eeb
VS
71382012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7139
7140 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
7141 on i386-pc target.
7142 (argp_parser): Accept "auto" as compression specification.
7143
e4e37e8d
VS
71442012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7145
7146 Fix `help' with unloaded modules.
7147
7148 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
7149 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
7150 (grub_dyncmd_dispatcher): Small stylistic fix.
7151 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
7152 explicit help is requested.
7153
e1ea3ade
VS
71542012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7155
7156 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
7157 Explicitly init restart while on it.
7158
27556881
VS
71592012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
7160
7161 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
7162 uninited variable.
7163
d65f6b36
VS
71642012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7165
7166 * util/grub-mknetdir.in: Use . rather than source for POSIX
7167 compatibility.
7168
0a1e473c
VS
71692012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7170
7171 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
7172
ce6647c8
VS
71732012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7174
7175 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
7176 variable.
7177
66747894
VS
71782012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7179
7180 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
7181 without quotes.
7182
71645f6e
VS
71832012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7184
7185 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
7186
0e1c1f61
VS
71872012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7188
7189 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
7190 iteration of partitions.
7191
9c4b5c13
VS
71922012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
7193
7194 Improve gettext support. Stylistic fixes and error handling fixes while
7195 on it.
7196
215c90cb
VS
71972012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
7198
7199 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
7200 part. Instead setup the correct stack in RM.
7201 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
7202 for stack.
7203 * include/grub/i386/relocator_private.h: New file.
7204
b5c1f9bf
VS
72052012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7206
7207 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
7208 argument.
7209 * util/grub-fstest.c (options): Add missing DEVICE part.
7210
b525fd83
VS
72112012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7212
7213 Clarify and unify messages.
7214
7215 * grub-core/commands/hashsum.c (options): Unify messages.
7216 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
7217 literal-only message as translatable.
7218 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
7219 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
7220 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
7221 commands.
7222 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
7223 key, not the key used to unlock. Clarify what it's used for.
7224 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
7225 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
7226 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
7227 * util/grub-editenv.c (options): Unify "verbose" message.
7228 * util/grub-fstest.c (read_file): Unify error message.
7229 (fstest): Add quotes around commands.
7230 (options): Unify "verbose" message.
7231 * util/grub-install.in: Add quotes around variable name.
7232 * util/grub-kbdcomp.in: Unify error message.
7233 * util/grub-mkfont.c (main): Likewise.
7234 * util/grub-mkrescue.in: Likewise.
7235 * util/grub-mklayout.c (options): Unify "verbose" message.
7236 * util/grub-mkstandalone.in: Unify help and verbose messages.
7237 * util/grub-mount.c (options): Unify "verbose" message.
7238 * util/grub-probe.c (options): Likewise.
7239 * util/grub-script-check.c (options): Likewise.
7240 * util/grub-setup.c (setup): Unify no-terminator message.
7241 (options): Use DEVICE and not DEV.
7242 Unify "verbose" message.
7243 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
7244
0ae70393
VS
72452012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7246
7247 Improve and unify messages.
7248
7249 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
7250 name. All users updated.
7251 Print filename in error.
7252 (read_device_map): Print filename in error.
7253 * util/getroot.c (grub_guess_root_devices): Print filename in error.
7254 (grub_util_get_os_disk): Likewise.
7255 (grub_util_biosdisk_get_grub_dev): Likewise.
7256 (grub_util_check_block_device): Likewise.
7257 (grub_util_check_char_device): Likewise.
7258 (grub_make_system_path_relative_to_its_root): Likewise.
7259 * util/grub-editenv.c (create_envblk_file): Likewise.
7260 (open_envblk_file): Likewise.
7261 (write_envblk): Likewise.
7262 * util/grub-fstest.c (cmd_cp): Likewise.
7263 (cmd_cat): Likewise.
7264 (cmd_cmp): Likewise.
7265 * util/grub-menulst2cfg.c (main): Likewise.
7266 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
7267 (write_font_width_spec): Likewise.
7268 (write_font_pf2): Likewise.
7269 * util/grub-mkimage.c (generate_image): New argument outname.
7270 All users updated.
7271 Remove unreacheable message.
7272 (options): Unify messages.
7273 (help_filter): Likewise.
7274 * util/grub-mklayout.c (usage): Removed (unused).
7275 (main): Print filename in error.
7276 * util/grub-mkrescue.in: Fix wrong quoting.
7277 * util/grub-setup.c (setup): Print filename in error.
7278 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
7279 (check_sas): Likewise.
7280 * util/misc.c (grub_util_get_fp_size): Removed.
7281 (grub_util_get_image_size): Print filename in error.
7282 (grub_util_read_at): Removed.
7283 (grub_util_read_image): Print filename in error.
7284 (grub_util_load_image): Likewise.
7285 (grub_util_write_image_at): New argument filename. All users updated.
7286 Print filename in error.
7287 (grub_util_write_image): New argument filename. All users updated.
7288 Print filename in error.
7289 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
7290 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
7291
0a96117d
VS
72922012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7293
7294 * grub-core/Makefile.core.def (pxechain): New module.
7295 * grub-core/loader/i386/pc/pxechainloader.c: New file.
7296 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
7297 function.
7298 (grub_pc_net_config_real): Use grub_pxe_get_cached.
7299 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
7300
aca002f7
VS
73012012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7302
7303 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
7304 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
7305 * include/grub/err.h (grub_error_saved): New struct.
7306 (grub_errmsg): Make array size explicit.
7307 * include/grub/misc.h (grub_error_save): New function.
7308 (grub_error_load): Likewise.
7309 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
7310 (grub_error_push): Update `errno' member name.
7311 (grub_error_pop): Likewise
7312 * grub-core/net/tftp.c (tftp_data): New member save_err.
7313 (tftp_receive): Save error.
7314 (tftp_open): Restore error.
7315
a51dab13
VS
73162012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
7317
7318 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
7319 to real mode down to execute A20-related code in protected mode as
7320 intended.
7321
eb6e6649
GS
73222012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
7323
7324 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
7325 NULL when the argument `level' has an unexpected value.
7326
92cd0f6e
VS
73272012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7328
7329 Move platform-dependent files from $prefix to $prefix/$platform.
7330
7331 * config.h.in (GRUB_TARGET_CPU): New definition.
7332 (GRUB_PLATFORM): Likewise.
7333 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
7334 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
7335 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
7336 * grub-core/kern/dl.c (grub_dl_load): Likewise.
7337 * grub-core/normal/autofs.c (read_fs_list): Likewise.
7338 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
7339 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
7340 * grub-core/normal/term.c (read_terminal_list): Likewise.
7341 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
7342 $prefix/locale.
7343 (grub_gettext_init_ext): Likewise.
7344 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
7345 grub_platform.
7346 * util/grub-install.in: Update directories.
7347 * util/grub-mknetdir.in: Likewise.
7348 * util/grub-mkrescue.in: Likewise.
7349
db606889
VS
73502012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7351
7352 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
7353 grub_error framework. All users updated.
7354
c39992a4
VS
73552012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7356
7357 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
7358 lists (by always binsearching), improve caching (cache strings
7359 used for binsearch, not only results), improve
7360 maintainability (by using more structured binary search) and correct
7361 error handling.
7362
1e5ec32f
VS
73632012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7364
7365 * grub-core/script/execute.c (grub_script_return): Fix warning.
7366
ac576cde
VS
73672012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
7368
7369 * grub-core/script/execute.c (grub_script_return): Fix potential
7370 NULL-dereference.
7371 Reported by: Jim Meyering.
7372
498453f6
VS
73732012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7374
7375 * po/POTFILES.in: Regenerate.
7376 * util/grub-install.in: Gettextize the strings missed in first pass.
7377
8be63f2e
VS
73782012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7379
7380 * Makefile.util.def (grub-mkdevicemap): Removed.
7381 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
7382 * include/grub/util/deviceiter.h: Removed.
7383 * util/deviceiter.c: Likewise.
7384 * util/getroot.c (grub_util_get_os_disk): New function.
7385 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
7386 replacement for EFI.
7387 * util/grub-mkdevicemap.c: Removed.
7388 * util/grub-probe.c (probe): Handle PRINT_DISK.
7389 (argp_parser): Handle -t disk.
7390
8e1e4e39
VS
73912012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7392
7393 * util/grub-mkfont.c: Migrate to argp.
7394 * util/grub-mklayout.c: Likewise.
7395 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7396 * util/grub-mkrelpath.c: Likewise.
7397 * util/grub-probe.c: Likewise.
7398 * util/grub-script-check.c: Likewise.
7399
4459819a
VS
74002012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7401
7402 * util/grub-reboot.in: Add missing datarootdir.
7403 Add missing newline.
7404 * util/grub-set-default.in: Add missing datarootdir.
7405 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
7406 * util/grub-mkrescue.in: Likewise.
7407
f65741c7
VS
74082012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
7411
c1a33466
VS
74122012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7413
7414 * util/grub-kbdcomp.in: Add decent help and gettextize.
7415 * docs/man/grub-kbdcomp.h2m: New file.
7416
c76899a0
VS
74172012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7418
7419 Migrate grub-mkimage.c to argp.
7420
7421 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
7422 (grub-setup): Likewise.
7423 * util/grub-setup.c (print_version): Move to ...
7424 * util/argp_common.c (print_version): ... here.
7425 * util/grub-setup.c (argp_program_version_hook): Move to ...
7426 * util/argp_common.c (argp_program_version_hook): ... here.
7427 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
7428 safety.
7429 * util/grub-mkimage.c (main): Migrate to argp.
7430
57db0757
VS
74312012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7432
7433 * util/grub-mkrescue.in: Use same message as
7434 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
7435 for better translations.
7436
18534ad9
VS
74372012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7438
7439 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
7440 options with generic grub-mkrescue.in with the goal of future
7441 merge.
7442
c84ba308
VS
74432012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7444
7445 * grub-core/kern/mm.c: Add missing include of i18n.h
7446 * grub-core/lib/relocator.c: Likewise.
7447
347998c2
VS
74482012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7449
7450 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
7451 error.
7452 (allocate_pages): Check return value.
7453 Replace fatal with error.
7454 (grub_linux_boot): Replace printf with dprintf.
7455 Check find_mmap_size return value.
7456 Replace fatal with error.
7457 Don't call grub_machine_fini.
7458 (grub_load_elf64): Replace printf with dprintf.
7459 (grub_cmd_linux): Likewise.
7460 (grub_cmd_initrd): Likewise.
7461 (grub_cmd_payload): Likewise.
7462
c779226e
VS
74632012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7464
7465 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
7466 message.
7467 * grub-core/video/radeon_fuloong2e.c
7468 (grub_video_radeon_fuloong2e_setup): Likewise.
7469 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
7470 * grub-core/video/video.c (grub_video_set_mode): Don't override
7471 standard out of memory message.
7472
dc87d45a
GS
74732012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
7474
7475 NetBSD disk wedge support.
7476
7477 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
7478 [__NetBSD__]: Handle NetBSD disk wedges.
7479 * util/getroot.c (convert_system_partition_to_system_disk)
7480 [__NetBSD__]: Likewise.
7481
055f856f
MW
74822012-02-03 Mark Wooding <mdw@distorted.org.uk>
7483
7484 * util/grub-mkconfig.in: Use umask rather than chmod to create
7485 grub.cfg.new to avoid insecure grub.cfg.
7486
4a9f8346
VS
74872012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7488
7489 * grub-core/commands/ls.c: Gettextize.
7490 * grub-core/commands/setpci.c: Likewise.
7491 * grub-core/commands/videotest.c: Likewise.
7492 * grub-core/disk/geli.c: Likewise.
7493 * grub-core/kern/mm.c: Likewise.
7494 * grub-core/lib/relocator.c: Likewise.
7495 * grub-core/loader/efi/appleloader.c: Likewise.
7496 * grub-core/loader/i386/xnu.c: Likewise.
7497 * grub-core/loader/ia64/efi/linux.c: Likewise.
7498 * grub-core/loader/xnu.c: Likewise.
7499 * grub-core/net/dns.c: Likewise.
7500 * grub-core/net/net.c: Likewise.
7501 * grub-core/script/lexer.c: Likewise.
7502 * grub-core/script/parser.y: Likewise.
7503 * grub-core/script/yylex.l: Likewise.
7504 * util/getroot.c: Likewise.
7505 * util/grub-setup.c: Likewise.
7506
a646a366
VS
75072012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7508
7509 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
7510 number.
7511
54e2be26
VS
75122012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7513
7514 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
7515
f7c71e68
VS
75162012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7517
7518 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
7519 macro.
7520 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
7521 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
7522
a32d5c71
VS
75232012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7524
7525 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
7526 * util/grub-install.in: Gettextize.
7527 * util/grub-mkconfig.in: Likewise.
7528 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
7529 if not available.
7530 (grub_warn): Gettextize.
7531 * util/grub-mknetdir.in: Gettextize.
7532 * util/grub-mkrescue.in: Likewise.
7533 * util/grub-mkstandalone.in: Likewise.
7534 * util/grub-reboot.in: Likewise.
7535 * util/grub-set-default.in: Likewise.
7536 * util/grub.d/00_header.in: Likewise.
7537 * util/grub.d/10_hurd.in: Likewise.
7538 * util/grub.d/10_kfreebsd.in: Likewise.
7539 * util/grub.d/10_linux.in: Likewise.
7540 * util/grub.d/10_netbsd.in: Likewise.
7541 * util/grub.d/10_windows.in: Likewise.
7542 * util/grub.d/20_linux_xen.in: Likewise.
7543 * util/grub.d/30_os-prober.in: Likewise.
7544 * po/POTFILES-shell.in: Regenerate.
7545
69edd81a
RL
75462012-02-03 Richard Laager <rlaager@wiktel.com>
7547
7548 * util/grub-mkimage.c (main): Fix format-security warning.
7549 * util/grub-mkrelpath.c (main): Likewise.
7550 * util/grub-probe.c (main): Likewise.
7551
65f08dbf
RL
75522012-02-03 Richard Laager <rlaager@wiktel.com>
7553
7554 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
7555 failure.
7556 Put back lost PRINT_DRIVE.
7557
e9084abe
RL
75582012-02-03 Richard Laager <rlaager@wiktel.com>
7559
7560 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
7561 (grub_guess_root_devices): Replace strlen with sizeof.
7562 Avoid crash.
7563 (find_root_devices_from_poolname): Remove unused variable.
7564 Handle raidzN.
7565
cf5f7ee7
VS
75662012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
7567
7568 Support install on multi-device filesystems.
7569
7570 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
7571 (grub_guess_root_devices): ...this. Return char **. All users updated.
7572 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
7573 Removed.
7574 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
7575 (find_root_devices_from_poolname): ... here.
7576 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
7577 Support zfs-fuse.
7578 (grub_guess_root_device): Rename to ...
7579 (grub_guess_root_devices): ... this. Return char **. All users updated.
7580 * util/grub-install.in: Handle multi-device filesystems.
7581 * util/grub-probe.c (probe). Make device_names a char **. Add delim
7582 argument. All users updated.
7583 Handle multi-device filesystems.
7584 Use 'delim' as separator.
7585 Remove device check to allow filesystems on file.
7586 (main): Support -0 argument. Handle multi-device.
7587 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
7588 Fix a cross-device check while on it.
7589 (arguments): Remove root_dev.
7590 (argp_parser): Remove -r.
7591 (main): Remove root_dev.
7592
2f53a9ed
VS
75932012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7594
7595 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
7596
17e1d934
VS
75972012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7598
7599 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
7600 symbol.
7601 Reported by: NODA, Kai <nodakai>.
7602
d3e3fab5
VS
76032012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7604
7605 Fix ehci on amd64.
7606
7607 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
7608 pointers.
7609 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
7610 (grub_ehci_setup_qh): Likewise.
7611 (grub_ehci_find_qh): Likewise.
7612 (grub_ehci_transaction): Likewise.
7613 (grub_ehci_setup_transfer): Likewise.
7614 (grub_ehci_check_transfer): Likewise.
7615 (grub_ehci_portstatus): Likewise.
7616 (grub_ehci_detect_dev): Likewise.
7617 (grub_ehci_transfer_controller_data): New field td_last_phys.
7618 (grub_ehci_setup_transfer): Fill td_last_phys.
7619 (grub_ehci_check_transfer): Use td_last_phys.
7620
3008675b
SG
76212012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
7622
7623 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
7624 if no submenu is present.
7625
fc9b5652
AN
76262012-02-01 Aleš Nesrsta <starous@volny.cz>
7627
7628 CBI support.
7629
7630 * include/grub/usb.h (grub_usbms_protocol_t): New values
7631 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
7632 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
7633 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
7634 (grub_usbms_dev): Add subclass, protocol and intrpt.
7635 Remove in_maxsz and out_maxsz.
7636 (grub_usbms_reset): Rename to ...
7637 (grub_usbms_bo_reset): .. this.
7638 (grub_usbms_cbi_cmd): New function.
7639 (grub_usbms_cbi_reset): Likewise.
7640 (grub_usbms_reset): Likewise.
7641 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
7642 (grub_usbms_transfer): Rename to ...
7643 (grub_usbms_transfer_bo): ... this.
7644 (grub_usbms_transfer_cbi): Likewise.
7645 (grub_usbms_transfer): Likewise.
7646
a2b81d53
AN
76472012-02-01 Aleš Nesrsta <starous@volny.cz>
76482012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
7651 the support for the CS5536 modification thereos and few bugfixes.
7652
7653 * grub-core/Makefile.core.def (ehci): New module.
7654 * grub-core/bus/usb/ehci.c: New file.
7655 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
7656 port and hubaddr. All users updated.
7657 Save port and hubaddr into dev structure.
7658 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
7659 define.
7660 * include/grub/pci.h (grub_dma_phys2virt): New function.
7661 (grub_dma_virt2phys): Likewise.
7662 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
7663
b1d51f02
VS
76642012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7665
7666 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
7667 check as some mkfs implementations omit it.
7668
fc694106
VS
76692012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7670
7671 * docs/grub.texi (Unicode): Mention identifier and space limitations.
7672
6c0920e3
VS
76732012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7674
7675 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
7676 Add new member volname2.
7677 (grub_jfs_label): Use volname2 if available.
7678
d1a46f9a
VS
76792012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7680
7681 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
7682 over last_mounted as seen in image generated by mkfs.nilfs2.
7683 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
7684
dec8ed14
VS
76852012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7686
7687 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
7688 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
7689 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
7690
7397c69b
VS
76912012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7692
7693 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
7694 over the sector.
7695
b3fe42ad
VS
76962012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7697
7698 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
7699 subvolume name (by removing a bogus and useless check).
7700
10476bb0
VS
77012012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
7702
7703 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
7704 sizeof while on it.
7705
9c08ad87
VS
77062012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7707
7708 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
7709 (grub_scsi_read_capacity10): ... this.
7710 (grub_scsi_read_capacity16): New function.
7711 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
7712 0xffffffff.
7713 Fix off-by-one error.
7714 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
7715 64-bit unsigned.
7716 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
7717 (grub_scsi_read_capacity10): ... this.
7718 (grub_scsi_read_capacity_data): Rename to ...
7719 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
7720 (grub_scsi_read_capacity16): New struct.
7721 (grub_scsi_read_capacity16_data): Likewise.
7722 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
7723 grub_scsi_cmd_read_capacity10.
7724 New command grub_scsi_cmd_read_capacity16.
7725
bc8d0f45
VS
77262012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7727
7728 SCSI >2TiB support.
7729
7730 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
7731 (grub_scsi_write16): Likewise.
7732 (grub_scsi_read): Use read16 when necessary.
7733 (grub_scsi_write): Likewise.
7734 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
7735 (grub_scsi_write16): Likewise.
7736 (grub_scsi_cmd_t): Add READ16 and WRITE16.
7737
cc774926
VS
77382012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7739
7740 SCSI write support (for usbms mainly).
7741
7742 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
7743 a const pointer.
7744 (grub_scsi_write): Implement.
7745 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
7746
67639fd7
VS
77472012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
7748
7749 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
7750 variable.
7751
9079d3ed
VS
77522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7753
7754 * grub-core/lib/posix_wrap/string.h (memchr): New function.
7755
c6a6f204
VS
77562012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7757
7758 * po/POTFILES.in: Regenerate.
7759
ecbf8cd1
VS
77602012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7761
7762 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
7763 with grub_printf to avoid unnecessary fatal failure.
7764
0b3b3b38
VS
77652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7766
7767 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
7768 (INT_MAX): Likewise.
7769 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
7770 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
7771 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
7772 (strcpy): Likewise.
7773 (strstr): Likewise.
7774 (strchr): Likewise.
7775 (strncpy): Likewise.
7776 (strcat): Likewise.
7777 (strncat): Likewise.
7778 (strcoll): Likewise.
7779 * include/grub/types.h (GRUB_SHRT_MAX): New define.
7780 (GRUB_INT_MAX): Likewise.
7781
db7337a3
VS
77822012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7783
7784 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
7785 unexpected error.
7786 (optimize_utf8): Likewise.
7787 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
7788
f37c87e1
VS
77892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7790
7791 * grub-core/boot/i386/pc/lnxboot.S: Use
7792 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
7793 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
7794 location.
7795 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
7796 definition.
7797 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
7798
63fe43f3
VS
77992012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7800
7801 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
7802 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
7803 now to avoid double free.
7804 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
7805 hostdisk.
7806 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
7807 * util/grub-probe.c (escape_of_path): Always return a new copy.
7808 (print_full_name): Escape path.
7809 (probe): Don't call grub_util_devname_to_ofpath on NULL.
7810 Fix hints on abstractions.
7811
ebe2c961
VS
78122012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7813
7814 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
7815 Don't add "root" line if no compatibility hont is available.
7816 Suggested by: Seth Goldberg.
7817
2b5336a2
VS
78182012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7819
7820 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
7821 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
7822 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
7823 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
7824
74310bd8
VS
78252012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
7828
c30582ba
VS
78292012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 * util/grub-pe2elf.c (ehdr): Make static.
7832 (shdr): Likewise.
7833 (num_sections): Likewise.
7834 (offset): Likewise.
7835
5f47782c
VS
78362012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7837
7838 Eliminate ofpath limits and possible overflows.
7839
7840 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
7841 (OF_PATH_MAX): Removed.
7842 (MAX_DISK_CAT): New const.
7843 (find_obppath): Use allocated rather than preallocated buffer.
7844 Return result. Argument of_path removed. All users updated.
7845 Add missing fdstat.
7846 (xrealpath): New function.
7847 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
7848 Allocate rather than use preallocated buffer. All users updated.
7849 (__of_path_common): Use allocated rather than preallocatecd buffer.
7850 Return result. Argument of_path removed. All users updated.
7851 (vendor_is_ATA): Read only needed part form the file.
7852 (check_sas): Allocate depending on contents rather than fixed.
7853 (main) [STANDALONE]: Handle NULL result.
7854
f990cbf9
VS
78552012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7856
7857 * grub-core/normal/completion.c (iterate_dev): Close the disk.
7858
9c6e84b8
VS
78592012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7860
7861 Cryptodisk write support.
7862
7863 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
7864 (grub_cryptodisk_decrypt): Moved logic to ...
7865 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
7866 (grub_cryptodisk_write): Implement.
7867 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
7868 (grub_util_fd_write): ... this. Make global.
7869 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
7870
87cf9744
VS
78712012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7872
7873 * include/grub/list.h (grub_list_remove): Don't crash if element is
7874 removed twice.
7875
ca8c0baf
VS
78762012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7877
7878 Rename ofconsole to console.
7879
7880 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
7881 as sysnonym to console.
7882 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
7883 * grub-core/term/ieee1275/console.c: ... this. All users updated.
7884 Rename grub_ofconsole_ to grub_console_. All users updated
7885 (grub_console_term_output): Rename "ofconsole" to "console".
7886 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
7887 as "console".
7888
64c8b8f6
VS
78892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7890
7891 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
7892 handling.
7893 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
7894 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
7895 GRUB_DISK_DEVICE_FILE_ID.
7896
f6c434d5
VS
78972012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7898
7899 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
7900 and improve performance.
7901
5858b42d
VS
79022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7903
7904 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
7905 missing ieee1275/ prefix on whole disk.
7906
4ed3c26b
VS
79072012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7908
7909 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
7910 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
7911
df71143e
VS
79122012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7913
7914 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
7915
076e7c0f
VS
79162012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7917
7918 Merge common RAID and LVM logic to an abstract diskfilter.
7919 Add LDM support using the same framework.
7920
7921 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
7922 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
7923 (libgrubmods): Remove grub-core/disk/raid.c and
7924 grub-core/partmap/gpt.c.
7925 * grub-core/Makefile.core.def (ldm): New module.
7926 (raid): Renamed to diskfilter. All users updated.
7927 * grub-core/disk/raid.c: Moved to ...
7928 * grub-core/disk/diskfilter.c: ... here.
7929 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
7930 (lv_num): New var.
7931 (find_array): Renamed to ...
7932 (find_lv): ... this. Support multi-LV. Skip nameless LVs
7933 (grub_is_array_readable): Renamed to ...
7934 (grub_is_lv_readable): ... this. Support multinode hierarchy.
7935 (insert_array): New argument id.
7936 (is_node_readable): New function.
7937 (scan_device): Rename to ...
7938 (scan_disk): .. this. Restrict to one disk.
7939 (scan_devices): New function.
7940 (grub_diskfilter_iterate): Support multi-LV.
7941 Skip invisible and nameless LVs.
7942 (grub_diskfilter_memberlist): Support multi-LV.
7943 (grub_diskfilter_read_node): New function.
7944 (grub_raid_read): Most of logic moved to ...
7945 (read_segment): ... here
7946 (read_lv): New function.
7947 (grub_diskfilter_get_vg_by_uuid): New function.
7948 (grub_diskfilter_make_raid): Likewise.
7949 * grub-core/disk/ldm.c: New file.
7950 * grub-core/disk/lvm.c (vg_list): Removed.
7951 (lv_count): Likewise.
7952 (scan_depth): Likewise.
7953 (is_lv_readable): Likewise.
7954 (grub_lvm_getvalue): Advance pointer past the number.
7955 (find_lv): Removed.
7956 (do_lvm_scan): Refactored into ...
7957 (grub_lvm_detect): ... this. Support raid.
7958 (grub_lvm_iterate): Removed.
7959 (grub_lvm_memberlist): Likewise.
7960 (grub_lvm_open): Likewise.
7961 (grub_lvm_close): Likewise.
7962 (read_lv): Likewise.
7963 (read_node): Likewise.
7964 (is_node_readable): Likewise.
7965 (is_lv_readable): Likewise.
7966 (grub_lvm_read): Likewise.
7967 (grub_lvm_write): Likewise.
7968 (grub_lvm_dev): Use diskfilter
7969 (GRUB_MOD_INIT): Likewise.
7970 (GRUB_MOD_FINI): Likewise.
7971 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
7972 new interface.
7973 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
7974 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7975 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
7976 grub_diskfilter_read_node.
7977 Fix a bug with xor.
7978 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
7979 grub_diskfilter_read_node.
7980 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
7981 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
7982 (grub_disk_dev_iterate): Move from here...
7983 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
7984 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
7985 Make global.
7986 (grub_hostdisk_find_partition_start): Likewise.
7987 (grub_hostdisk_os_dev_to_grub_drive): New function.
7988 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
7989 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
7990 * util/getroot.c (make_device_name): ... here.
7991 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
7992 Move to ...
7993 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
7994 * grub-core/kern/emu/hostdisk.c
7995 (convert_system_partition_to_system_disk): Move to ...
7996 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
7997 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
7998 * util/getroot.c (device_is_wholedisk): ... here.
7999 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
8000 * util/getroot.c (find_system_device): ... here.
8001 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
8002 Move to ...
8003 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
8004 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
8005 Move to ...
8006 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
8007 Handle LDM.
8008 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
8009 Move to ...
8010 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
8011 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
8012 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
8013 DISKFILTER.
8014 * include/grub/raid.h: Renamed to ...
8015 * include/grub/diskfilter.h: ... this.
8016 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
8017 (GRUB_RAID_LAYOUT_*): Make into array.
8018 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
8019 (grub_diskfilter_vg): New struct.
8020 (grub_diskfilter_pv_id): Likewise.
8021 (grub_raid_member): Removed.
8022 (grub_raid_array): Likewise.
8023 (grub_diskfilter_pv): New struct.
8024 (grub_diskfilter_lv): Likewise.
8025 (grub_diskfilter_segment): Likewise.
8026 (grub_diskfilter_node): Likewise.
8027 (grub_diskfilter_get_vg_by_uuid): New proto.
8028 (grub_raid_register): Inline.
8029 (grub_diskfilter_unregister): Likewise.
8030 (grub_diskfilter_make_raid): New proto.
8031 (grub_diskfilter_vg_register): Likewise.
8032 (grub_diskfilter_read_node): Likewise.
8033 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
8034 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
8035 (grub_util_is_ldm): Likewise.
8036 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
8037 (grub_hostdisk_find_partition_start): Likewise.
8038 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
8039 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
8040 New definition.
8041 (grub_gpt_partition_map_iterate): New proto.
8042 * include/grub/lvm.h (grub_lvm_vg): Removed.
8043 (grub_lvm_pv): Likewise.
8044 (grub_lvm_lv): Likewise.
8045 (grub_lvm_segment): Likewise.
8046 (grub_lvm_node): Likewise.
8047 * util/getroot.c [...]
8048 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
8049 (probe_abstraction): Likewise.
8050 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
8051 (main): Remove dead logic.
8052
8a7f9b9c
VS
80532012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
8054
8055 Simplify root device discover and don't fail when trying to open
8056 incorrect devices.
8057
8058 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
8059 function.
8060 (get_diskname_from_path): Likewise.
8061 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
8062 of iterating.
8063
30545b85
VS
80642012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8065
8066 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
8067
28ea58cf
VS
80682012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8069
8070 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
8071 pastthe end.
8072
692dabca
VS
80732012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
8074
8075 * util/grub-install.in: Add missing \.
8076 Reported by: gentoofan
8077
f6e4ea70
VS
80782012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
8079
8080 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
8081 (direct_read): Use correct compressed size.
8082 (grub_squash_read_data): Likewise.
8083
80842012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
8085
8086 * docs/grub.texi (Platform limitations): New section.
8087 (Platform-specific operations): Likewise.
8088 * docs/grub-dev.texi (Porting): Likewise.
8089
76261110
VS
80902012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
8091
8092 IEEE1275 disk write support.
8093
8094 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
8095 const void *.
8096 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
8097 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
8098 and seek loginc to ...
8099 (grub_ofdisk_prepare): ... here.
8100 (grub_ofdisk_write): Implement.
8101
fc36d603
VS
81022012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
8103
8104 ARC disk write support.
8105
8106 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
8107 (reopen): New argument writable. All users updated.
8108 Handle required access mode.
8109 (grub_arcdisk_write): Implement.
8110 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
8111 (grub_arc_firmware_vector): Make buffer to write a const buffer.
8112
e06c2e7a
VS
81132012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
8114
8115 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
8116 (read_sblock): Don't attempt to read superblocks outside the disk size.
8117
ff447958
VS
81182012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
8119
8120 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
8121 first superblock to find the second one when possible.
8122
9e88df39
VS
81232012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
8124
8125 * util/grub-install.in: Fix an ARC bug.
8126 Print a warning if no platform-specific setup is available.
8127
bb26e4ff
VS
81282012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8129
8130 Use static allocation rather than scratch pointer in reed_solomon.
8131 It decreases its size significantly and avoids a variable in .text.
8132
8133 * grub-core/lib/reed_solomon.c (scratch): Removed.
8134 (chosenstat): New const or static array.
8135 (sigma): Likewise.
8136 (errpot): Likewise.
8137 (errpos): Likewise.
8138 (sy): Likewise.
8139 (mstat): Likewise.
8140 (errvals): Likewise.
8141 (eqstat): Likewise.
8142 (pol_evaluate): Replace x with log_x argument. All users updated.
8143 (syndroms): Removed.
8144 (gauss_solve): Use statically allocated arrays.
8145 (rs_recover): Likewise.
8146 Calculate syndroms directly.
8147 (decode_block): Use statically allocated arrays.
8148 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
8149 (main) [TEST]: Allow -DTEST -DSTANDALONE.
8150
2e13ede5
VS
81512012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8152
8153 Eliminate fixed limit on reed solomon decoder length.
8154
8155 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
8156 rather than hardcoding the address.
8157 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
8158 no_reed_solomon_length.
8159 Move gate_a20 to no-reed-solomon part.
8160 Don't force a particular size of no reed-solomon part.
8161 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
8162 Removed.
8163 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
8164 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
8165
f8a9ab12
VS
81662012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8167
8168 * grub-core/commands/wildcard.c (match_files): Handle filenames
8169 without explicit device.
8170 (wildcard_expand): Don't add explicit device if not already present.
8171 * tests/grub_script_echo1.in: Add a new expansion test.
8172
87edb894
VS
81732012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8174
8175 Replace single-linked with double-linked lists. It results in more
8176 compact and more efficient code.
8177
8178 * grub-core/kern/list.c (grub_list_push): Moved from here ...
8179 * include/grub/list.h (grub_list_push): ... to here. Set prev.
8180 (grub_list_remove): Moved from here ...
8181 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
8182 (grub_prio_list_insert): Set prev.
8183 * include/grub/list.h (grub_list): Add prev. All users updated.
8184
48b391e9
VS
81852012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8186
8187 Handle newer autotools. Add some missing quotes while on it.
8188
8189 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
8190 (pkglib_DATA): Move grub-mkconfig_lib from here ...
8191 (pkgdata_DATA): ... here.
8192 * Makefile.util.def (update-grub_lib): Removed.
8193 * conf/Makefile.common (pkglib_DATA): Removed.
8194 (pkglib_SCRIPTS): Likewise.
8195 (pkgdata_DATA): New variable.
8196 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
8197 needed.
8198 Add missing quotes.
8199 Remove unused variable while on it.
8200 * tests/util/grub-shell.in: Likewise.
8201 * util/grub-install.in: Likewise.
8202 * util/grub-mkconfig.in: Likewise.
8203 * util/grub-mknetdir.in: Likewise.
8204 * util/grub-mkrescue.in: Likewise.
8205 * util/grub-mkstandalone.in: Likewise.
8206 * util/grub.d/00_header.in: Likewise.
8207 * util/grub.d/10_hurd.in: Likewise.
8208 * util/grub.d/10_illumos.in: Likewise.
8209 * util/grub.d/10_kfreebsd.in: Likewise.
8210 * util/grub.d/10_linux.in: Likewise.
8211 * util/grub.d/10_netbsd.in: Likewise.
8212 * util/grub.d/10_windows.in: Likewise.
8213 * util/grub.d/20_linux_xen.in: Likewise.
8214 * util/grub.d/30_os-prober.in: Likewise.
8215 * util/update-grub_lib.in: Removed.
8216
82172012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
8218
8219 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
8220 a workaround for intel problem.
8221
66832792
PRP
82222012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
82232012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
82242012-01-23 pfsmorigo
8225
8226 * util/grub-install.in: Support dd'in into PreP partition.
8227 * util/grub-probe.c (probe): Support discovering partition type.
8228 (main): Support -t msdos_parttype.
8229
7816a17e
VS
82302012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
8231
8232 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
8233 infinite recursion using counter.
8234 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
8235 init to skip it if the magic check fails.
8236 (dec_stream_header): Init s->crc32.
8237
8f9d3a8c
ZB
82382012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
82392012-01-22 Zachary Bedell <pendorbound@gmail.com>
82402012-01-22 Richard Laager <rlaager@wiktel.com>
8241
8242 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
8243 All users updated.
8244 (find_bestub): Determine correct size.
8245 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
8246 (scan_disk): Align the size down.
8247 Call check pool before find_bestub to have ashift.
8248
b055dd32
VS
82492012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8250
8251 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
8252 dprintf in no-malloc zone.
8253
d779e9bd
ML
82542012-01-22 Mario Limonciello <mario_limonciello@dell.com>
8255
8256 * configure.ac: Add back in test for limits.h.
8257
b508af69
VS
82582012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8259
8260 Support 4K-sector NTFS.
8261
8262 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
8263 (grub_ntfs_data): Remove blocksize.
8264 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
8265 Remove data argument. All users updated.
8266
dad9c8b5
VS
82672012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
8268
8269 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
8270 being in .text to avoid dprel references.
8271 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
8272 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
8273 (grub_arch_highmemsize): Likewise.
8274 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
8275 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
8276 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
8277
d43a777e
VS
82782012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8279
8280 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
8281
8282 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
8283 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
8284
34e4208f
VS
82852012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8286
8287 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
8288 GRUB_UTIL.
8289 (grub_set_datetime_cmos): Likewise.
8290
3ec0fc1c
VS
82912012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8292
8293 Make XZ compression parameters dependent on target and not host CPU.
8294
8295 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
8296 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
8297
22489834
VS
82982012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
8299
8300 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
8301 set but not used variable.
8302
8502fbca
VS
83032012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8304
8305 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
8306 created when no uuid support is compiled into mkfs.reiser.
8307
76df2068
VS
83082012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8309
8310 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
8311 (utf8_to_macroman): Do the opposite.
8312 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
8313
64e3f8f6
VS
83142012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8315
8316 * configure.ac: Refise build qemu_mips w/o unifont.
8317
9c271078
VS
83182012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8319
8320 Eliminate grub_min/grub_max prone to overflow usage.
8321
8322 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
8323 (poll_nonroot_hub): Likewise.
8324 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
8325 (grub_affs_label): Likewise.
8326 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
8327 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
8328 (grub_hfs_label): Likewise.
8329 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
8330 * grub-core/fs/zfs/zfs.c (MIN): Remove.
8331 (zap_leaf_array_equal): Use grub_size. Remove MIN.
8332 (zap_leaf_array_get): Likewise.
8333 (dnode_get_path): Likewise.
8334 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
8335 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
8336 * grub-core/script/execute.c (grub_script_break): Likewise.
8337 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
8338 grub_max.
8339 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
8340 * include/grub/misc.h (grub_min): Removed.
8341 (grub_max): Likewise.
8342
80662dbc
VS
83432012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
8344
8345 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
8346 direct.inode = 0.
8347
e6da1467
VS
83482012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8349
8350 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
8351
b1ac4cb1
VS
83522012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8353
8354 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
8355
b4bf7c3b
VS
83562012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8357
8358 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
8359 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
8360
8ee1101a
VS
83612012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8362
8363 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
8364 rather than a hack for grub_strncasemap.
8365
83662012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8367
8368 Support multiple initrds
8369 Note: part of this was accidently committed in r3739.
8370
8371 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
8372 initrd.
8373 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
8374 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
8375 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
8376 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8377 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8378
4d1e2bc9
VS
83792012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8380
8381 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
8382 disks with unknown size.
8383 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
8384
75b49ebe
VS
83852012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8386
8387 Remove defines pertaining to arbitrary limits not affecting GRUB
8388 anymore.
8389
8390 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
8391 (EXT2_MAX_SYMLINKCNT): Likewise.
8392 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
8393 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
8394 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
8395 (GRUB_PXE_MAX_BLKSIZE): Likewise.
8396 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
8397 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
8398 (DN_MAX_OBJECT_SHIFT): Likewise.
8399 (DN_MAX_OFFSET_SHIFT): Likewise.
8400 (DN_MAX_OBJECT): Likewise.
8401 (DNODES_PER_LEVEL_SHIFT): Likewise.
8402 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
8403 (SPA_MAXBLOCKSIZE): Likewise.
8404 (SPA_BLOCKSIZES): Likewise.
8405 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
8406 (MZAP_MAX_BLKSZ): Likewise.
8407
74a1dce7
VS
84082012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8409
8410 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
8411 handle NULL appropriately.
8412 Remove MIN.
8413
30c7d3ce
VS
84142012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8415
8416 Fix efiemu.
8417
8418 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
8419 cpu/types.h.
8420 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
8421 * configure.ac: Fix efiemu check.
8422
3c76ea0c
VS
84232012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8424
8425 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
8426 grub_probe.
8427 Reported by: adamwill
8428
7e532280
SG
84292012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
8430
8431 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
8432
30492374
VS
84332012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8434
8435 Fix handling of wide characters in gfxterm.
8436
8437 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
8438 (clear_char): Likewise.
8439 (paint_char): Skip code == NULL chars.
8440 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
8441
e70cb72f
VS
84422012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8443
8444 * grub-core/normal/charset.c: Move comment to right place.
8445
5c827cf9
VS
84462012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8447
8448 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
8449 (GRUB_AFFS_FLAG_FFS): Put back where it was.
8450 (grub_affs_mount): Revert the correct version checking.
8451
53603892
VS
84522012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8453
8454 * docs/grub.texi (Unicode): Mention several other unsupported features.
8455
ff094b9b
VS
84562011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
8457
8458 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
8459 case statements as compile-time one.
8460 (direct_read): Prevent spurious warnings.
8461 (grub_squash_read_data): Likewise.
8462
c029da8a
VS
84632011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
8464
8465 Various squash4 fixes and LZO and XZ support.
8466
8467 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
8468 Add xzembed source files.
8469 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
8470 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
8471 (grub_squash_inode): New subtype long_dir.
8472 (SQUASH_TYPE_LONG_DIR): New inode type.
8473 (COMPRESSION): New enum.
8474 (XZBUFSIZ): New const.
8475 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
8476 (read_chunk): Use data->decompress.
8477 (zlib_decompress): New function.
8478 (lzo_decompress): Likewise.
8479 (xz_decompress): Likewise.
8480 (squash_mount): Set new data fields.
8481 (grub_squash_iterate_dir): Handle long dir.
8482 (squash_unmount): Free xzdec and xzbuf.
8483 (grub_squash_open): Check ino type.
8484 (direct_read): Stylistic fixes. Use data->decompress.
8485 (grub_squash_read_data): Likewise.
8486 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
8487 (get_byte): Likewise.
8488 (grub_zlib_disk_read): Removed.
8489 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
8490 (GRUB_POSIX_BOOL_DEFINED): New define.
8491 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
8492 * grub-core/lib/xzembed/xz.h: Addmissing includes.
8493 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
8494 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
8495
7a45a539
VS
84962011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
8497
8498 Don't override more informative errors.
8499
8500 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
8501 * grub-core/font/font.c (open_section): Likewise.
8502 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
8503 filename. Don't override errors.
8504 (grub_cmd_openbsd_ramdisk): Don't override errors.
8505 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
8506 (grub_cmd_initrd): Likewise.
8507 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8508 (grub_cmd_initrd): Likewise.
8509 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
8510 (grub_cmd_linux): Likewise.
8511 (grub_cmd_initrd): Likewise.
8512 (grub_cmd_payload): Likewise.
8513 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
8514 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
8515 (grub_cmd_module): Likewise.
8516 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8517 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
8518 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
8519 (grub_cmd_xnu_mkext): Likewise.
8520 (grub_cmd_xnu_ramdisk): Likewise.
8521 (grub_xnu_check_os_bundle_required): Likewise.
8522 (grub_xnu_load_kext_from_dir): Likewise.
8523 (grub_cmd_xnu_kextdir): Likewise.
8524 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
8525
b2d004db
VS
85262011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8527
8528 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
8529 as 1024 in block size field. Found on one of my test images.
8530 Small optimisation while on it.
8531
ec000eac
VS
85322011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8533
8534 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
8535 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
8536 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
8537 performance fixes while on it.
8538 (grub_sfs_close): Fix memory leak while on it.
8539 (grub_sfs_label): Convert Latin1 to UTF-8.
8540
f50e1165
VS
85412011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
8544 space to avoid overflows.
8545 (grub_hfs_label): Convert from macroman to UTF-8.
8546
2ae254de
VS
85472011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8548
8549 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
8550
0108f491
VS
85512011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8552
8553 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
8554
f45f5f89
VS
85552011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8556
8557 * unicode: Import Unicode 6.0 data.
8558
4d8c4765
VS
85592011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8560
63fa8ef9
VS
8561 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
8562 outside of range.
8563
85642011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8565
8566 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
8567
8568 * include/grub/charset.h (grub_getend): New function.
8569 * grub-core/script/function.c (grub_script_function_find): Use
8570 grub_getend.
8571 * grub-core/normal/completion.c (add_completion): Likewise.
8572
f3cb4a4e
VS
85732011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8574
8575 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
8576 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
8577 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
8578 (GRUB_UNICODE_TAG_END): Likewise.
8579 (GRUB_UNICODE_LAST_VALID): Likewise.
8580
5da8dbc5
VS
85812011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8582
8583 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
8584 len and make it smaller. All users updated.
8585 * util/import_unicode.py: Put length and not end character.
8586 Check length.
8587
8569f13d
VS
85882011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8589
8590 Make better Unicode-compliant and unify some UTF-8 code pathes.
8591
8592 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
8593 valid character.
8594 (grub_is_valid_utf8): Use grub_utf8_process.
8595 Check resulting code range.
8596 (grub_utf8_to_ucs4): Use grub_utf8_process.
8597 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
8598 valid character.
8599
cc4fddf5
VS
86002011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8601
8602 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
8603
bbc47747
VS
86042011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8605
8606 * docs/grub.texi (Filesystems): Mention AFS.
8607
f63d6bf4
VS
86082011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8609
8610 * docs/grub.texi (Filesystems): Clarify restrictions.
8611 (Regexp): Mention non-Unicode regexp behaviour.
8612 (Other): Mention non-Unicode matching behaviour.
8613
74bbf0db
VS
86142011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8615
f63d6bf4 8616 Make HFS implementation use MacRoman.
74bbf0db
VS
8617
8618 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
8619 (macroman): New const array.
8620 (macroman_to_utf8): New function.
8621 (utf8_to_macroman): Likewise.
8622 (grub_hfs_find_dir): Use utf8_to_macroman.
8623 (grub_hfs_dir): Use macroman_to_utf8.
8624 Set case_insensitive.
8625
4ea0316e
VS
86262011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8627
8628 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
8629
d3c13cbd
VS
86302011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8631
8632 Integrate hints into autogeneration scripts.
8633
8634 * docs/grub.texi (Filesystems): Add a hostdisk example.
8635 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
8636 (grub-probe): Add ofpath.
8637 * gentpl.py: Remove group nosparc64.
8638 * grub-core/commands/search.c (cache_entry): New struct.
8639 (cache): New var.
8640 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
8641 * grub-core/commands/search_wrap.c (options): Add platform-specific
8642 hint options.
8643 (grub_cmd_search): Handle platform-specific hints.
8644 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
8645 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
8646 (grub_util_biosdisk_data): Likewise.
8647 (grub_util_biosdisk_open): Set device_map.
8648 (read_device_map): Handle "" as indication of no map.
8649 Set device_map.
8650 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
8651 (grub_util_biosdisk_get_compatibility_hint): New function.
8652 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
8653 * include/grub/emu/hostdisk.h
8654 (grub_util_biosdisk_get_compatibility_hint): New proto.
8655 * util/grub-install.in: Don't call grub-mkdevicemap.
8656 Add platform-specific hint to load.cfg.
8657 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
8658 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
8659 hints. Set root preliminary to compatibility hint, not to OS name.
8660 * util/grub-probe.c (PRINT_*): Add hints.
8661 (print): Make static.
8662 (escape_of_path): New function.
8663 (guess_bios_drive): Likewise.
8664 (guess_efi_drive): Likewise.
8665 (guess_baremetal_drive): Likewise.
8666 (print_full_name): Likewise.
8667 (probe): Handle hints.
8668 (main): Likewise.
8669 * util/ieee1275/devicemap.c: Removed.
8670 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
8671 updated.
8672 (grub_util_devname_to_ofpath): Return NULL on failure.
8673
8674 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
8675 resource leak.
8676 * util/getroot.c (grub_util_pull_device): Fix memory leak.
8677
8678 * po/POTFILES.in: Regenerated.
8679
8680 Allow purely long options
8681
8682 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
8683 (SHORT_ARG_USAGE): Likewise.
8684 (grub_arg_show_help): Compare opt with help_options.
8685 (parse_option): Receive opt as argument. If makes big simplificatons.
8686 All users updated
8687
00ce2df3
VS
86882011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8689
8690 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
8691 Restructure to avoid warning.
8692
e77e325f
VS
86932011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8694
8695 * util/grub-install.in: Account for possible escaped comma in device
8696 name.
8697
165099ea
VS
86982011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8699
8700 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
8701 channel.
8702
ce4a999d
VS
87032011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8704
8705 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
8706 allocation and zero-setting.
8707 (grub_ieee1275_get_devname): Check that alias is complete.
8708
379586ad
VS
87092011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8710
8711 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
8712 unaligned segments.
8713
9197b0ad
VS
87142011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
8715
8716 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
8717 prefix.
8718 (grub_ofdisk_open): Check and discard ieee1275 prefix.
8719 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
8720 Add ieee1275 prefix.
8721
edddb7f9
VS
87222011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8723
8724 * docs/grub.texi (Filesystems): Update.
8725
a1a8b1b9
VS
87262011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8727
8728 Support odc, newc and bigendian cpio formats.
8729
8730 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
8731 * grub-core/Makefile.core.def (newc): New module.
8732 (odc): Likewise.
8733 (cpio_be): Likewise.
8734 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
8735 (MAGIC): Likewise.
8736 (MAGIC2): Likewise.
8737 (head) [MODE_ODC]: Adapt for the format.
8738 (head) [MODE_NEWC]: Likewise.
8739 (head) [!MODE_*]: Write fields of interest as arrays.
8740 (MAGIC_USTAR): Removed.
8741 (read_number) [MODE_NEWC]: Change to hex.
8742 (read_number) [!MODE_*]: Parse binary arrays.
8743 (grub_cpio_find_file): Factor out the code for better structure and
8744 always use read_number.
8745 (grub_cpio_mount): Use MAGIC and MAGIC2.
8746 (grub_cpio_dir): Exit on first hook non-0 return.
8747 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
8748 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
8749 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
8750 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
8751 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
8752 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
8753 * grub-core/fs/newc.c: New file.
8754 * grub-core/fs/odc.c: Likewise.
8755 * grub-core/fs/cpio_be.c: Likewise.
8756
58eba9ee
VS
87572011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8758
8759 Fix handling of tar numbers occupying the whole field.
8760
8761 * grub-core/fs/cpio.c (read_number): New function.
8762 (grub_cpio_find_file): Use read_number instead of strtoull.
8763
a54a0e12
VS
87642011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8765
8766 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
8767 occupying the whole field size.
8768
a6120aca
LA
87692011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
8770
8771 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
8772
a93964ce
VS
87732011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8774
8775 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
8776
3ea1ca46
SG
87772011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
8778
8779 * grub-core/Makefile.core.def (lzma_decompress): Add missing
8780 TARGET_IMG_LDFLAGS.
8781
b87f7ef2
VS
87822011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8783
8784 * util/getroot.c (ESCAPED_PATH_MAX): New define.
8785 (mountinfo_entry): Increase the field size to take escaping into
8786 account.
8787 (find_root_device_from_libzfs): Add one byte to size of strings for
8788 security.
8789
62092395
VS
87902011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8791
8792 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
8793 an assert.
8794 * util/grub-setup.c (setup): Likewise.
8795
1f0b1a77
VS
87962011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
8797
8798 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
8799 _LzmaDecodeA.
8800
8eba9997
VS
88012011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8802
8803 * docs/grub.texi (Internationalisation): New section.
8804
dd0c91e9
VS
88052011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
8806
8807 * docs/grub.texi (Loopback booting): New section.
8808
88092011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
8810
8811 * util/grub-mkstandalone.in: Fix minor typo errors.
8812
198e150a
VS
88132011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
8814
8815 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
8816
8817 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
8818 net/icmp.c and net/icmp6.c.
8819 (http): New module.
8820 (priority_queue): Likewise.
8821 * grub-core/io/bufio.c: Rewritten.
8822 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
8823 TYPE_WITH_CONFIGFILE_OPTION.
8824 (legacy_commands): Add bootp and dhcp.
8825 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
8826 (grub_legacy_parse): Likewise.
8827 * grub-core/lib/priority_queue.c: New file.
8828 * grub-core/net/arp.c: Add missing license header.
8829 (arp_find_entry): Removed.
8830 (arp_find_entry): Likewise.
8831 (grub_net_arp_resolve): Rename to ...
8832 (grub_net_arp_send_request): ...this.
8833 (grub_net_arp_receive): New card argument.
8834 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
8835 Set router and DNS server.
8836 (grub_net_configure_by_dhcp_ack): Handle routing information.
8837 (grub_cmd_bootp): Set checksum.
8838 (grub_bootp_init): Remove net_dhcp.
8839 * grub-core/net/dns.c: New file.
8840 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
8841 completion.
8842 (get_card_packet): Handle allocation.
8843 (grub_efinet_findcards): Set mtu.
8844 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
8845 (get_card_packet): Handle allocation.
8846 (emucard): Set mtu.
8847 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
8848 (GRUB_MOD_INIT): Set mtu.
8849 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
8850 mtu.
8851 (get_card_packet): Handle allocation.
8852 (grub_ofnet_findcards): Set mtu.
8853 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
8854 assert.
8855 (grub_net_recv_ethernet_packet): Handle IPv6.
8856 * grub-core/net/http.c: New file.
8857 * grub-core/net/icmp.c: Likewise.
8858 * grub-core/net/icmp6.c: Likewise.
8859 * grub-core/net/ip.c (ip6addr): New type.
8860 (ip6hdr): Likewise.
8861 (reassemble): Likewise.
8862 (cmp): New function.
8863 (reassembles): New variable.
8864 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
8865 (id): New variable.
8866 (send_fragmented): New function.
8867 (grub_net_send_ip_packet): Rename to ...
8868 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
8869 Handle non-UDP.
8870 (grub_net_recv_ip_packets): Rename to ...
8871 (handle_dgram): ... this. Check checksum. Handle non-UDP.
8872 (free_rsm): New function.
8873 (free_old_fragments): Likewise.
8874 (grub_net_recv_ip4_packets): New function.
8875 (grub_net_send_ip6_packet): Likewise.
8876 (grub_net_send_ip_packet): Likewise.
8877 (grub_net_recv_ip6_packets): Likewise.
8878 (grub_net_recv_ip_packets): Likewise.
8879 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
8880 (LINK_LAYER_CACHE_SIZE): New const.
8881 (link_layer_find_entry): New function.
8882 (grub_net_link_layer_add_address): Likewise.
8883 (grub_net_link_layer_resolve_check): Likewise.
8884 (grub_net_link_layer_resolve): Likewise.
8885 (grub_net_ipv6_get_slaac): Likewise.
8886 (grub_net_ipv6_get_link_local): Likewise.
8887 (grub_cmd_ipv6_autoconf): Likewise.
8888 (parse_ip): Handle one number representation.
8889 (parse_ip6): New functoion.
8890 (match_net): Handle IPv6.
8891 (grub_net_resolve_address): Handle IPv6 and DNS.
8892 (grub_net_resolve_net_address): Handle IPv6.
8893 (route_cmp): New function.
8894 (grub_net_route_address): Find best route.
8895 (grub_net_addr_to_str): Handle IPv6.
8896 (grub_net_addr_cmp): New function.
8897 (grub_net_add_addr): Register local route.
8898 (print_net_address): Handle net address.
8899 (grub_net_poll_cards): Retransmit TCP.
8900 (grub_net_poll_cards_idle_real): Likewise.
8901 (have_ahead): New function.
8902 (grub_net_seek_real): Use underlying seek.
8903 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
8904 * grub-core/net/tcp.c: New file.
8905 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
8906 (cmp): New function.
8907 (ack): Likewise.
8908 (tftp_receive): Handle unordered input.
8909 (destroy_pq): New function.
8910 (tftp_close): Close pq.
8911 * grub-core/net/udp.c: Put missing license header.
8912 (grub_net_udp_socket): New function.
8913 (udp_socket_register): Likewise.
8914 (grub_net_udp_close): Likewise.
8915 (grub_net_recv_udp_packet): Check checksum.
8916 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
8917 * include/grub/misc.h (grub_memchr): New function.
8918 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
8919 (grub_net_card_driver): Return buf in recv.
8920 (grub_net_slaac_mac_list): New struct.
8921 (grub_network_level_protocol_id): Add ipv6.
8922 (grub_net_network_level_addr): Likewise.
8923 (grub_net_network_level_net_addr): Likewise.
8924 (grub_net_app_protocol): Add seek.
8925 (grub_net_socket): Removed.
8926 (grub_net_sockets): Likewise.
8927 (grub_net_socket_register): Likewise.
8928 (grub_net_socket_unregister): Likewise.
8929 (FOR_NET_SOCKETS): Likewise.
8930 (grub_net_add_addr): Add const.
8931 (GRUB_NET_BOOTP_*): New enum.
8932 (grub_net_addr_cmp): New proto.
8933 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
8934 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
8935 (grub_net_hwaddr_to_str): NEw proto.
8936 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
8937 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
8938 (grub_dns_init): New proto.
8939 (grub_dns_fini): Likewise.
8940 (grub_net_tcp_retransmit): Likewise.
8941 (grub_net_link_layer_add_address): Likewise.
8942 (grub_net_link_layer_resolve_check): Likewise.
8943 (grub_net_link_layer_resolve): Likewise.
8944 (grub_net_dns_lookup): Likewise.
8945 (grub_net_add_dns_server): Likewise.
8946 (grub_net_remove_dns_server): Likewise.
8947 (GRUB_NET_TRIES): New const.
8948 (GRUB_NET_INTERVAL): Likewise.
8949 * include/grub/net/arp.h: Mostly rewritten.
8950 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
8951 * include/grub/net/ip.h: Mostly rewritten.
8952 * include/grub/net/netbuff.h: Indent.
8953 * include/grub/net/tcp.h: New file.
8954 * include/grub/net/udp.h: Mostly rewritten.
8955 * include/grub/priority_queue.h: New file.
8956 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
8957 (grub_swap_bytes64_compile_time): Likewise.
8958 (grub_cpu_to_be16_compile_time): Likewise.
8959 (grub_cpu_to_be32_compile_time): Likewise.
8960 (grub_cpu_to_be64_compile_time): Likewise.
8961 (grub_be_to_cpu64_compile_time): Likewise.
8962
215c1800
VS
89632011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
8964
8965 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
8966 UINT_TO_PTR with cast.
8967
c17e546c
VS
89682011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8969
8970 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
8971 don't use them.
8972
ff6b18b6
VS
89732011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8974
8975 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
8976 already there.
8977
70ffcc93
VS
89782011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8979
8980 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
8981 confusing ipxe.
8982
e5f4d260
VS
89832011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8984
8985 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
8986 Add missing const attribute.
8987 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
8988 Likewise.
8989 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
8990 Likewise.
8991
8e54b4b7
VS
89922011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
8993
8994 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
8995 misaligned access.
8996 (serpent_setkey): Likewise.
8997 (serpent_encrypt_internal): Likewise.
8998 (serpent_decrypt_internal): Likewise.
8999 (serpent_encrypt): Don't put an alignment-increasing cast.
9000 (serpent_decrypt): Likewise.
9001 (serpent_test): Likewise.
9002
813c0a2b
VS
90032011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9004
9005 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
9006
f2b60fbd
VS
90072011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
9010
9011 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
9012 grub_addr_t casts.
9013 (PTR_TO_UINT64): Likewise.
9014 (PTR_TO_UINT32): Likewise.
9015
5ef5c511
VS
90162011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9017
9018 * util/grub-mkimage.c (generate_image): Decrease the higher limit
9019 because of stack.
9020 * util/grub-setup.c (setup): Don't add redundancy past the higher load
9021 limit.
9022
c476e6df
VS
90232011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9024
9025 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
9026 text_width > available width a bit more gracefully.
9027
384ad7cc
VS
90282011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9029
9030 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
9031 current address calculation.
9032
96f8caf8
VS
90332011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9034
9035 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
9036 stack.
9037 (encode_block): Likewise.
9038
276b7a8b
VS
90392011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9040
9041 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
9042 certainety.
9043
e3fd394a
VS
90442011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9045
9046 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
9047 non-RS part to avoid RS messing with GDT.
9048 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
9049 Increase to suit in realmode routines.
9050
90512011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
9052
9053 * grub-core/kern/i386/realmode.S: Increase alignment.
9054 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
9055
ee9c2e7a
VS
90562011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9057
9058 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
9059 be deterministic.
9060 (syndroms): Compute 0 syndrom.
9061 (rs_recover): Use 0 syndrom.
9062
7a7f7cc9
VS
90632011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9064
9065 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
9066
a14b16d1
VS
90672011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9068
9069 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
9070 brackets.
9071
9f59e9fc
VS
90722011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9073
ca1b552c
VS
9074 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
9075 account.
9076 (get_top_pad): Likewise.
9077 (get_right_pad): Likewise.
9078 (get_bottom_pad): Likewise.
9079
90802011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9081
9082 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 9083
e739d698
VS
90842011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9085
9086 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
9087 attribute as the structure isn't guaranteed to be properly aligned.
9088 (grub_efi_pci_device_path): Likewise.
9089 (grub_efi_pccard_device_path): Likewise.
9090 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
9091 specify the size of `memory_type'.
9092 (grub_efi_vendor_device_path): Likewise.
9093 (grub_efi_controller_device_path): Likewise.
9094 (grub_efi_acpi_device_path): Likewise.
9095 (grub_efi_expanded_acpi_device_path): Likewise.
9096 (grub_efi_atapi_device_path): Likewise.
9097 (grub_efi_scsi_device_path): Likewise.
9098 (grub_efi_fibre_channel_device_path): Likewise.
9099 (grub_efi_1394_device_path): Likewise.
9100 (grub_efi_usb_device_path): Likewise.
9101 (grub_efi_usb_class_device_path): Likewise.
9102 (grub_efi_i2o_device_path): Likewise.
9103 (grub_efi_mac_address_device_path): Likewise.
9104 (grub_efi_ipv4_device_path): Likewise.
9105 (grub_efi_ipv6_device_path): Likewise.
9106 (grub_efi_infiniband_device_path): Likewise.
9107 (grub_efi_uart_device_path): Likewise.
9108 (grub_efi_vendor_messaging_device_path): Likewise.
9109 (grub_efi_hard_drive_device_path): Likewise.
9110 (grub_efi_cdrom_device_path): Likewise.
9111 (grub_efi_vendor_media_device_path): Likewise.
9112 (grub_efi_file_path_device_path): Likewise.
9113 (grub_efi_protocol_device_path): Likewise.
9114 (grub_efi_piwg_device_path): Likewise.
9115 (grub_efi_bios_device_path): Likewise.
9116
cb8f88ea
VS
91172011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9118
9119 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
9120 (grub_ucs4_to_utf8_alloc): Likewise.
9121 (grub_ucs4_to_utf8): Likewise.
9122 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
9123 (grub_ucs4_to_utf8_alloc): Likewise.
9124
309e5352
VS
91252011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
9126
9127 AFFS never uses unicode.
9128
9129 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
9130 (grub_latin1_to_utf8): New inline function.
9131 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
9132
e7987e1b
VS
91332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9134
9135 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
9136 overflow.
9137
efc2616e
VS
91382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9139
9140 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
9141 (grub_squash_dirent_header): Likewise.
9142 (read_chunk): Don't double swap.
9143 (grub_squash_iterate_dir): Fix swap sizes.
9144
3c349f5a
VS
91452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9146
9147 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
9148
b453412d
VS
91492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9150
9151 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
9152 (grub_hfs_iterate_dir): Likewise.
9153
12e9d4d1
VS
91542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9155
9156 Fix video on platforms where unaligned access is forbidden.
9157 Make several optimisations while on it.
9158
9159 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
9160 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
9161 (grub_video_fbblit_replace_32bit_1bit): Likewise.
9162 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
9163 Disable.
9164 (grub_video_fbblit_replace_16bit_1bit):
9165 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
9166 (grub_video_fbblit_replace_8bit_1bit): Likewise.
9167 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
9168 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
9169 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
9170 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
9171 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
9172 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
9173 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
9174 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
9175 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
9176 (grub_video_fbblit_replace_index_RGB888): Likewise.
9177 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
9178 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
9179 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
9180 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
9181 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
9182 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
9183 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
9184 Disable.
9185 (grub_video_fbblit_blend_XXX565_1bit):
9186 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
9187 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
9188 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
9189 void *.
9190 * grub-core/video/fb/video_fb.c (common_blitter)
9191 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
9192 (grub_video_fb_create_render_target_from_pointer)
9193 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
9194 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
9195 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
9196 definition.
9197 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
9198
ace96609
VS
91992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9200
9201 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
9202 HH22 and HM10 relocations.
9203
fd261d73
VS
92042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9205
9206 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
9207
e59b7857
VS
92082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9209
9210 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
9211 allocation succeeded.
9212
9b4baaa4
VS
92132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9214
9215 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
9216 argument a u8 pointer. All users updated.
9217 Handle unaligned buffers.
9218
dc713193
VS
92192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9220
9221 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
9222 add_part to workaround compiler bug.
9223
30dd48c2
VS
92242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9225
9226 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
9227
0c6087a8
VS
92282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9229
9230 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
9231 Reserve alignment invariants.
9232 (grub_multiboot_load): Likewise.
9233 (retrieve_video_parameters): Likewise.
9234 (grub_multiboot_make_mbi): Likewise.
9235
c2e77777
VS
92362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9237
9238 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
9239 incorrect pointer.
9240
b70b6d11
VS
92412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9242
9243 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
9244 (grub_pata_pio_write): Likewise.
9245
02a2bf83
VS
92462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9247
9248 Add noreturn attributes and remove unreachable code.
9249
9250 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
9251 code.
9252 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
9253 code. Mark as noreturn.
9254 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
9255 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
9256 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
9257 unreachable code.
9258 * grub-core/kern/main.c (grub_main): Mark as noreturn.
9259 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
9260 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
9261 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
9262 * include/grub/kernel.h (grub_main): Mark as noreturn.
9263 * include/grub/reader.h (grub_rescue_run): Likewise.
9264
2019d09e
VS
92652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9266
9267 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
9268 redundant declaration.
9269
d1c501ee
VS
92702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9271
9272 * include/grub/net.h (grub_net_network_level_interfaces): Remove
9273 redundant declaration.
9274 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
9275
61664420
VS
92762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9277
9278 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
9279 to ensure alignment.
9280 (grub_hdparm_print_identify): Make argument uint16 * to ensure
9281 alignment. Ensure tmp alignment.
9282 (grub_cmd_hdparm): Ensure buf alignment.
9283 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
9284 to ensure alignment.
9285 (grub_ata_dumpinfo): Ensure text alignment.
9286 (grub_atapi_identify): Preserve alignment invariant.
9287 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
9288
0d51ee20
VS
92892011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9290
9291 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
9292 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
9293 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
9294 * include/grub/misc.h (grub_reboot)
9295 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
9296 (grub_halt) [__mips__]: Likewise.
9297
753ef8c1
VS
92982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9299
9300 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
9301 Remove redundant declaration.
9302 (grub_mmap_get_post64): Likewise.
9303 (grub_mmap_get_upper): Likewise.
9304 (grub_mmap_get_lower): Likewise.
9305
85c85365
VS
93062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9307
9308 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
9309 uint32_t * to ensure alignment.
9310 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
9311
a23f2cc4
VS
93122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9313
93018f64
VS
9314 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
9315 uint16_t * to ensure alignment.
9316 (sun_pc_partition_map_iterate): Make `block' a union to ensure
9317 alignment.
9318
93192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9320
9321 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
9322 to ensure alignment.
9323 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
9324
58acccd6
VS
93252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9326
9327 * grub-core/fs/ntfs.c (u16at): Make into inline function.
9328 Handle unaligned pointers.
9329 (u32at): Likewise.
9330 (u64at): Likewise.
9331 (fixup): Use byte access instead of v16at.
9332 (find_attr): Fix imporper usage of v32at.
9333 (read_data): Likewise.
9334 (list_file): Handle byte-swapping and unaligned strings.
9335 (grub_ntfs_label): Likewise.
9336
9b05cad7
VS
93372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9338
9339 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
9340 as it's not necessarily aligned.
9341
b3950b84
VS
93422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9343
9344 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
9345 redundant declaration.
9346 (grub_serial_init): Likewise.
9347 (grub_terminfo_init): Likewise.
9348
fcd232b7
VS
93492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9350
9351 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
9352 function.
9353 (ZAP_HASH_IDX): Likewise.
9354 (ZAP_LEAF_HASH_SHIFT): Likewise.
9355 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
9356 (LEAF_HASH): Likewise.
9357 (ZAP_LEAF_NUMCHUNKS): Likewise.
9358 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
9359 alignment invariants. Return pointer. All users updated.
9360 (ZAP_LEAF_ENTRY): Make into inline function.
9361 (NBBY): Removed.
9362 (xor): LIkewise.
9363 (xor_out): Use grub_crypto_xor.
9364 (dnode_get_path): Use grub_get_unaligned.
9365 (nvlist_find_value): Likewise.
9366 (grub_zfs_nvlist_lookup_uint64): Likewise.
9367 (grub_zfs_nvlist_lookup_string): Likewise.
9368 (get_nvlist_size): Likewise.
9369 (grub_zfs_open): Likewise.
9370 (fill_fs_info): Likewise.
9371 (grub_zfs_dir): Likewise.
9372 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
9373 alignment invariants.
9374 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
9375 necessarily aligned.
9376
f138623a
VS
93772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9378
9379 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
9380
564840dc
VS
93812011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9382
9383 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
9384 arithmetic to conserve alignment invariants.
9385
9b40df20
VS
93862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9387
9388 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
9389 redundant declaration.
9390 (grub_efiemu_mm_obtain_request): Likewise.
9391 (grub_efiemu_prepare): Likewise.
9392
d1c930f9
VS
93932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9394
9395 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
9396 to match types.
9397
4c5f3056
VS
93982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9399
9400 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
9401 case of aunaligned recptr.
9402 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
9403 alignment.
9404 (grub_hfsplus_btree_search): Handle unaligned index.
9405
728cba91
VS
94062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9407
9408 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
9409 to get freetag and skip.
9410
eb561f31
VS
94112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9412
9413 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
9414 array.
9415 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
9416 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
9417
20993fbb
VS
94182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9419
9420 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
9421 name for checksum and fix allocation algorithm.
9422
1f313b94
VS
94232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9424
9425 * include/grub/types.h (grub_properly_aligned_t): New type.
9426 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
9427 (grub_get_unaligned16): Add explicit casts.
9428 (grub_get_unaligned32): Likewise.
9429 (grub_get_unaligned64): Likewise.
9430 (grub_set_unaligned16): New function.
9431 (grub_set_unaligned32): Likewise.
9432
47ae27ec
VS
94332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9434
9435 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
9436
78c2cd1c
VS
94372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9438
9439 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
9440 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
9441 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
9442
53072f9b
VS
94432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9444
9445 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
9446 conditionals.
9447
055dc239
VS
94482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9449
9450 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
9451 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
9452
496bd074
VS
94532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9454
9455 Unify and improve RAID and crypto xor.
9456
9457 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
9458 changed to grub_crypto_xor
9459 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
9460 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
9461 Use bigger types when possible.
9462
ef6e4335
VS
94632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9464
9465 * grub-core/disk/raid.c (scan_devices): Fix condition.
9466
5d048bf2
VS
94672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9468
9469 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
9470 Make name a const ptr.
9471
ee533335
VS
94722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9473
9474 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
9475 first argument a const pointer.
9476 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
9477 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
9478 proto.
9479 (grub_children_iterate): Likewise.
9480 (grub_machine_mmap_iterate): Remove redundant declaration.
9481
cc8f3668
VS
94822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9483
9484 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
9485 (grub_cmd_acpi) [!x86]: Disable EBDA.
9486
c5fc563a
VS
94872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9488
9489 Enable UTF8 in gnulib regexp.
9490
9491 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
9492 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
9493 (isupper): Use grub_isupper.
9494 (isascii): New inline function.
9495 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
9496 * grub-core/lib/posix_wrap/wctype.h: Likewise.
9497 * grub-core/normal/charset.c (grub_utf8_process): New function.
9498 (grub_utf8_to_utf16): Use grub_utf8_process.
9499 (grub_encode_utf8_character): New function.
9500 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
9501 * include/grub/charset.h (grub_utf8_process): New declaration.
9502 (grub_encode_utf8_character): Likewise.
9503 * include/grub/misc.h (grub_islower): New inline function.
9504 (grub_isupper): Likewise.
9505 (grub_strchrsub): Moved down to fix the definitions.
9506
0af2346f
VS
95072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9508
9509 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
9510 specification.
9511
74dbd244
VS
95122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
9513
9514 * include/grub/loader.h (grub_loader_register_preboot_hook):
9515 Use struct preboot * and not void * for handle. All users updated.
9516 (grub_loader_unregister_preboot_hook): Likewise.
9517
1bc8f60d
VS
95182011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
9519
9520 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
9521 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
9522 UTF-16-BE. All users updated.
9523 (grub_hfsplus_cmp_catkey): Fix unicode handling.
9524 (grub_hfsplus_iterate_dir): Likewise.
9525 (grub_hfsplus_label): Likewise.
9526
48d6e456
VS
95272011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
9528
9529 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
9530
bf3a3857
VS
95312011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
9532
9533 Add missing const qualifiers.
9534
9535 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
9536 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
9537 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
9538 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
9539 (grub_lvm_check_flag): Likewise.
9540 * grub-core/efiemu/i386/coredetect.c
9541 (grub_efiemu_get_default_core_name): Likewise
9542 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
9543 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
9544 * grub-core/fs/ntfs.c (fixup): Likewise.
9545 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
9546 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
9547 (fzap_lookup): Likewise.
9548 (zap_lookup): Likewise.
9549 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
9550 * grub-core/lib/legacy_parse.c (check_option): Likewise.
9551 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
9552 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
9553 (grub_freebsd_add_meta_module): Likewise.
9554 (grub_cmd_freebsd_module): Likewise.
9555 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
9556 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
9557 (grub_xnu_writetree_get_size): Likewise.
9558 (grub_xnu_writetree_toheap_real): Likewise.
9559 (grub_xnu_find_key): Likewise.
9560 (grub_xnu_create_key): Likewise.
9561 (grub_xnu_create_value): Likewise.
9562 (grub_xnu_register_memory): Likewise.
9563 (grub_xnu_check_os_bundle_required): Likewise.
9564 (grub_xnu_scan_dir_for_kexts): Likewise.
9565 (grub_xnu_load_kext_from_dir): Likewise.
9566 * grub-core/normal/color.c (color_list): Likewise.
9567 * grub-core/normal/completion.c (current_word): Likewise.
9568 * grub-core/normal/menu_entry.c (insert_string): Likewise.
9569 * grub-core/term/serial.c (grub_serial_find): Likewise.
9570 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
9571 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
9572 Likewise.
9573 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
9574 (grub_freebsd_add_meta_module): Likewise.
9575 * include/grub/lib/arg.h (grub_arg_option): Likewise.
9576 * include/grub/net.h (grub_net_card_driver): Likewise.
9577 (grub_net_card): Likewise.
9578 (grub_net_app_protocol): Likewise.
9579 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
9580 * include/grub/serial.h (grub_serial_find): Likewise.
9581 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
9582 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
9583 (grub_xnu_create_value): Likewise.
9584 (grub_xnu_find_key): Likewise.
9585 (grub_xnu_scan_dir_for_kexts): Likewise.
9586 (grub_xnu_load_kext_from_dir): Likewise.
9587
9588 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
9589 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
9590 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
9591 Moved from here ...
9592 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
9593
112b4837
CW
95942011-11-28 Colin Watson <cjwatson@ubuntu.com>
9595
9596 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
9597
49e891ac
VS
95982011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
9599
9600 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
9601 (read_device): Fix size calculation.
9602
fd258e5c
RM
96032011-11-25 Robert Millan <rmh@gnu.org>
9604
9605 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
9606 (find_root_device_from_libzfs): Add zpool output parser to be used
9607 as fallback when libzfs isn't available.
9608
78845dc2
SG
96092011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
9610
9611 * po/Makefile.in.in: Add missing escape-continuation.
9612
adac5211
VS
96132011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
9614
9615 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
9616
10b64f1c
VS
96172011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9618
9619 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
9620
bb416954
VS
96212011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9622
9623 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
9624
bdfe9eeb
VS
96252011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9626
9627 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
9628
581ffa8a
VS
96292011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9630
9631 * grub-core/lib/adler32.c: Add missing license specification.
9632 * grub-core/lib/crc64.c: Likewise.
9633 * grub-core/loader/i386/pc/plan9.c: Likewise.
9634 * grub-core/partmap/plan.c: Likewise.
9635
2536cf64
LK
96362011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
9637
9638 Add facility to debug GRUB with gdb under qemu.
9639
9640 * grub-core/gdb_grub.in: New file.
9641 * grub-core/gmodule.pl.in: Likewise.
9642 * grub-core/Makefile.core.def (gmodule.pl): New script.
9643 (gdb_grub): Likewise.
9644
bc108a4a
VS
96452011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 * util/grub-mount.c (argp_parser): Accept relative pathes.
9648 * util/grub-fstest.c (argp_parser): Likewise.
9649
111c1778
VS
96502011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9651
9652 Plan9 support.
9653
9654 * Makefile.util.def (libgrubmods): Add
9655 grub-core/partmap/plan.c.
9656 * docs/grub.texi: Notice Plan9 support.
9657 * grub-core/Makefile.core.def (plan9): New module.
9658 (part_plan): Likewise.
9659 * grub-core/loader/i386/pc/plan9.c: New file.
9660 * grub-core/partmap/plan.c: Likewise.
9661 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
9662 define.
9663 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
9664 * include/grub/mm.h (grub_extend_alloc): New inline function.
9665
c30be3b6
VS
96662011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9667
9668 Make Reed-Solomon faster by using power of generator representation of
9669 GF(256)*.
9670
9671 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
9672 (gf_double_t): Likewise.
9673 (gf_invert): Removed.
9674 (gf_powx): New array.
9675 (gf_powx_inv): Likewise.
9676 (scratch): Move higher.
9677 (gf_reduce): Removed.
9678 (gf_mul): Use powx.
9679 (gf_invert): Likewise.
9680 (init_inverts): Replaced with ...
9681 (init_powx): ...this. All users updated.
9682 (pol_evaluate): Replace multiplications with additions.
9683 (rs_encode): Likewise.
9684 (gauss_eliminate): Call gf_invert.
9685 (grub_reed_solomon_add_redundancy): Call init_powx.
9686 (grub_reed_solomon_recover): Call init_powx unconditionally.
9687
fa5aeffc
VS
96882011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9689
9690 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
9691
a346b81c
VS
96922011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9693
9694 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
9695 disk->partiton for safety.
9696
d89ee414
VS
96972011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9698
9699 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
9700 Fix a memory leak.
9701 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
9702
91ee7b6d
VS
97032011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9704
9705 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
9706
91e5a33d
VS
97072011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9708
9709 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
9710
9edd7be2
VS
97112011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9712
9713 Fix spaces handling in proc/self/mountinfo.
9714
9715 * util/getroot.c (unescape): New function.
9716 (grub_find_root_device_from_mountinfo): Use unescape.
9717
ba102053
VS
97182011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9719
9720 Support ZFS embedding.
9721
9722 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
9723 (grub_zfs_fs): Register grub_zfs_embed.
9724
aa94b870
VS
97252011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9726
9727 Fix MIPS compilation.
9728
9729 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
9730 * include/grub/offsets.h: Rename decompressor fields from
9731 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
9732 * util/grub-mkimage.c (image_targets): Use new names.
9733
5fbdac14
VS
97342011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9735
9736 Defer multiboot device parsing until we're in compressed part.
9737
9738 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
9739 bsd_part. setdevice has fallen into disuse.
9740 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
9741 (bsd_part): Likewise.
9742 (boot_dev): New variable.
9743 (multiboot_trampoline): Don't parse multiboot device.
9744 Pass multiboot device in %edx.
9745 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
9746 grub_boot_device.
9747 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
9748 Likewise.
9749 * grub-core/kern/i386/pc/startup.S: Save edx.
9750 (grub_boot_drive): Removed.
9751 (grub_install_dos_part): Likewise.
9752 (grub_install_bsd_part): Likewise.
9753 (grub_boot_device): New variable.
9754 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
9755 (grub_install_bsd_part): Likewise.
9756 (grub_boot_drive): Likewise.
9757 (grub_boot_device): New variable.
9758 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
9759 Removed.
9760 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
9761 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
9762 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
9763 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
9764 * util/grub-install.in: Remove redundant condition.
9765
691cbb58
VS
97662011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9767
9768 Fix bug introduced by previous commit.
9769
9770 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
9771
60240b8b
VS
97722011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9773
9774 Use decompressors framework on i386-pc. It increases core size
9775 by 46 bytes but improves compatibility and maintainability.
9776
9777 * grub-core/Makefile.core.def (lzma_decompress): New image.
9778 (kernel): Add i386_pc_ldflags.
9779 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
9780 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
9781 to real_to_prot, prot_to_real and device info.
9782 * include/grub/offsets.h: Renamed decompressor offsets.
9783 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
9784 (image_target_desc): Remove raw_size and rename decompressor fields.
9785 (compress_kernel): Handle lzma.
9786 (generate_image): Handle decompressors on i386-pc.
9787
e9d3421c
VS
97882011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9789
9790 * configure.ac: Add -fno-asynchronous-unwind-tables.
9791
2b23074a
VS
97922011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9793
9794 Move assembly code to C by using intwrap. It increases core size
9795 by 88 bytes but improves compatibility and maintainability.
9796
9797 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
9798 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
9799 ... here. Translated to C.
9800 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
9801 * grub-core/term/i386/pc/console.c (grub_console_getkey):
9802 ... here. Translated to C.
9803 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
9804 * grub-core/term/i386/pc/console.c (grub_console_getxy):
9805 ... here. Translated to C.
9806 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
9807 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
9808 ... here. Translated to C.
9809 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
9810 * grub-core/term/i386/pc/console.c (grub_console_cls):
9811 ... here. Translated to C.
9812 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
9813 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
9814 ... here. Translated to C.
9815 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
9816 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
9817 Translated to C.
9818 * grub-core/term/i386/pc/console.c (int10_9): New function.
9819 (grub_console_putchar): Likewise.
9820 * include/grub/i386/pc/console.h: Removed the not anymore shared
9821 functions.
9822
678f4b67
VS
98232011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9824
9825 Move grub_chainloader_real_boot out of the kernel.
9826
9827 * grub-core/Makefile.am: Remove machine/loader.h.
9828 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
9829 Removed.
9830 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
9831 variable.
9832 (grub_relocator16_keep_a20_enabled): Likewise.
9833 (grub_relocator16_boot): Fill new variables.
9834 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
9835 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
9836 relocator.
9837 (grub_chainloader_unload): Likewise.
9838 (grub_chainloader_cmd): Likewise.
9839 * include/grub/i386/pc/loader.h: Removed.
9840 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
9841 and esi. All initialisers updated.
9842
4626edf6
VS
98432011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
98442011-11-12 Colin Watson <cjwatson@ubuntu.com>
9845
9846 * Makefile.util.def (grub-mount): New util.
9847 * .bzrignore: Add grub-mount.
9848 * configure.ac: Check for fuse and enable grub-mount if available.
9849 * docs/man/grub-mount.h2m: New file.
9850 * util/grub-mount.c: Likewise.
9851
10f0117b
VS
98522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9853
9854 * grub-core/commands/efi/fixvideo.c: Gettextize.
9855 * grub-core/commands/hashsum.c: Likewise.
9856 * grub-core/commands/i386/cmostest.c: Likewise.
9857 * grub-core/commands/i386/pc/drivemap.c: Likewise.
9858 * grub-core/commands/i386/pc/lsapm.c: Likewise.
9859 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9860 * grub-core/commands/lsmmap.c: Likewise.
9861 * grub-core/commands/menuentry.c: Likewise.
9862 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
9863 * grub-core/commands/setpci.c: Likewise.
9864 * grub-core/loader/i386/bsd.c: Likewise.
9865 * grub-core/loader/i386/linux.c: Likewise.
9866 * util/getroot.c: Likewise.
9867 * util/grub-editenv.c: Likewise.
9868 * util/grub-fstest.c: Likewise.
9869 * util/grub-mkfont.c: Likewise.
9870 * util/grub-mkimage.c: Likewise.
9871 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9872 * util/grub-pe2elf.c: Likewise.
9873 * util/grub-probe.c: Likewise.
9874 * util/grub-setup.c: Likewise.
9875 * util/ieee1275/ofpath.c: Likewise.
9876 * util/misc.c: Likewise.
9877 * util/raid.c: Likewise.
9878
566f779b
RM
98792011-11-11 Robert Millan <rmh@gnu.org>
9880
9881 * util/getroot.c (grub_util_get_geom_abstraction): Remove
9882 __attribute__((unused)) from `os_dev', which *is* being used.
9883
b50787de
VS
98842011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9885
9886 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
9887 forgotten define.
9888 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
9889 GRUB_IA64_DL_GOT_ALIGN.
9890 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
9891 GRUB_IA64_DL_TRAMP_ALIGN.
9892
119d11c8
VS
98932011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9894
9895 Replace grub_fatal with normal errors in i386 linux loader.
9896
9897 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
9898 (allocate_pages): Check find_efi_mmap_size return value.
9899 (grub_e820_add_region): Return error.
9900 (grub_linux_boot): Check mmap return value.
9901
6e0632e2
VS
99022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9903
9904 * grub-core/commands/acpihalt.c: Gettextized.
9905 * grub-core/commands/cacheinfo.c: Likewise.
9906 * grub-core/commands/cmp.c: Likewise.
9907 * grub-core/commands/efi/loadbios.c: Likewise.
9908 * grub-core/commands/gptsync.c: Likewise.
9909 * grub-core/commands/ieee1275/suspend.c: Likewise.
9910 * grub-core/commands/legacycfg.c: Likewise.
9911 * grub-core/commands/memrw.c: Likewise.
9912 * grub-core/commands/minicmd.c: Likewise.
9913 * grub-core/commands/parttool.c: Likewise.
9914 * grub-core/commands/time.c: Likewise.
9915 * grub-core/commands/videoinfo.c: Likewise.
9916 * grub-core/disk/geli.c: Likewise.
9917 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
9918 * grub-core/disk/luks.c: Likewise.
9919 * grub-core/disk/lvm.c: Likewise.
9920 * grub-core/font/font_cmd.c: Likewise.
9921 * grub-core/fs/zfs/zfscrypt.c: Likewise.
9922 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9923 * grub-core/gfxmenu/view.c: Likewise.
9924 * grub-core/kern/emu/hostdisk.c: Likewise.
9925 * grub-core/kern/emu/main.c: Likewise.
9926 * grub-core/kern/emu/misc.c: Likewise.
9927 * grub-core/kern/emu/mm.c: Likewise.
9928 * grub-core/kern/mips/arc/init.c: Likewise.
9929 * grub-core/kern/mips/loongson/init.c: Likewise.
9930 * grub-core/kern/partition.c: Likewise.
9931 * grub-core/lib/i386/halt.c: Likewise.
9932 * grub-core/lib/mips/arc/reboot.c: Likewise.
9933 * grub-core/lib/mips/loongson/reboot.c: Likewise.
9934 * grub-core/loader/i386/pc/chainloader.c: Likewise.
9935 * grub-core/loader/i386/xnu.c: Likewise.
9936 * grub-core/loader/multiboot.c: Likewise.
9937 * grub-core/net/bootp.c: Likewise.
9938 * grub-core/net/net.c: Likewise.
9939 * grub-core/normal/term.c: Likewise.
9940 * grub-core/partmap/bsdlabel.c: Likewise.
9941 * grub-core/parttool/msdospart.c: Likewise.
9942 * grub-core/term/gfxterm.c: Likewise.
9943 * grub-core/term/terminfo.c: Likewise.
9944 * grub-core/video/i386/pc/vbe.c: Likewise.
9945 * util/grub-menulst2cfg.c: Likewise.
9946 * util/grub-mkdevicemap.c: Likewise.
9947 * util/grub-mklayout.c: Likewise.
9948 * util/grub-mkrelpath.c: Likewise.
9949 * util/grub-script-check.c: Likewise.
9950 * util/ieee1275/grub-ofpathname.c: Likewise.
9951 * util/resolve.c: Likewise.
9952
073aa7a9
VS
99532011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9954
9955 Support %1$d syntax.
9956
9957 * tests/printf_unit_test.c: New file.
9958 * Makefile.util.def (printf_test): New test.
9959 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
9960
c76b5417
VS
99612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9962
9963 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
9964 fix.
9965
df067ad1
VS
99662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9967
9968 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
9969 dprintf.
9970 * grub-core/font/font.c (grub_font_load): Likewise.
9971
5b289bc5
VS
99722011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9973
9974 * util/grub-macho2img.c: Add comment concerning gettext.
9975 * grub-core/lib/legacy_parse.c: Likewise.
9976
c1860f87
VS
99772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9978
9979 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
9980 (grub_xvasprintf): Likewise.
9981
d35d0d37
VS
99822011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
9983
9984 Add const keyword to grub_env_get and gettextize week days.
9985
9986 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
9987 (grub_read_hook_datetime): Return const char *.
9988 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
9989 updated.
9990 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
9991 Mark for gettext.
9992 (grub_get_weekday_name): Return const char *. Call gettext.
9993 * grub-core/script/argv.c (grub_script_argv_append): Receive const
9994 char * and len as the argument. All users updated.
9995 (grub_script_argv_split_append): Receive const char *.
9996 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
9997 * include/grub/env.h (grub_env_get): Likewise.
9998 (grub_env_read_hook_t): Return const char *.
9999 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
10000 (grub_script_argv_split_append): Likewise.
10001
9aed8a71
VS
100022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10003
10004 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
10005
067fdf00
VS
100062011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10007
10008 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
10009 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
10010
a8bd9d39
VS
100112011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10012
10013 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
10014 Fix prototype.
10015
f7ce5baf
VS
100162011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10017
10018 Fix mips compilation.
10019
10020 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
10021 normal decoder.
10022 (hashes): Use in embed decoder as well (for sizes).
10023 (dec_stream_header): Fix embed decompressor logic.
10024 (dec_stream_footer): Likewise.
10025
9bb182f3
VS
100262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10027
10028 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
10029 an error and not a fatal on unrecognised relocation types.
10030
63a9e6f6
VS
100312011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10032
10033 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
10034 Issue error rather than printf on unknown arguments.
10035
4c458569
VS
100362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10037
10038 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
10039 Make buf a const.
10040
e2d22baf
VS
100412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10042
10043 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
10044 Fix module name.
10045
53dc8590
VS
100462011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10047
10048 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
10049 leftover debug printf.
10050
6c189294
VS
100512011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10052
10053 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
10054
f7688369
VS
100552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10056
10057 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
10058 A stylistic fix.
10059
11a775a3
VS
100602011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
10061
10062 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
10063
33f784e8
SL
100642011-11-10 Shea Levy <slevy@tieronedesign.com>
10065
10066 Allow all modules to perform serial IO
10067
10068 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
10069 * include/grub/serial.h (grub_serial_port_configure): New inline
10070 function.
10071 (grub_serial_port_fetch): Likewise.
10072 (grub_serial_port_put): Likewise.
10073 (grub_serial_port_fini): Likewise.
10074 (grub_serial_find): New proto.
10075
f6276525
VS
100762011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10077
10078 Put symlink at the end of the node and fix a potential
10079 memory corruption.
10080
10081 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
10082 Make symlink into an array.
10083 (set_rockridge): Set have_symlink and alloc_dirents.
10084 (grub_iso9660_read_symlink): Use new layout.
10085 (grub_iso9660_iterate_dir): Fix memory corruption.
10086 Use new layout.
10087 (grub_iso9660_dir): Set have_symlink.
10088 (grub_iso9660_open): Likewise.
10089
c3591189
VS
100902011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10091
10092 Remove local keyword.
10093
10094 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
10095 (version_test_gt): Likewise.
10096 (version_find_latest): Likewise.
10097 (gettext_printf): Likewise.
10098 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
10099
cb544caa
VS
101002011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10101
10102 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
10103
45bd824d
VS
101042011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10105
10106 Fix ZFS memory and resource leaks.
10107
10108 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
10109 All users updated.
10110 Free type on exit.
10111 (fill_vdev_info): New parameter inserted. All users updated.
10112 (check_pool_label): Likewise.
10113 (scan_disk): Likewise.
10114 (scan_devices): Close non-inserted disks.
10115 (fzap_iterate): Free l.
10116 (unmount_device): Free children descripto memory.
10117
ad9a2f44
VS
101182011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10119
10120 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
10121 argument (access out of bounds).
10122
6b68db81
VS
101232011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10124
10125 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
10126 >= 6 drives.
10127
28840fda
VS
101282011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
10129
10130 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
10131 Fix declaration.
10132
8a5a3a5b
VS
101332011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10134
10135 Fix several memory leaks.
10136
10137 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
10138 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
10139 (grub_cpio_dir): Likewise.
10140 * grub-core/fs/fat.c (grub_fat_label): Likewise.
10141 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
10142 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
10143 (grub_romfs_label): Likewise.
10144 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
10145 (squash_unmount): New function.
10146 (grub_squash_dir): Fix memory leak.
10147 (grub_squash_open): Likewise.
10148 (grub_squash_read): Likewise.
10149 (grub_squash_mtime): Likewise.
10150 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
10151 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
10152 * util/grub-fstest.c (fstest): Likewise.
10153
57b01250
VS
101542011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10155
10156 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
10157 avoid accessing beyond the array.
10158
19e81ba7
VS
101592011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10160
10161 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
10162
52b656c0
VS
101632011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
10164
10165 Several AFFS fixes.
10166
10167 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
10168 (GRUB_AFFS_FLAG_FFS): Removed.
10169 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
10170 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
10171 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
10172 (grub_fshelp_node): Make block 32-bit.
10173 Add block_cache and last_block_cache.
10174 (grub_affs_read_block): Fill and use block cache.
10175 (grub_affs_read_file): Removed.
10176 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
10177 boot block.
10178 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
10179 safety.
10180 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
10181 space.
10182 (grub_affs_close): Free block cache.
10183 (grub_affs_read): Use grub_fshelp_read_file directly.
10184
438a746a
VS
101852011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10186
10187 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
10188 with no error set.
10189
49a45021
VS
101902011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10191
10192 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
10193 used variable.
10194 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
10195 Likewise.
10196
3ae17eb8
VS
101972011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10198
10199 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
10200
10201 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
10202 byteswap when needed.
10203
27610c38
VS
102042011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10205
10206 Fix FreeBSD compilation.
10207
10208 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
10209 to avoid circular dependency.
10210 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
10211 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
10212 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
10213
4a19b601
VS
102142011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10215
10216 Fix ZFS crypto error types.
10217
10218 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
10219 (grub_gcm_decrypt): Likewise.
10220 (grub_zfs_load_key_real): Fix error code type. Handle possible error
10221 from PBKDF2.
10222
958ee221
VS
102232011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10224
10225 Illumos support.
10226
10227 * Makefile.util.def (10_illumos): New script.
10228 * configure.ac: Set COND_HOST_ILLUMOS.
10229 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
10230 Support Illumos calls.
10231 (find_partition_start) [__sun__]: Likewise.
10232 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
10233 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
10234 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
10235 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
10236 device.
10237 * util/grub-probe.c (probe) [__sun__]: Do character check.
10238 * util/grub.d/10_illumos.in: New file.
10239
cac14fb6
VS
102402011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10241
10242 Support escaped commas in hostdisk.
10243
10244 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
10245 (find_grub_drive): Use unescape_cmp.
10246 (make_device_name): Escape commas.
10247
78e08dc3
VS
102482011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10249
10250 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
10251
9f421dd1
VS
102522011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10253
10254 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
10255 variable.
10256
ed64e9e2
VS
102572011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
10258
10259 Support trampoline jumps on powerpc.
10260
10261 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
10262 __ia64__ path.
10263 (grub_dl_load_segments): Set mod->sz.
10264 (grub_dl_flush_cache): Flush whole space occupied by module, not just
10265 segments.
10266 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
10267 (jump): Likewise.
10268 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
10269 function.
10270 (trampoline): New struct.
10271 (trampoline_template): New const.
10272 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
10273 * include/grub/dl.h (grub_dl): Add sz element.
10274 [__powerpc__]: Follow __ia64__.
10275 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
10276 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
10277 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
10278 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
10279
3084ede4
VS
102802011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
10281
10282 ZFS crypto support.
10283
10284 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
10285 * grub-core/Makefile.core.def (zfscrypt): New module.
10286 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
10287 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
10288 it. All users updated.
10289 (grub_zfs_decrypt): New var.
10290 (grub_zfs_load_key): Likewise.
10291 (zio_checksum_functions): Add SHA256+MAC.
10292 (zio_checksum_verify): Handle incomplete comparison due to MAC.
10293 (zio_read): Handle encrypted blocks.
10294 (zap_verify): Remove incorrect check.
10295 (fzap_iterate): Handle non-standard fzap.
10296 (zap_iterate): Likewise.
10297 (zap_iterate_u64): New function.
10298 (dnode_get_fullpath): Load keys.
10299 * grub-core/fs/zfs/zfscrypt.c: New file.
10300 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
10301 (grub_crypto_ecb_encrypt): Make input const.
10302 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
10303 (grub_crypto_ecb_encrypt): Make input const.
10304 (GRUB_CIPHER_AES): New macro.
10305 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
10306 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
10307 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
10308 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
10309 prefix. All users updated.
10310 (grub_zfs_add_key): New proto.
10311 (grub_zfs_decrypt): Likewise.
10312 (grub_zfs_load_key): Likewise.
10313 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
10314 * util/grub-fstest.c (options): Add -K option.
10315 (argp_parser): Likewise.
10316
b632b404
VS
103172011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
10318
10319 Support zle compression on ZFS.
10320
10321 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
10322 (decomp_table): Add zle.
10323 * include/grub/zfs/zio.h (zio_compress): Add zle.
10324
c7ba4f69
VS
103252011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
10326
10327 Support BtrFS embedding.
10328
10329 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
10330 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
10331 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
10332 * util/grub-setup.c (setup): Use fs embedding if available.
10333 Add additional sanity check.
10334
455377d9
VS
103352011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
10336
10337 * util/grub-install.in: Fix condition for config_opt.
10338
c2fd16ca
VS
103392011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10340
10341 Support third redundancy strip on raidz3.
10342
10343 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
10344 Return error on singularity. All users updated.
10345 (read_device): Don't stop on 3rd failure on raidz3.
10346
8622923b
VS
103472011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10348
10349 Support case-insensitive ZFS subvolumes.
10350
10351 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
10352 All users updated.
10353 (zap_hash): Likewise.
10354 (name_cmp): New function.
10355 (zap_leaf_array_equal): New parameter case_insensitive.
10356 All users updated.
10357 (zap_leaf_lookup): Likewise.
10358 (fzap_lookup): Likewise.
10359 (zap_lookup): Likewise.
10360 (dnode_get_path): New parameter case_insensitive. Retrieve case
10361 sensitiviness of a volume. All users updated.
10362 (dnode_get_fullpath): New parameter case_insensitive.
10363 All users updated.
10364 (grub_zfs_dir): Set info.case_insensitiveness.
10365
95f2e860
VS
103662011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10367
10368 Support second redundancy strip on raidz(2,3).
10369
10370 * grub-core/fs/zfs/zfs.c (powx): New array.
10371 (powx_inv): Likewise.
10372 (poly): New const.
10373 (xor_out): New function.
10374 (gf_mul): Likewise.
10375 (recovery): Likewise.
10376 (read_device): Use second redundancy strip.
10377
11ee4389
VS
103782011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10379
10380 Use a power of generator representation of GF(256) multiplication group
10381 to save space time and complexity.
10382
10383 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
10384 (raid6_table2): Likewise.
10385 (powx): New array.
10386 (powx_inv): Likewise.
10387 (poly): New const.
10388 (grub_raid_block_mul): Replace with ...
10389 (grub_raid_block_mulx): ...this.
10390 (grub_raid6_init_table): Rewritten.
10391 (grub_raid6_recover): Use power of generator representation.
10392
09e2763f
VS
103932011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10394
10395 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
10396 for the right device.
10397
8bec9a28
VS
103982011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10399
10400 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
10401 expected by grub-mkimage and it's more clear since there is no implicit
10402 padding.
10403
dbd3a32e
VS
104042011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
10405
10406 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
10407 disk.
10408 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
10409
182c872a
PMH
104102011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
10411
10412 * util/grub-mkrescue.in: Fix handling xorriso option.
10413
1e51cabd
VS
104142011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10415
10416 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
10417 NULL.
10418
9cc3581d 104192011-11-03 crocket <crockabiscuit@gmail.com>
10420
10421 * util/grub.d/10_linux.in: Add Slackware initrd naming.
10422
158dc1ea
VS
104232011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10424
10425 XZ CRC64 and SHA256 support.
10426
10427 * Makefile.util.def (libgrubmods): Add crc64.c.
10428 * grub-core/Makefile.core.def (crc64): New module.
10429 * grub-core/lib/crc64.c: New file.
10430 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
10431 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
10432 Fix the type.
10433 (MAX_HASH_SIZE): New define.
10434 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
10435 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
10436 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
10437 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
10438 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
10439 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
10440 Handle non-crc32 hashes.
10441 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
10442 (dec_stream_header): Handle non-crc32 hashes.
10443 (dec_stream_footer): Likewise.
10444 (dec_block_header): Likewise.
10445 (dec_main): Likewise.
10446 (xz_dec_init): Likewise.
10447 (xz_dec_reset): Likewise.
10448 (xz_dec_end): Likewise.
10449 * util/import_gcry.py: Add CRC64 line.
10450
9d9b3d2f
VS
104512011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10452
10453 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
10454 as well.
10455
7d0ac931
VS
104562011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10457
10458 Make reiserfs label retrieval similar to other *_label functions.
10459
10460 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
10461 (REISERFS_MAX_LABEL_LENGTH): Removed.
10462 (REISERFS_LABEL_OFFSET): Likewise.
10463 (grub_reiserfs_label): Rewritten.
10464
104652011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10466
10467 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
10468 field.
10469
cf5ba824
VS
104702011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
10471
10472 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
10473
17744004
VS
104742011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
10475
10476 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
10477 drive failure on both raidz and raidz2.
10478
aca5aefc
VS
104792011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
10480
10481 Fix RAIDZ(2) for >= 5 devices.
10482
10483 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
10484 asize argument. All users updated.
10485
ce8ca56e
VS
104862011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
10487
10488 Fix RAIDZ(2).
10489
10490 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
10491 (fill_vdev_info_real): Set ashift.
10492 (read_device): Rewrite RAIDZ part based on reverse engineering.
10493
7c01e783
VS
104942011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
10495
10496 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
10497 don't report potentially unavialiable fields in debug output.
10498 (find_path): Fix double-free and memory leak.
10499
ce109e84
VS
105002011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
10501
10502 Read label on UFS1.
10503
10504 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
10505 (grub_ufs_fs): Always set .label.
10506
87661123
VS
105072011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
10508
10509 Use shifts in UFS.
10510
10511 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
10512 (grub_ufs_data): New field log2_blksz.
10513 (grub_ufs_read_file): Use shifts.
10514 (grub_ufs_mount): Check block size and logarithm it.
10515
46bc1dc2
VS
105162011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
10517
10518 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
10519 long symlinks.
10520
19ee2987
VS
105212011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10522
10523 Handle symlinks and long names on tar and cpio.
10524
10525 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
10526 (ATTR_FILE): Likewise.
10527 (ATTR_DIR): Likewise.
10528 (ATTR_LNK): Likewise.
10529 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
10530 (grub_cpio_find_file): Fill mode, handle linkname field as well as
10531 L and K entries.
10532 (grub_cpio_mount): Zero-fill data.
10533 (handle_symlink): New function.
46bc1dc2
VS
10534 (grub_cpio_dir): Handle symlinks.
10535 (grub_cpio_open): Likewise.
10536 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 10537
c83a08d8
VS
105382011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10539
10540 Fix iso9660 filename limitations and fix memory leaks.
10541
10542 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
10543 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
10544
45cdd3ea
VS
105452011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10546
10547 Fix JFS file name length limitations.
10548
10549 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
10550 (grub_jfs_diropen): Fix maximum filename length.
10551 (grub_jfs_getent): Fix filename length.
10552 (grub_jfs_lookup_symlink): Fix size checks.
10553
94ef05c2
VS
105542011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10555
10556 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
10557 string.
10558
785ab8c7
VS
105592011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10560
eb0b6b45
VS
10561 Leverage BFS implementation to read AFS.
10562
10563 * Makefile.util.def (libgrubmods): Add afs.c.
10564 * grub-core/Makefile.core.def (afs): New module
10565 * grub-core/fs/afs.c: New file.
10566 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
10567
105682011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10569
10570 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 10571
c4a1628f
VS
105722011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10573
10574 * grub-core/fs/bfs.c: Run indent.
10575
5825b379
VS
105762011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10577
10578 BFS implementation based on the specification.
10579
10580 * grub-core/fs/bfs.c: New file.
10581 * Makefile.util.def (libgrubmods): Add bfs.c.
10582 * grub-core/Makefile.core.def (bfs): New module.
10583
42b2a706
VS
105842011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
10585
10586 * util/grub-fstest.c (cmd_cp): Clarify error message.
10587 (cmd_cmp): Likewise.
10588
61b99bfc
YB
105892011-10-30 Yves Blusseau <blusseau@zetam.org>
10590
10591 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
10592 and befs_be.
10593
faba3d16
VS
105942011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
10595
10596 Remove afs and befs because of copyright problem.
10597
10598 * grub-core/fs/afs.c: Removed.
10599 * grub-core/fs/afs_be.c: Removed.
10600 * grub-core/fs/befs.c: Removed.
10601 * grub-core/fs/befs_be.c: Removed.
10602 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
10603 * grub-core/Makefile.core.def (afs): Removed.
10604 (afs_be): Likewise.
10605 (befs): Likewise.
10606 (befs_be): Likewise.
10607
c39224b0
VS
106082011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10609
10610 Prefer rockridge over Joliet.
10611
10612 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
10613 to ...
10614 (set_rockridge): ... here.
10615 (grub_iso9660_mount): Check rockridge on the primary label when
10616 discovering. Ignore Joliet if Rockridge is present.
10617
e551115a
VS
106182011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10619
10620 Use shifts in nilfs2.
10621
10622 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
10623 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
10624 (grub_nilfs2_palloc_entries_per_group): Replace with ...
10625 (grub_nilfs2_log_palloc_entries_per_group): ... this.
10626 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
10627 (grub_nilfs2_entries_per_block): Replaced with ...
10628 (grub_nilfs2_log_entries_per_block_log): ... this.
10629 (grub_nilfs2_blocks_per_group): Replaced with ...
10630 (grub_nilfs2_blocks_per_group_log): ... this.
10631 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
10632 (grub_nilfs2_blocks_per_desc_block_log): ... this.
10633 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
10634 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
10635 (grub_nilfs2_palloc_entry_offset): Replaced ...
10636 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
10637 (grub_nilfs2_dat_translate): Use shifts.
10638 (grub_nilfs2_read_inode): Likewise.
10639 (GRUB_MOD_INIT): Ensure that logs are correct.
10640
564dd58c
VS
106412011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10642
10643 Use shifts in minix filesystem.
10644
10645 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
10646 (GRUB_MINIX_ZONE2SECT): Likewise.
10647 (grub_minix_data): Replace block_size with log_block_size.
10648 (grub_minix_read_file): Use shifts.
10649 (grub_minix_mount): Check block size and take a logarithm.
10650
ed9ba06d
VS
106512011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10652
10653 Use shifts in squash4.
10654
10655 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
10656 (squash_mount): Check block size and take logarithm.
10657 (direct_read): Use shifts.
10658
ad03fe76
VS
106592011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10660
10661 Correct befs block counting logic.
10662
10663 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
10664 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
10665 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
10666 (grub_afs_read_inode): Use block_shift.
10667 (RANGE_SHIFT): New definition.
10668 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
10669 unexpected conditions, use shifts and appropriate types.
10670 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
10671
6563f63d
VS
106722011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
10673
10674 * grub-core/disk/raid.c (scan_devices): Check partition.
10675 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
10676
5b1ae25f
VS
106772011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
10678
10679 Support BFS (befs) UUID.
10680
10681 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
10682 (grub_afs_small_data_element_header): New struct.
10683 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
10684 (grub_afs_read_attribute) [MODE_BFS]: New function.
10685 (grub_afs_iterate_dir): Allocate for complete inode.
10686 (grub_afs_mount): Likewise.
10687 (grub_afs_uuid) [MODE_BFS]: New function.
10688 (grub_afs_fs) [MODE_BFS]: Add .uuid.
10689
f8d82408
VS
106902011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
10691
10692 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
10693 (zfs_unmount): Fix memory leak.
10694
5773fb64
VS
106952011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10696
10697 Support NTFS reparse points.
10698
10699 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
10700 (symlink_descriptor): New struct.
10701 (grub_ntfs_read_symlink): New function.
10702 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
10703 (grub_ntfs_open): Likewise.
10704
91c3fdde
VS
107052011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10706
10707 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
10708
3be82e10
VS
107092011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10710
10711 fstest xnu_uuid subcommand.
10712
10713 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
10714 grub-core/commands/xnu_uuid.c.
10715 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
10716 (fstest): Handle xnu_uuid.
10717 (options): Document xnu_uuid.
10718 (argp_parser): Parse xnu_uuid.
10719
8e32442e
VS
107202011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10721
10722 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
10723 -l argument. Add newline at the end if printing.
10724 (GRUB_MOD_INIT): Document -l.
10725
52a05075
VS
107262011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10727
10728 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
10729
1869edb5
VS
107302011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10731
10732 ZFS multi-device and version 33 support.
10733
10734 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
10735 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
10736 (grub_zfs_data): Add multidev-ice-related fields.
10737 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
10738 (dva_get_offset): Make dva const.
10739 (zfs_fetch_nvlist): New function.
10740 (fill_vdev_info_real): Likewise.
10741 (fill_vdev_info): Likewise.
10742 (check_pool_label): Likewise.
10743 (scan_disk): Likewise.
10744 (scan_devices): Likewise.
10745 (read_device): Likewise.
10746 (read_dva): Likewise.
10747 (zio_read_gang): Use read_dva.
10748 (zio_read_data): Likewise.
10749 (zap_leaf_lookup): Add missing endian conversion.
10750 (zap_verify): Add missing endian conversion. All users updated.
10751 (fzap_lookup): Likewise.
10752 (fzap_iterate): Likewise.
10753 (dnode_get_path): Handle SA bonus.
10754 (nvlist_find_value): Make input const. All users updated.
10755 (unmount_device): New function.
10756 (zfs_unmount): Use unmount_device.
10757 (zfs_mount): Use scan_disk.
10758 (zfs_mtime): New function.
10759 (grub_zfs_open): Handle system attributes.
10760 (fill_fs_info): Likewise.
10761 (grub_zfs_dir): Likewise.
10762 (grub_zfs_fs): Add mtime.
10763 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
10764 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
10765 (SA_MTIME_OFFSET): Likewise.
10766 (SA_SYMLINK_OFFSET): Likewise.
10767 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
10768 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
10769 (fstest): Support zfsinfo.
10770 (argp_parser): Likewise.
10771
186b4028
VS
107722011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
10773
10774 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
10775 error.
10776
107772011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
10778
10779 ZFS fixes.
10780
10781 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
10782 sharing the same block. Iterate over correct number of indices.
10783 (dnode_get_path): Handle symlinks correctly.
10784
c0584900
VS
107852011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10786
10787 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
10788
67e2bd71
VS
107892011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10790
10791 Read label on HFS+.
10792
10793 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
10794 (grub_hfsplus_btree_search): Fix types.
10795 (grub_hfsplus_label): Implement.
10796
e9cc6b7b
VS
107972011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10798
10799 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
10800
19832ddb
VS
108012011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10802
10803 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
10804
66b40850
VS
108052011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10806
10807 Fix symlink handling on iso9660.
10808
10809 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
10810 All users updated.
10811 (grub_iso9660_susp_iterate): Accept zero-size iterate.
10812 (grub_iso9660_read_symlink): Moved most of code ...
10813 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
10814
db821363
VS
108152011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10816
10817 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
10818 Use union to avoid breaking strict-aliasing rules.
10819
e1211949
VS
108202011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10821
10822 Support multi-extent iso files.
10823
10824 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
10825 Add node.
10826 (grub_fshelp_node): Revamp. All users updated.
10827 (FLAG_*): New enum.
10828 (read_node): New function.
10829 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
10830 All users updated.
10831 (grub_iso9660_mount): Don't attempt to read sua when there is none.
10832 (get_node_size): New function.
10833 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
10834 entries.
10835 Fix memory leak on . and ..
10836 (grub_iso9660_read): Use read_node.
10837 (grub_iso9660_close): Free node.
10838
d4888031
VS
108392011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10840
10841 Fix tar 4G limit and handle paths containing dot.
10842
10843 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
10844 (canonicalize): New function.
10845 (grub_cpio_find_file): Use canonicalize. Store offs in
10846 grub_disk_addr_t.
10847 (grub_cpio_dir): Use grub_disk_addr_t.
10848 (grub_cpio_open): Likewise.
10849
9f12e664
VS
108502011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10851
10852 Fix handling of uncompressed blocks on squashfs and break 4G limit.
10853
10854 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
10855 unused flags.
10856 (grub_squash_inode): Add long_file and block_size.
10857 (grub_squash_cache_inode): New struct.
10858 (grub_squash_dirent): Make types into enum.
10859 (SQUASH_TYPE_LONG_REGULAR): New type.
10860 (grub_squash_frag_desc): Add field size.
10861 (SQUASH_BLOCK_FLAGS): New enum.
10862 (grub_squash_data): Use grub_squash_cache_inode.
10863 (grub_fshelp_node): Make ino_chunk 64-bit.
10864 (read_chunk): Minor argument change. All users updated.
10865 (squash_mount): Use correct le_to_cpu.
10866 (grub_squash_open): Handle LONG_REGULAR.
10867 (direct_read): New function.
10868 (grub_squash_read_data): Handle blocks correctly.
10869
9f326fba
VS
108702011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10871
10872 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
10873
f4d9b64b
VS
108742011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
10875
10876 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
10877
5bbd28b8
VS
108782011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
10879
10880 Fix 2G limit on ZFS.
10881
10882 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
10883 types.
10884 (uberblock_verify): Likewise.
10885 (dmu_read): Likewise.
10886 (grub_zfs_read): Likewise. Remove invalid cast.
10887
68c72069
VS
108882011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
10889
10890 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
10891 (grub_jfs_blkno): Fix incorrect shift.
10892 (grub_jfs_read_file): Use more appropriate types.
10893
6e536dc8
VS
108942011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
10895
10896 Support triple indirect on minix2 and minix3.
10897
10898 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
10899 Declare triple_indir_zone.
10900 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
10901 indirect.
10902
e0864e7a
VS
109032011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
10904
10905 Minix FS fixes.
10906
10907 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
10908 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
10909 Rename ctime to mtime. All users updated.
10910 (grub_minix_get_file_block): Fix types and double indirect computations.
10911
89481cab
VS
109122011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10913
10914 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
10915 if no label is found.
10916 (grub_fat_iterate_dir): Fix file size type.
10917 (grub_fat_iterate_dir): Likewise.
10918
f646e143
VS
109192011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10920
10921 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
10922 save some space.
10923 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
10924 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
10925
534d769e
VS
109262011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10927
10928 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
10929
e084ba18
VS
109302011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10931
10932 * util/import_gcry.py: Accept space between # and include.
10933
3471ecdf
VS
109342011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10935
10936 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
10937
124df5f6
VS
109382011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10939
10940 Fine grainely disable warnings on lexer. Remove Wno-error on it.
10941
10942 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
10943 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
10944 yylex_strncpy.
10945 * grub-core/script/yylex.l: Add fine-grained #pragma.
10946
4defb8d5
VS
109472011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10948
10949 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
10950 New inline function.
10951 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
10952 Likewise.
10953 (memset) [GRUB_UTIL]: Likewise.
10954 (memcmp) [GRUB_UTIL]: Likewise.
10955
4e94ae65
VS
109562011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10957
10958 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
10959 inline function rather than a define.
10960
18c575e5
VS
109612011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10962
10963 * util/grub-setup.c: Add missing include.
10964
f8bc22a8
VS
109652011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10966
10967 * util/ieee1275/grub-ofpathname.c: Add missing include.
10968
3ce69fc9
VS
109692011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10970
10971 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
10972 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
10973 Likewise.
10974
d1e293bb
VS
109752011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10976
10977 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
10978 grub_memcmp usage.
10979
7a5c54a4
VS
109802011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
10981
10982 * util/grub-install.in: Add datarootdir as per automake manual
10983 suggestion.
10984 * util/grub-mknetdir.in: Likewise.
10985
109862011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
10987
10988 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
10989 suggestion.
10990 * util/grub.d/10_kfreebsd.in: Likewise.
10991 * util/grub.d/10_linux.in: Likewise.
10992 * util/grub.d/10_netbsd.in: Likewise.
10993 * util/grub.d/10_windows.in: Likewise.
10994 * util/grub.d/20_linux_xen.in: Likewise.
10995
766f7d08
VS
109962011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
10997
10998 Remove redundant grub_kernel_image_size.
10999
11000 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
11001 _edata and _start.
11002 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
11003 the small code. It moves it only by few bytes but simplifies the code.
11004 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
11005 _start.
11006 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
11007 (grub_kernel_image_size): Removed.
11008 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
11009 (grub_kernel_image_size): Removed.
11010 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
11011 compiled with Apple toolchain.
11012 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
11013 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
11014 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
11015 (grub_total_module_size): Likewise.
11016 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
11017 Removed.
11018 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
11019 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
11020 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
11021 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
11022 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
11023 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
11024 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
11025 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
11026 Removed.
11027 (grub_total_module_size): Removed.
11028 * util/grub-mkimage.c (image_target_desc): Remove image_size.
11029 (image_targets): Likewise.
11030 Set .compressed_size to no field on sparc.
11031 (generate_image): Remove kernel_image_size handling.
11032
fcf1d672
SJ
110332011-10-19 Szymon Janc <szymon@janc.net.pl>
11034
11035 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
11036 NULL pointer dereference.
11037
de9c615e
VS
110382011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11039
11040 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
11041 done with a dedicated section.
11042
11043 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
11044 Ensure the correct position of boot_path.
11045 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
11046 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
11047 other fields.
11048 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
11049 * include/grub/boot.h: Removed. All references removed.
11050 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
11051 Removed.
11052 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
11053
e55599dc
VS
110542011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11055
11056 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
11057 name.
11058
36dd20ad
VS
110592011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11060
11061 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
11062
f8f72eb8
VS
110632011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11064
11065 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
11066 Don't add the bogus brackets.
11067
a374751b
VS
110682011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11069
11070 ExFAT support.
11071
11072 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
11073 * grub-core/Makefile.core.def (exfat): New module.
11074 * grub-core/fs/exfat.c: New file.
11075 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
11076 (GRUB_FAT_ATTR_*): Make into an enum.
11077 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
11078 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
11079 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
11080 (GRUB_FAT_MAXFILE): Removed.
11081 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
11082 (grub_current_fat_bpb_t): New type.
11083 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
11084 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
11085 (grub_fat_dir_node_t): New type.
11086 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
11087 (fat_log2) [MODE_EXFAT]: Removed.
11088 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
11089 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
11090 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
11091 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
11092 (grub_fat_label) [MODE_EXFAT]: New function.
11093 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
11094 reserved_first_sector to 0.
11095
544c2487
VS
110962011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
11097
11098 Move grub_reboot out of the kernel.
11099
11100 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
11101 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
11102 * grub-core/lib/efi/reboot.c: ... here.
11103 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
11104 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
11105 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
11106 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
11107 * grub-core/lib/i386/reboot_trampoline.S: ... here.
11108 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
11109 * grub-core/lib/ieee1275/reboot.c: ... here.
11110 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
11111 * grub-core/lib/mips/arc/reboot.c: ... here.
11112 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
11113 * grub-core/lib/mips/loongson/reboot.c: ...here.
11114 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
11115 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
11116 * include/grub/emu/misc.h (grub_reboot): New function declaration.
11117 * include/grub/i386/reboot.h: New file.
11118 * include/grub/mips/loongson/ec.h: Fix includes.
11119 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
11120 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
11121 * grub-core/lib/i386/reboot.c: New file.
11122
a97501d2
VS
111232011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
11124
11125 Make grub_prefix into module to fix the arbitrary limit and save
11126 some space.
11127
11128 * grub-core/kern/emu/main.c (grub_prefix): Removed.
11129 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
11130 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
11131 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
11132 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
11133 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
11134 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
11135 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
11136 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
11137 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
11138 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
11139 * include/grub/ia64/efi/kernel.h: Removed.
11140 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
11141 (grub_prefix): Removed.
11142 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
11143 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
11144 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
11145 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
11146 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
11147 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
11148 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
11149 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
11150 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
11151 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
11152 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
11153 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
11154 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
11155 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
11156 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
11157 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
11158 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
11159 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
11160 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
11161 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
11162 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
11163 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
11164 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
11165 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
11166 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
11167 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
11168 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
11169 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
11170 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
11171 from module.
11172 * util/grub-mkimage.c (image_target_desc): Removed prefix and
11173 prefix_end.
11174 (image_targets): Likewise.
11175 (generate_image): Put prefix as a module.
11176
39705fad
VS
111772011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11178
11179 Replace grub_module_iterate with FOR_MODULES.
11180
11181 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
11182 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
11183 (grub_efi_modules_addr): ...this.
11184 * grub-core/kern/efi/init.c (grub_modbase): New variable.
11185 (grub_efi_init): Set grub_modbase.
11186 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
11187 (grub_modbase): New variable.
11188 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
11189 (grub_modbase): New variable.
11190 (grub_machine_init): Set grub_modbase.
11191 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
11192 (grub_modbase): New variable.
11193 (grub_machine_init): Set grub_modbase.
11194 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
11195 (grub_modbase): New variable.
11196 (grub_machine_init): Set grub_modbase.
11197 * grub-core/kern/main.c (grub_module_iterate): Remove.
11198 (grub_modules_get_end): Use grub_modbase.
11199 (grub_load_modules): Use FOR_MODULES.
11200 (grub_load_config): Likewise.
11201 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
11202 (grub_modbase): New variable.
11203 (grub_machine_init): Set grub_modbase.
11204 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
11205 (grub_modbase): New variable.
11206 (grub_machine_init): Set grub_modbase.
11207 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
11208 Removed.
11209 (grub_modbase): New variable.
11210 (grub_machine_init): Set grub_modbase.
11211 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
11212 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
11213 (grub_module_iterate): Likewise.
11214 (grub_modbase): New variable declaration.
11215 (FOR_MODULES): New macro.
11216
2afb7f6c
VS
112172011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11218
11219 * configure.ac: Check for __ctzdi2 and __ctzsi2.
11220 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
11221
366e34fa
VS
112222011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11223
11224 Fix few obvious type discrepancies.
11225
11226 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
11227 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
11228 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
11229 variable.
11230 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
11231 and connected types.
11232 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
11233 offset.
11234 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
11235 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
11236 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
11237 and connected types.
11238
177b960e
VS
112392011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11240
11241 Fix python 3.x incompatibilities.
11242
11243 * gentpl.py: Put brackets around print strings.
11244 * util/import_gcry.py: Open explicitly as utf-8.
11245 Use in instead of has_key.
11246
3b619ae1
VS
112472011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11248
11249 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
11250 (GRUB_XFS_INO_AGBITS): Make into inline function.
11251 (GRUB_XFS_INO_INOINAG): Likewise.
11252 (GRUB_XFS_INO_AG): Likewise.
11253 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
11254 (GRUB_XFS_EXTENT_OFFSET): Likewise.
11255 (GRUB_XFS_EXTENT_BLOCK): Likewise.
11256 (GRUB_XFS_EXTENT_SIZE): Likewise.
11257 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
11258 (GRUB_XFS_NEXT_DIRENT): Likewise.
11259 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
11260 (grub_xfs_read_file): Fix offset type.
11261
8bcebcb8
RM
112622011-10-15 Robert Millan <rmh@gnu.org>
11263
11264 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
11265
0017e5ef
RM
112662011-10-15 Robert Millan <rmh@gnu.org>
11267
11268 Fix build problem on FreeBSD and GNU/kFreeBSD.
11269
11270 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
11271
d8919552
VS
112722011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11273
11274 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
11275
11276 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
11277 types.
11278 (grub_hfsplus_btree_recoffset): Likewise.
11279 (grub_hfsplus_btree_recptr): Likewise.
11280 (grub_hfsplus_find_block): Likewise.
11281 (grub_hfsplus_btree_search): Likewise.
11282 (grub_hfsplus_read_block): Likewise.
11283 (grub_hfsplus_read_file): Likewise.
11284 (grub_hfsplus_mount): Likewise.
11285 (grub_hfsplus_btree_iterate_node): Likewise.
11286 (grub_hfsplus_btree_search): Likewise.
11287 (grub_hfsplus_iterate_dir): Likewise.
11288 (grub_hfsplus_read): A small code simplification.
11289
c81296b6
VS
112902011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11291
11292 * grub-core/kern/emu/hostdisk.c
11293 (convert_system_partition_to_system_disk): Don't assume that children
11294 of mapper nodes are mapper nodes.
11295
0eb8ffb1
VS
112962011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11297
11298 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
11299 * include/grub/misc.h (grub_isxdigit): New function.
11300 * grub-core/video/colors.c (my_isxdigit): Removed. All users
11301 switched to grub_isxdigit.
11302 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
11303 number starting with a letter.
11304
a98f4a08
RM
113052011-10-09 Robert Millan <rmh@gnu.org>
11306
11307 LVM support for FreeBSD and GNU/kFreeBSD.
11308
11309 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
11310 GNU/kFreeBSD.
11311 (LVM_DEV_MAPPER_STRING): Move from here ...
11312 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
11313 * util/getroot.c: Include `<grub/util/lvm.h>'.
11314 (grub_util_get_dev_abstraction): Enable
11315 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
11316 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
11317 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
11318 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
11319 support it.
11320 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
11321 GNU/kFreeBSD.
11322 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
11323 when LVM abstraction is required for ${GRUB_DEVICE}.
11324
050e8e90
SJ
113252011-10-06 Szymon Janc <szymon@janc.net.pl>
11326
11327 Add support for LZO compression in GRUB:
11328 - import of minilzo library,
11329 - LZO decompression for btrfs,
11330 - lzop files decompression.
11331
11332 * grub-core/io/lzopio.c: New file.
11333 * grub-core/lib/adler32.c: Likewise.
11334 * grub-core/lib/minilzo/lzoconf.h: Likewise.
11335 * grub-core/lib/minilzo/lzodefs.h: Likewise.
11336 * grub-core/lib/minilzo/minilzo.c: Likewise.
11337 * grub-core/lib/minilzo/minilzo.h: Likewise.
11338 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
11339 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
11340 grub-core/lib/minilzo/minilzo.c to common.
11341 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
11342 cflags in cppflags.
11343 * grub-core/Makefile.core.def (btrfs): Likewise.
11344 * grub-core/Makefile.core.def (lzopio): New module.
11345 (adler32): Likewise.
11346 * grub-core/fs/btrfs.c: Include minilzo.h.
11347 (GRUB_BTRFS_COMPRESSION_LZO): New define.
11348 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
11349 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
11350 (grub_btrfs_lzo_decompress): New function.
11351 (grub_btrfs_extent_read): Add support for LZO compression type.
11352 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
11353 (GRUB_USHRT_MAX): Likewise.
11354 (GRUB_UINT_MAX): Likewise.
11355 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
11356 (UINT_MAX): Likewise.
11357 (CHAR_BIT): Likewise.
11358 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
11359 grub-core/lib/posix_wrap/limits.h
11360 (UCHAR_MAX): Likewise.
11361 * include/grub/file.h (grub_file_filter_id): New compression filter
11362 GRUB_FILE_FILTER_LZOPIO.
11363 * include/grub/file.h (grub_file_filter_id): Set
11364 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
11365 * include/grub/types.h (grub_get_unaligned16): New function.
11366 (grub_get_unaligned32): Likewise.
11367 (grub_get_unaligned64): Likewise.
11368 * util/import_gcry.py (cryptolist): Add adler32.
11369
0eb8ffb1
VS
113702011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
11371
11372 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
11373 in perspective decreases the complexity of build system and fixes
11374 compilation right now.
11375
ce79cc99 113762011-10-01 Ales Nesrsta <starous@volny.cz>
11377
11378 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
11379 (fixed problem related to using UHCI with coreboot).
11380
8667a314
BC
113812011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
11382
11383 * gentpl.py: Use Autogen macros so that the output template file
11384 (Makefile.tpl) size is reduced.
11385
fc5efcc0
MK
113862011-09-29 Mads Kiilerich <mads@kiilerich.com>
11387
11388 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
11389 extra_dist.
11390
d1ab689d
ML
113912011-09-29 Mario Limonciello <mario_limonciello@dell.com>
11392
11393 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
11394 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
11395
c05de032
ML
113962011-09-29 Mario Limonciello <mario_limonciello@dell.com>
11397
11398 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
11399 _fullpath.
11400
cca7ccd8
ML
114012011-09-29 Mario Limonciello <mario_limonciello@dell.com>
11402
11403 Remove extra declaration of sleep for mingw32.
11404
11405 * util/misc.c (sleep) [__MINGW32__]: Removed.
11406 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
11407
e0b0dc83
GS
114082011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
11409
11410 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
11411 type and packname.
11412 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
11413 Resurrected.
11414 (NETBSD_BTINFO_BOOTWEDGE): New definition.
11415 (grub_netbsd_btinfo_bootwedge): New struct.
11416 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
11417 New function.
11418 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
11419
91a1a164
TH
114202011-09-28 Thomas Haller <thomas.haller@fen-net.de>
11421
11422 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
11423 loader.
11424
2ded951e
AB
114252011-09-28 Andreas Born <futur.andy@googlemail.com>
11426
11427 Fix incorrect identifiers in bash-completion.
11428
11429 * util/bash-completion.d/grub-completion.bash.in
11430 (_grub_mkpasswd-pbkdf2): Rename to ...
11431 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
11432 (_grub_script-check): Rename to ...
11433 (_grub_script_check): ... this. All users updated.
11434
69915030
VS
114352011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
11436
11437 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
11438 Return 0 if disk isn't biosdisk.
11439
20fd15f9
GS
114402011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
11441
11442 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
11443 on NetBSD.
11444 * Makefile.util.def (grub-fstest): Likewise.
11445
1a7d7db9
GS
114462011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
11447
11448 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
11449 Get sector size from disk label.
11450
2221ab6c
CW
114512011-09-05 Colin Watson <cjwatson@ubuntu.com>
11452
11453 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
11454 */README* as well as README*.
11455 Reported by: Axel Beckert.
11456
ca51c4a0
VS
114572011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
11458
11459 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
11460 case of less than 256 MiB of RAM.
11461
ab80f326
VS
114622011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
11463
11464 * grub-core/commands/wildcard.c (make_regex): Handle @.
11465
4155e697
VS
114662011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
11467
11468 * util/grub-install.in: Move cryptodisk logic to appropriate place.
11469
ab178c08
SJ
114702011-08-21 Szymon Janc <szymon@janc.net.pl>
11471
11472 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
11473 AC_LANG_CONFTEST macros.
11474
7dc3c686
SJ
114752011-08-20 Szymon Janc <szymon@janc.net.pl>
11476
11477 Add grub-fstest option to uncompress data for commands.
11478
11479 * util/grub-fstest.c (uncompress): New var.
11480 (options): New option -u.
11481
fe8d4a7b
SJ
114822011-08-20 Szymon Janc <szymon@janc.net.pl>
11483
11484 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
11485 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
11486
a5219af1
SJ
114872011-08-20 Szymon Janc <szymon@janc.net.pl>
11488
11489 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
11490 file type was not recognized correctly (not gzip or corrupted).
11491
f87abff5
VS
114922011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11493
11494 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
11495 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
11496
d94497ea
VS
114972011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11498
11499 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
11500 loongson.
11501 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
11502 video_radeon_fuloong2e.
11503 * grub-core/video/radeon_fuloong2e.c: New file.
11504 * include/grub/video.h (grub_video_id_t): Add new ID
11505 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
11506
0d1fd011
VS
115072011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11508
11509 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
11510 define.
11511 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
11512 that PRID matches the detected subplatform and reset the subplatform
11513 if it doesn't.
11514
84beb0ee
VS
115152011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11516
11517 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
11518
1227c133
VS
115192011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11520
11521 Fix PCI iterating on functions >= 4.
11522
11523 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
11524 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
11525 Removed.
11526 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
11527 (grub_pci_read): Fix bitmask.
11528 (grub_pci_read_word): Likewise.
11529 (grub_pci_read_byte): Likewise.
11530 (grub_pci_write): Likewise.
11531 (grub_pci_write_word): Likewise.
11532 (grub_pci_write_byte): Likewise.
11533
9594c689
VS
115342011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11535
11536 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
11537 can still be specified in TARGET_CFLAGS)
11538
14a2562c
VS
115392011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11540
11541 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
11542
11543 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
11544 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
11545 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
11546 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
11547 (FULOONG): Rename to ...
11548 (FULOONG2F): ... this. All users updated.
11549 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
11550 (machtype_fuloong2f_str): ... this.
11551 (machtype_fuloong2e_str): New string.
11552 Check for machtype_fuloong2e_str.
11553 * grub-core/loader/mips/linux.c (loongson_machtypes)
11554 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
11555 * grub-core/term/serial.c (loongson_defserial)
11556 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
11557 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
11558 loongson_defserial.
11559 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
11560 Rename to ...
11561 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
11562 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
11563 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
11564 to IMAGE_FULOONG2F_FLASH. All users updated.
11565 (image_targets): Rename images.
11566 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
11567
b526cbb6
SJ
115682011-08-19 Szymon Janc <szymon@janc.net.pl>
11569
11570 Make enable of disk cache statistics code configurable.
11571
11572 * configure.ac: --enable-cache-stats added.
11573 * config.h.in (DISK_CACHE_STATS): New define.
11574 * grub-core/Makefile.core.def (cacheinfo): New command.
11575 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
11576 * grub-core/commands/cacheinfo.c: New file.
11577 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
11578 moved to cacheinfo.c.
11579 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
11580 debug code.
11581 * include/grub/disk.h: Likewise.
11582
fb739ccd
SJ
115832011-08-19 Szymon Janc <szymon@janc.net.pl>
11584
11585 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
11586 * grub-core/Makefile.am: Likewise.
11587
2bba8cfd
VS
115882011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
11589
11590 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
11591 non-zero pull.
11592
43526629
VS
115932011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
11594
11595 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
11596 All users updated.
11597 (grub_jfs_lookup_symlink): Use correct starting inode.
11598
5c144cc8
VS
115992011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
11600
11601 * util/grub-setup.c (main): Add missing gcry initialisation.
11602
b1257f65
VS
116032011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
11604
11605 Don't accept text modes on EFI when booting Linux.
11606
11607 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
11608 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
11609
828bc390
ML
116102011-08-15 Mario Limonciello <mario_limonciello@dell.com>
116112011-08-15 Colin Watson <cjwatson@ubuntu.com>
11612
11613 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
11614 use of "/path/.." as in grub-install for EFI as well as handling
11615 symlinks correctly.
11616 Fixes Debian bug #637768.
11617
5f60ccac
CW
116182011-08-15 Colin Watson <cjwatson@ubuntu.com>
11619
11620 * util/grub-probe.c: Remove duplicate #include.
11621
6dc212f9
RM
116222011-08-10 Robert Millan <rmh@gnu.org>
11623
11624 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
11625
11626 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
11627 function.
11628 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
11629 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
11630
66816d85
RM
116312011-08-03 Robert Millan <rmh@gnu.org>
11632
11633 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
11634 la_array as packed.
11635 Reported by: Zachary Bedell
11636
20168fca
CW
116372011-07-26 Colin Watson <cjwatson@ubuntu.com>
11638
11639 * configure.ac: The Loongson port requires grub-mkfont due to its
11640 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
11641 be built.
11642
303b6246
CW
116432011-07-26 Colin Watson <cjwatson@ubuntu.com>
11644
11645 * util/grub-install.in: Don't source grub-mkconfig_lib until after
11646 processing arguments (otherwise help2man fails when GRUB has not yet
11647 been installed).
11648
6795300e
VS
116492011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11650
41aa28ea
VS
11651 New script grub-mkstandalone.
11652
11653 * Makefile.util.def (grub-mkstandalone): New script.
11654 * docs/man/grub-mkstandalone.h2m: New file.
11655 * util/grub-mkstandalone.in: Likewise.
11656
116572011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11658
11659 Support ATA disks with 4K sectors.
6795300e
VS
11660
11661 * include/grub/ata.h (grub_ata): New member log_sector_size.
11662 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
11663 (grub_ata_identify): Read sector size.
11664 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
11665
92227597
VS
116662011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11667
11668 * util/grub-install.in: Don't use uhci outside of x86.
11669
c77069f5
VS
116702011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
11671
11672 * util/grub-mkrescue.in: Add missing quotes.
11673
116742011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
11675
11676 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
11677 dereference.
11678
583168a2
VS
116792011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
11680
11681 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
11682
6be1c01f
VS
116832011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
11684
11685 * include/grub/video.h: add missing EXPORT_FUND on
11686 grub_video_edid_checksum and grub_video_edid_preferred_mode.
11687
a1167439
VS
116882011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
11689
11690 * include/grub/mips/kernel.h: Fix define conflict.
11691
bf66054f
VS
116922011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
11693
11694 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
11695 all four ways.
11696
8fc4fa45
CW
116972011-07-21 Colin Watson <cjwatson@ubuntu.com>
11698
11699 Preferred resolution detection for VBE.
11700
11701 * grub-core/video/video.c (grub_video_edid_checksum): New function.
11702 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
11703 the Flat Panel extension, in line with the X.org VESA driver.
11704 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
11705 New function.
11706 (grub_vbe_bios_get_ddc_capabilities): Likewise.
11707 (grub_vbe_bios_read_edid): Likewise.
11708 (grub_vbe_get_preferred_mode): Likewise.
11709 (grub_video_vbe_setup): When the mode is "auto", try to get the
11710 preferred mode from VBE, and use the largest mode that is no larger
11711 than the preferred mode (some BIOSes expose a preferred mode that is
11712 not in their mode list!). If this fails, fall back to 640x480 as a
11713 safe conservative choice.
11714 (grub_video_vbe_get_edid): New function.
11715 (grub_video_vbe_adapter): Add get_edid.
11716 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
11717 (struct grub_video_adapter): Add get_edid.
11718 (grub_video_edid_checksum): Add prototype.
11719 (grub_video_edid_preferred_mode): Likewise.
11720 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
11721 structure.
11722
11723 * grub-core/commands/videoinfo.c (print_edid): New function.
11724 (grub_cmd_videoinfo): Print EDID if available.
11725
11726 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
11727 is more appropriate on a wider range of platforms than 640x480.
11728 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
11729 documentation.
11730
ca5572a9
VS
117312011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11732
11733 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
11734
e4bcf625
VS
117352011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11736
11737 * po/POTFILES.in: Regenerate.
11738
c4edd548
VS
117392011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11740
11741 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
11742 incorrect memory usage.
11743
16a2bab0
VS
117442011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11745
11746 * util/grub-install.in: Source grub-mkconfig_lib.
11747
2e418de6
VS
117482011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
11749
11750 Remove getroot.c from core on emu platform.
11751
11752 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
11753 kern/emu/raid.c.
11754 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
11755 useless.
11756 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
11757 * util/getroot.c (get_win32_path): ... here.
11758 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
11759 * util/getroot.c (fini_libzfs): ... here.
11760 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
11761 * util/getroot.c (grub_get_libzfs_handle): ... here.
11762 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
11763 Moved from here...
11764 * util/getroot.c (grub_find_zpool_from_dir): ... here.
11765 * grub-core/kern/emu/misc.c
11766 (grub_make_system_path_relative_to_its_root): Moved from here...
11767 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
11768 * grub-core/kern/emu/getroot.c: Moved from here ...
11769 * util/getroot.c: ... here. All users updated.
11770 * grub-core/kern/emu/raid.c: Moved from here ...
11771 * util/raid.c: ... here. All users updated.
11772
def9832a
VS
117732011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
11774
11775 * po/POTFILES.in: Regenerate.
11776
cd8fe79a
VS
117772011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
11778
11779 Fix compilation on GNU/Linux.
11780
11781 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
11782 Disable geli.
11783 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
11784 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
11785 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
11786
a251b719
VS
117872011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
117882011-07-07 Michael Gorven <michael@gorven.za.net>
117892011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
11790
11791 LUKS and GELI support.
11792
11793 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
11794 grub-core/disk/luks.c, grub-core/disk/geli.c,
11795 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
11796 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
11797 grub-core/lib/arg.c.
11798 (libgrubmods.a): Remove gcrypts cflags and cppflags.
11799 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
11800 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
11801 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
11802 (grub-bin2h): Add libgcry.a.
11803 (grub-mkimage): Likewise.
11804 (grub-mkrelpath): Likewise.
11805 (grub-script-check): Likewise.
11806 (grub-editenv): Likewise.
11807 (grub-mkpasswd-pbkdf2): Likewise.
11808 (grub-pe2elf): Likewise.
11809 (grub-fstest): Likewise.
11810 (grub-mkfont): Likewise.
11811 (grub-mkdevicemap): Likewise.
11812 (grub-probe): Likewise.
11813 (grub-ofpath): Likewise.
11814 (grub-mklayout): Likewise.
11815 (example_unit_test): Likewise.
11816 (grub-menulst2cfg): Likewise.
11817 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
11818 * grub-core/Makefile.core.def (cryptodisk): New module.
11819 (luks): Likewise.
11820 (geli): Likewise.
11821 * grub-core/disk/AFSplitter.c: New file.
11822 * grub-core/disk/cryptodisk.c: Likewise.
11823 * grub-core/disk/geli.c: Likewise.
11824 * grub-core/disk/luks.c: Likewise.
11825 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
11826 grub_util_is_lvm.
11827 (grub_util_get_dm_abstraction): New function.
11828 (grub_util_follow_gpart_up): Likewise.
11829 (grub_util_get_geom_abstraction): Likewise.
11830 (grub_util_get_dev_abstraction): Use new functions.
11831 (grub_util_pull_device): Pull GELI and LUKS.
11832 (grub_util_get_grub_dev): Handle LUKS and GELI.
11833 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
11834 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
11835 (follow_geom_up): Removed.
11836 (grub_util_fd_seek): New function.
11837 (open_device): Use grub_util_fd_seek.
11838 (nread): Rename to ..
11839 (grub_util_fd_read): ... this. All users updated.
11840 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
11841 (grub_crypto_cbc_decrypt): Likewise.
11842 (grub_crypto_hmac_write): Likewise.
11843 (grub_crypto_hmac_buffer): Likewise.
11844 (grub_password_get): Extend to util.
11845 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
11846 New member modname.
11847 (gcry_md_spec) [GRUB_UTIL]: Likewise.
11848 * include/grub/cryptodisk.h: New file.
11849 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
11850 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
11851 LUKS and GELI.
11852 (grub_util_follow_gpart_up): New proto.
11853 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
11854 (grub_util_fd_read): Likewise.
11855 (grub_cryptodisk_cheat_mount): Likewise.
11856 (grub_util_cryptodisk_print_uuid): Likewise.
11857 (grub_util_get_fd_sectors): Likewise.
11858 * util/grub-fstest.c (mount_crypt): New var.
11859 (fstest): Mount crypto if requested.
11860 (options): New option -C.
11861 (argp_parser): Parse -C.
11862 (main): Init and fini gcry.
11863 * util/grub-install.in: Support cryptodisk install.
11864 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
11865 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
11866 cryptodisk.
11867 (prepare_grub_to_access_device): Likewise.
11868 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
11869 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
11870 (probe_cryptodisk_uuid): New function.
11871 (probe_abstraction): Likewise.
11872 (probe): Use new functions.
11873 * util/import_gcry.py: Create Makefile.utilgcry.def.
11874 Add modname member.
11875
9bfdcbbc
VS
118762011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
11877
11878 Lazy device scanning.
11879
11880 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
11881 (grub-setup): Remove util/raid.c.
11882 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
11883 * grub-core/disk/lvm.c (scan_depth): New variable.
11884 (grub_lvm_iterate): Rescan if necessary.
11885 (find_lv): New function based on grub_lvm_open.
11886 (grub_lvm_open): Use find_lv. Rescan on error.
11887 (is_node_readable): New function.
11888 (is_lv_readable): Likewise.
11889 (grub_lvm_scan_device): Skip already found disks.
11890 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
11891 Stop if searched device is found and readable.
11892 * grub-core/disk/raid.c (inscnt): New variable.
11893 (scan_depth): Likewise.
11894 (scan_devices): New function based on grub_raid_register. Abort if
11895 looked for device is found.
11896 (grub_raid_iterate): Rescan if needed.
11897 (find_array): NEw function based on -grub_raid_open.
11898 (grub_raid_open): Use find_array and rescan.
11899 (insert_array): Set became_readable_at.
11900 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
11901 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
11902 New function.
11903 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
11904 (grub_util_pull_device): New function.
11905 (grub_util_get_grub_dev): Call grub_util_pull_device.
11906 * util/raid.c: Moved to ..
11907 * grub-core/kern/emu/raid.c: ... here.
11908 (grub_util_raid_getmembers): New parameter "bootable".
11909 All users updated. Support 1.x.
11910 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
11911 All users updated.
11912 * include/grub/disk.h (grub_disk_pull_t): New enum.
11913 (grub_disk_dev): Change iterate prototype.
11914 All users updated.
11915 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
11916 New proto.
11917 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
11918 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
11919 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
11920 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
11921 All users updated.
11922 * include/grub/util/raid.h: Removed.
11923
1c358e59
VS
119242011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
11925
11926 * po/POTFILES.in: Regenerate.
11927
abee94ed
VS
119282011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
11929
11930 Unify sparc init with other ieee1275.
11931
11932 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
11933 instead of kern/sparc64/ieee1275/init.c.
11934 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
11935 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
11936 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
11937 grub/machine/kernel.h.
11938 (grub_ieee1275_original_stack) [__sparc__]: New variable.
11939 (grub_claim_heap) [__sparc__]: Use sparc version.
11940 (grub_machine_init): Moved args parsing to
11941 (grub_parse_cmdline): ...this.
11942 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
11943 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
11944 New definition.
11945 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
11946
11947 Move BOOTP to separate file.
11948
11949 * grub-core/Makefile.core.def (net): Add net/bootp.c.
11950 * grub-core/net/net.c: Move all BOOTP functions to
11951 * grub-core/net/bootp.c: ... here.
11952
11953 Use frame interface on PXE.
11954
11955 * grub-core/Makefile.core.def (pxecmd): Removed.
11956 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
11957 * grub-core/commands/i386/pc/pxecmd.c: Removed.
11958 * grub-core/i386/pc/pxe.c: Moved from here ...
11959 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
11960 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
11961 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
11962
11963 EFI network support.
11964
11965 * grub-core/Makefile.core.def (efinet): New module.
11966 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
11967 here...
11968 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
11969 All users updated.
11970 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
11971 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
11972 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
11973 * grub-core/net/drivers/efi/efinet.c: New file.
11974 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
11975 (grub_efi_net_config): New extern var.
11976
11977 Various cleanups and bugfixes.
11978
11979 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
11980 error.
11981 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
11982 disk declared as partition.
11983 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
11984 leak on failure.
11985 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
11986 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
11987 (grub_debug_zalloc): Likewise.
11988 (grub_debug_realloc): Likewise.
11989 (grub_debug_memalign): Likewise.
11990 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
11991 Check that target is IPv4.
11992 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
11993 local-mac-address as fallback.
11994 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
11995 memory leak.
11996 * grub-core/net/ip.c (ipchksum): Rename to ...
11997 (grub_net_ip_chksum): ... this. All users updated.
11998 (grub_net_recv_ip_packets): Special handling for DHCP.
11999 * util/grub-mkimage.c (generate_image): Zero-out aout header.
12000
12001 Unify prefix handling
12002
12003 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
12004 (grub_machine_get_bootlocation): ... this.
12005 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
12006 (grub_machine_get_bootlocation): ... this.
12007 (grub_prefix): New variable.
12008 (prefix): Removed.
12009 (root_dev): New variable.
12010 (dir): Likewise.
12011 (main): Use new variables.
12012 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
12013 Revamped into ...
12014 (grub_machine_get_bootlocation): ... this.
12015 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
12016 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
12017 (grub_machine_get_bootlocation): ... this.
12018 (grub_machine_set_prefix): Removed.
12019 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
12020 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
12021 Revamped into ...
12022 (grub_machine_get_bootlocation): ... this.
12023 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
12024 (grub_set_prefix_and_root): ... this. All users updated.
12025 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
12026 Revamped into ...
12027 (grub_machine_get_bootlocation): ... this.
12028 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
12029 (grub_machine_get_bootlocation): New proto.
12030 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
12031
12032 Less intrusive and more reliable seek on network implementation.
12033
12034 * grub-core/kern/file.c (grub_file_net_seek): Removed.
12035 (grub_file_seek): Don't call grub_file_net_seek.
12036 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
12037 (grub_net_fs_read_real): .. this.
12038 (grub_net_seek_real): Use net->offset.
12039 (grub_net_fs_read): Seek if necessary.
12040
12041 Unify IEEE1275 netwotk config with the other platforms.
12042
12043 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
12044 New variable.
12045 (grub_machine_get_bootlocation): Support network.
12046 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
12047 Support type and device parsing.
12048 (grub_ieee1275_get_device_type): New function.
12049 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
12050 into ...
12051 (grub_ieee1275_net_config_real): ... this.
12052 (grub_ofnet_probecards): Removed.
12053 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
12054 * include/grub/ieee1275/ofnet.h: Removed.
12055 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
12056 extern var.
12057 (grub_ieee1275_get_device_type): New function.
12058
12059 Unify network device closing across platforms and make more robust.
12060
12061 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
12062 grub_grubnet_fini.
12063 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
12064 already.
12065 * grub-core/net/net.c (grub_net_network_level_interface_register):
12066 Update num_ifaces.
12067 (grub_net_card_unregister): Close all interfaces.
12068 (receive_packets): Don't poll if no iterfaces are registered.
12069 Open if necessary.
12070 (grub_net_fini_hw): New function.
12071 (grub_net_restore_hw): Likewise.
12072 (fini_hnd): New variable.
12073 (GRUB_MOD_INIT): Register preboot hook.
12074 (GRUB_MOD_FINI): Run and unregister preboot hook.
12075
12076 Poll network cards when idle.
12077
12078 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
12079 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
12080 * grub-core/net/net.c (receive_packets): Save last poll time.
12081 (grub_net_poll_cards_idle_real): New function.
12082 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
12083 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
12084 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
12085
12086 Rename ofnet interfaces.
12087
12088 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
12089 (grub_ofnet_findcards): Use ofnet_%s names.
12090
12091 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
12092
12093 Cleanup socket opening.
12094
12095 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
12096 (grub_net_fs_close): Likewise.
12097 (grub_net_fs_read_real): Use eof member.
12098 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
12099 (+grub_net_udp_close): New inline function.
12100
12101 * include/grub/net/tftp.h: Moved to the top of ...
12102 * grub-core/net/tftp.c: ... here.
12103 * include/grub/net/ip.h: Moved mostly to the top of ...
12104 * grub-core/net/ip.c: ... here.
12105 * include/grub/net/ethernet.h: Moved mostly to the top of ...
12106 * grub-core/net/ethernet.c: ... here.
12107
12108 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
12109
12110 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
12111 FS name.
12112
12113 * include/grub/net/ip.h (ipv4_ini): Removed.
12114 (ipv4_fini): Likewise.
12115
12116 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
12117 (grub_net_send_ip_packets): Likewise.
12118
cf1337aa
VS
121192011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
12120
12121 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
12122 grub_read_cmos prototype.
12123
93c06ff9
VS
121242011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
12125
12126 VGA text support in qemu-mips
12127
12128 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
12129 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
12130 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
12131 text.
12132 * grub-core/kern/i386/qemu/init.c: Renamed to ...
12133 * grub-core/kern/vga_init.c: ... this.
12134 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
12135 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
12136 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
12137 Adjust.
12138 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
12139 GRUB_MACHINE_PCI_IO_BASE.
12140
748ccabe
VS
121412011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
12142
12143 MIPS qemu flash support.
12144
12145 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
12146 magic.
12147 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
12148 (grub_machine_init): Probe memory if its size isn't known.
12149 * util/grub-mkimage.c (image_targets): Add flash targets.
12150 (generate_image): Handle flash targets.
12151
d7345994
VS
121522011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
12153
12154 MIPS qemu at_keyboard support.
12155
12156 * gentpl.py (videoinkernel): Add qemu-mips.
12157 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
12158 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
12159 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
12160 modules.
12161 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
12162 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
12163 * grub-core/term/serial.c (grub_serial_register)
12164 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
12165
a07a81b3
VS
121662011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
12167
12168 CMOS support on sparc.
12169
12170 * gentpl.py (cmos): Add powerpc and sparc.
12171 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
12172 powerpc and sparc.
12173 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
12174 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
12175 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
12176 grub_set_datetime_cmos.
12177 * grub-core/lib/ieee1275/cmos.c: New file.
12178 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
12179 (find_rtc): Set no_ieee1275_rtc on error.
12180 (grub_get_datetime): Call grub_get_datetime_cmos on error.
12181 (grub_set_datetime): Call grub_set_datetime_cmos on error.
12182 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
12183 fail. Move value to argument. All users updated
12184 (grub_cmos_write): Likewise.
12185 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
12186 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
12187 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
12188 grub_get_datetime_cmos and grub_set_datetime_cmos.
12189
77546584
GS
121902011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
12191
12192 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
12193 sourcing grub-mkconfig_lib.
12194 * util/update-grub_lib.in: Likewise.
12195 * util/grub.d/00_header.in: Likewise.
12196 * util/grub.d/10_hurd.in: Likewise.
12197 * util/grub.d/10_kfreebsd.in: Likewise.
12198 * util/grub.d/10_linux.in: Likewise.
12199 * util/grub.d/10_netbsd.in: Likewise.
12200 * util/grub.d/10_windows.in: Likewise.
12201 * util/grub.d/20_linux_xen.in: Likewise.
12202 * util/grub.d/30_os-prober.in: Likewise.
12203
54894791
CW
122042011-06-28 Colin Watson <cjwatson@ubuntu.com>
12205
12206 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
12207 default_bg_color rather than black.
12208 (grub_gfxterm_fullscreen): Likewise.
12209 (grub_gfxterm_background_color_cmd): Save new background color in
12210 default_bg_color.
12211
8d5d8444
VS
122122011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12213
12214 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
12215
5afeb5bd
VS
122162011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12217
12218 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
12219 mismerge.
12220
ba7df45e
VS
122212011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12222
12223 Chainloading on coreboot support.
12224
12225 * grub-core/Makefile.core.def (chain): Add coreboot.
12226 * grub-core/loader/i386/coreboot/chainloader.c: New file.
12227
d0b526b2
VS
122282011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12229
12230 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
12231 if it happens.
12232
5ff1d945
VS
122332011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12234
12235 Implement time command.
12236
12237 * grub-core/Makefile.core.def (time): New module.
12238 * grub-core/commands/time.c: New file.
12239 * grub-core/script/parser.y: Remove "time" keyword.
12240 * grub-core/script/yylex.l: Likewise.
12241
5ebaad7e
VS
122422011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12243
12244 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
12245
bdea3798
VS
122462011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12247
12248 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
12249 when handling leftovers.
12250
b28c5655
VS
122512011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12252
12253 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
12254 so that help2man doesn't fail.
12255
b6f945dc
VS
122562011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12257
12258 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
12259 type in pointers on sparc64.
12260 (get_card_packet): Likewise.
12261
f9b75e8a
CW
122622011-06-27 Colin Watson <cjwatson@ubuntu.com>
12263
12264 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
12265 with `*'.
12266 (grub_cmd_videoinfo): Fetch current video mode.
12267
1e3d9b86
VS
122682011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12269
12270 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
12271 because of underlying system restrictions.
12272
efff4b1c
VS
122732011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12274
12275 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
12276 necessary.
12277
9fc9ce37
VS
122782011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12279
12280 Coreboot video support.
12281
12282 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
12283 (vbe): Likewise.
12284 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
12285 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
12286 here ...
12287 * grub-core/kern/i386/int.S: ... here.
12288 * grub-core/video/i386/pc/vbe.c: Updated includes.
12289 * grub-core/video/i386/pc/vga.c: Likewise.
12290 * include/grub/i386/coreboot/memory.h
12291 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
12292 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
12293 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
12294 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
12295 Disable interrupts.
12296 * include/grub/i386/pc/vga.h: Removed. All users updated.
12297
41bec7fe
VS
122982011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12299
12300 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
12301 definitions for dprintf.
12302 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
12303
ca80309d
VS
123042011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
12305
12306 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
12307 prototype.
12308 (get_card_packet): Likewise.
12309
9e322ce8
YB
123102011-06-26 Yves Blusseau <blusseau@zetam.org>
12311
12312 Display the path of the file when file is not found
12313
12314 * grub-core/fs/fat.c: Display the filename when file is not found.
12315 * grub-core/fs/fshelp.c: Likewise.
12316 * grub-core/fs/hfs.c: Likewise.
12317 * grub-core/fs/jfs.c: Likewise.
12318 * grub-core/fs/minix.c: Likewise.
12319 * grub-core/fs/ufs.c: Likewise.
12320 * grub-core/fs/btrfs.c: Likewise.
12321 * grub-core/commands/i386/pc/play.c: Likewise.
12322
cbf597af
SJ
123232011-06-26 Szymon Janc <szymon@janc.net.pl>
12324
12325 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
12326 pointer checks before calling grub_free().
12327 * grub-core/commands/wildcard.c (match_devices): Likewise.
12328 * grub-core/commands/wildcard.c (match_files): Likewise.
12329 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
12330 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
12331 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
12332 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
12333 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
12334 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
12335 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
12336 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
12337 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
12338
6295b32f
P
123392011-06-25 Patrick <p55@mailinator.com>
12340
12341 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
12342
77c0840b
VS
123432011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
12344
12345 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
12346 (grub_pxe_send): Likewise.
12347 (GRUB_MOD_INIT): Fix types.
12348
40ea05de
SJ
123492011-06-24 Szymon Janc <szymon@janc.net.pl>
12350
12351 * grub-core/io/xzio.c: Fix code style issues
12352
90162423
MRA
123532011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
123542011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
12355
12356 Network infrastructure.
12357 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
12358
12359 * include/grub/net/arp.h: New file.
90162423
MRA
12360 * include/grub/net/device.h: Likewise.
12361 * include/grub/net/ethernet.h: Likewise.
12362 * include/grub/net/ip.h: Likewise.
12363 * include/grub/net/netbuff.h: Likewise.
12364 * include/grub/net/tftp.h: Likewise.
12365 * include/grub/net/udp.h: Likewise.
12366 * include/grub/ieee1275/ofnet.h: Likewise.
12367 * include/grub/emu/export.h: Likewise.
12368 * include/grub/net.h: Likewise.
12369 * grub-core/net/arp.c: Likewise.
12370 * grub-core/net/ethernet.c: Likewise.
12371 * grub-core/net/ip.c: Likewise.
12372 * grub-core/net/udp.c: Likewise.
12373 * grub-core/net/tftp.c: Likewise.
12374 * grub-core/net/netbuff.c: Likewise.
12375 * grub-core/net/net.c: Likewise.
12376 * grub-core/net/drivers/emu/emunet.c: Likewise.
12377 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
12378 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
12379 export.h.
12380 * grub-core/Makefile.core.def (net): New module.
12381 (tftp): Likewise.
12382 (ofnet): Likewise.
12383 (emunet): Likewise.
12384 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
12385 network protocols.
12386 * grub-core/kern/device.c (grub_net_open) : New variable.
12387 (grub_device_open): Handle network device.
12388 (grub_device_close): Likewise.
12389 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
12390 (grub_grubnet_fini): Likewise.
12391 (grub_file_seek): Seek in network device.
12392 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
12393 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
12394 network root.
12395 (grub_machine_fini): Call grub_grubnet_fini.
12396 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
12397 network.
12398 (grub_ieee1275_get_aliasdevname): New function.
12399 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12400 Add unofficial Solaris network info.
12401 (grub_multiboot_make_mbi): Likewise.
12402 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
12403 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
12404 * include/grub/device.h (grub_fs): Removed.
12405 * include/grub/err.h (grub_err_t): Add network-related values.
12406 * include/grub/i386/pc/pxe.h: Removed bootp parts.
12407 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
12408 (grub_ieee1275_get_aliasdevname): New proto.
12409 * include/grub/net.h: Rewritten.
423a1849 12410
031f22a0
VS
124112011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12412
12413 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
12414 names.
12415
4388ca72
VS
124162011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12417
12418 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
12419 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
12420 it truncates the output.
12421 Reported by: Ximin Luo.
12422
98e2f506
VS
124232011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12424
12425 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
12426
2a5e94d8
VS
124272011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12428
12429 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
12430 partmap before abstraction.
12431
535c1910
AK
124322011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
12433
12434 * util/grub-mkconfig_lib.in: Add missing quotes.
12435
bc09e1a2
VS
124362011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12437
12438 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
12439 old method if mountinfo would return /dev/root and /dev/root doesn't
12440 exist.
12441
290766fb
VS
124422011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12443
12444 ZFS zlib support
12445
12446 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
12447 (decomp_table): Add zlib entries.
12448 (zio_read): USe 8 bits for compression function rather than 3.
12449 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
12450
124512011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
12452
12453 * grub-core/disk/ahci.c: Add missing license statements.
12454 * grub-core/fs/romfs.c: Likewise.
12455 * grub-core/lib/ia64/setjmp.S: Likewise.
12456 * grub-core/loader/i386/pc/freedos.c: Likewise.
12457 * grub-core/loader/ia64/efi/linux.c: Likewise.
12458 * grub-core/video/colors.c: Likewise.
12459 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
12460
5ab3f48a
VS
124612011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12462
12463 AHCI support.
12464
12465 * grub-core/Makefile.core.def (ata_pthru): Removed.
12466 (ahci): New module.
12467 (pata): Likewise.
12468 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
12469 on unload.
12470 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
12471 readwrite.
12472 (grub_hdparm_do_check_powermode_cmd): Likewise.
12473 (grub_hdparm_do_smart_cmd): Likewise.
12474 (grub_hdparm_set_val_cmd): Likewise.
12475 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
12476 * grub-core/disk/ahci.c: New file.
12477 * grub-core/disk/ata.c: Factor out the low-level part into ...
12478 * grub-core/disk/pata.c: ... here.
12479 * grub-core/disk/ata_pthru.c: Contents moved to ...
12480 * grub-core/disk/pata.c: ... here.
12481 * grub-core/disk/scsi.c (grub_scsi_names): New array.
12482 (grub_scsi_iterate): Use grub_scsi_names.
12483 (grub_scsi_open): Likewise.
12484 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
12485 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
12486 (grub_ata_regs_t): New struct.
12487 (grub_disk_ata_pass_through_parms): Likewise.
12488 (grub_ata_device): Renamed to ...
12489 (grub_ata): ... this.
12490 (grub_ata_dev): New struct.
12491 Removed all low-level inline functions.
12492 * include/grub/scsi.h: Add PATA and AHCI subsystems.
12493 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
12494 iterate hooks and open. All users updated.
12495 * util/grub-install.in: Handle AHCI disk module.
12496
c31dc5f5
SJ
124972011-06-23 Szymon Janc <szymon@janc.net.pl>
12498
12499 Add support for DRI and RSTn markers in JPEG files.
12500
12501 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
12502 (JPEG_MARKER_RST0): Likewise.
12503 (JPEG_MARKER_RST1): Likewise.
12504 (JPEG_MARKER_RST2): Likewise.
12505 (JPEG_MARKER_RST3): Likewise.
12506 (JPEG_MARKER_RST4): Likewise.
12507 (JPEG_MARKER_RST5): Likewise.
12508 (JPEG_MARKER_RST6): Likewise.
12509 (JPEG_MARKER_RST7): Likewise.
12510 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
12511 (grub_jpeg_decode_dri): New function.
12512 (grub_jpeg_decode_sos): Move image data related part into
12513 grub_jpeg_decode_data function.
12514 (grub_jpeg_decode_data): New function.
12515 (grub_jpeg_reset): New function.
12516 (grub_jpeg_decode_jpeg): Handle new markers.
12517
fe12fd5b
VS
125182011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12519
12520 * util/ieee1275/ofpath.c (check_sas): Close fd.
12521 (main): Free of_path.
12522 Reported by: David Volgyes <dvolgyes>.
12523
03147f46
VS
125242011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12525
12526 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
12527 Reported by: David Volgyes <dvolgyes>.
12528
cad3237f
VS
125292011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12530
12531 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
12532 file after stat.
12533 Reported by: David Volgyes <dvolgyes>.
12534
13548d26
VS
125352011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12536
12537 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
12538
12539 Reported by: David Volgyes <dvolgyes>.
12540
e061a1b5
VS
125412011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12542
12543 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
12544 Prevent memory leak.
12545
1abe47dc
VS
125462011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12547
12548 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
12549 (main): Close file.
e061a1b5 12550 Reported by: David Volgyes <dvolgyes>.
1abe47dc 12551
fbc62666
VS
125522011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12553
12554 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
12555 to continue if allocation is failed.
12556
12557 Reported by: David Volgyes <dvolgyes>.
12558
e98c83e9
DV
125592011-06-23 David Volgyes <dvolgyes>
12560
12561 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
12562 dereference.
12563
a199a8cd
VS
125642011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12565
12566 Fix spurious warning.
12567
12568 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
12569 (acorn_partition_map_find): Use .bin member.
12570
e2d1dba0
VS
125712011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12572
12573 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
12574 /dev/root as a valid device.
12575
8a5d6919
JM
125762011-06-23 Jim Meyering <meyering@redhat.com>
12577
e2d1dba0
VS
12578 Avoid NULL deref in grub_device_open.
12579
8a5d6919
JM
12580 * grub-core/kern/device.c (grub_device_open): Don't dereference
12581 a NULL pointer upon failed grub_env_get.
12582
f7db6f4a
VS
125832011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
12584
12585 Support non-512B sectors and agglomerate reads.
12586
12587 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
12588 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
12589 (disk_io_guid): Removed.
12590 (make_devices): Locate solely by BlockIO.
12591 (grub_efidisk_open): Fill log_sector_size and total_sectors.
12592 (grub_efidisk_read): Use read_blocks.
12593 (grub_efidisk_write): Use write_blocks.
12594 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
12595 log_sector_size.
12596 (get_safe_sectors): Handle non-512B sectors.
12597 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
12598 sectors.
12599 (grub_biosdisk_write): Handle non-512B sectors.
12600 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
12601 (grub_scsi_read): Remove special non-512B block handling (now handled
12602 one level up).
12603 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
12604 and do sanity checks.
12605 (grub_disk_adjust_range): Handle non-512B sectors.
12606 (transform_sector): New function.
12607 (grub_disk_read_small): Likewise.
12608 (grub_disk_read): Rewritten.
12609 (grub_disk_write): Handle non-512B sectors.
12610 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
12611 log_sector_size.
12612 (open_device): Use log_sector_size.
12613 (grub_util_biosdisk_read): Likewise.
12614 (grub_util_biosdisk_write): Likewise.
12615 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
12616 non-512B sectors.
12617 (pc_partition_map_embed): Likewise.
12618 * include/grub/disk.h (grub_disk): New field log_sector_size.
12619 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
12620 (GRUB_DISK_CACHE_BITS): Increased to 6.
12621 * util/grub-fstest.c (fstest): New command testload.
12622 (argp_parser): Likewise.
12623
881ac815
RM
126242011-06-16 Robert Millan <rmh@gnu.org>
12625
12626 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
12627 `ata' driver on kernel of FreeBSD 9.
12628
12629 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
12630 (get_ataraid_disk_name): New functions.
12631 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
12632 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
12633 get_ataraid_disk_name() and get_ada_disk_name().
12634
1e9aef7d
CW
126352011-06-13 Colin Watson <cjwatson@ubuntu.com>
12636
12637 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
12638 input format.
12639
351c7c8a
CW
126402011-05-29 Colin Watson <cjwatson@ubuntu.com>
12641
12642 * docs/grub.texi (Obtaining and Building GRUB): Substitute
12643 `ftp.gnu.org' for `alpha.gnu.org'.
12644
6b4e6430
CW
126452011-05-27 Colin Watson <cjwatson@ubuntu.com>
12646
12647 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
12648 partitions under /dev/disk/by-id/.
12649
c64db050
CW
126502011-05-27 Colin Watson <cjwatson@ubuntu.com>
12651
12652 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
12653 after ten consecutive open failures. Scanning all the way up to
12654 10000 is excessive and can cause serious performance problems in
12655 some configurations.
12656 Fixes Ubuntu bug #787461.
12657
245f4aba
VS
126582011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
12659
12660 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
12661 opening new one.
12662
f767c929
VS
126632011-05-21 Colin Watson <cjwatson@ubuntu.com>
126642011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
12665
12666 Don't stat devices unless we have to.
12667
12668 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
12669 dir == /dev/mapper.
12670 (grub_guess_root_device): Use already known os_dev if possible.
12671 * grub-core/kern/emu/hostdisk.c
12672 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
12673 if device is known to be a dm one.
12674
f35fa3a6
CW
126752011-05-20 Colin Watson <cjwatson@ubuntu.com>
12676
12677 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
12678 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
12679 Reported by: Pawel Tecza.
12680
9a79fcf2
VS
126812011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
12682
12683 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
12684 (lsefisystab): Likewise.
12685 (lssal): Likewise.
12686 (lsefimmap): Likewise.
12687 (hdparm): Enable on qemu-mips.
12688 (setjmp): Add ia64 nodist.
12689 (serial): Simplify tags.
12690
63e3eea9
CW
126912011-05-18 Colin Watson <cjwatson@ubuntu.com>
12692
12693 * Makefile.util.def (grub-ofpathname): Install manual page.
12694
09728256
CW
126952011-05-18 Colin Watson <cjwatson@ubuntu.com>
12696
12697 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
12698
8b63a142
CW
126992011-05-18 Colin Watson <cjwatson@ubuntu.com>
12700
12701 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
12702
e775d8ed
VS
127032011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12704
12705 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
12706 into dprintf.
12707
bf947d36
VS
127082011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12709
12710 Use full 64-bit division.
12711
12712 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
12713 (grub_divmod64): ... this.
12714 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
12715 version.
12716
b84f26c5
CW
127172011-05-18 Colin Watson <cjwatson@ubuntu.com>
12718
12719 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
12720 `source'.
12721
5626056f
CW
127222011-05-18 Colin Watson <cjwatson@ubuntu.com>
12723
12724 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
12725 to avoid accidents when debugging with 'sh -x'.
12726 * grub-core/gensyminfo.sh.in: Likewise.
12727 * tests/example_scripted_test.in: Likewise.
12728 * tests/grub_cmd_regexp.in: Likewise.
12729 * tests/grub_script_blanklines.in: Likewise.
12730 * tests/grub_script_dollar.in: Likewise.
12731 * tests/grub_script_expansion.in: Likewise.
12732 * tests/grub_script_final_semicolon.in: Likewise.
12733 * tests/partmap_test.in: Likewise.
12734 * tests/util/grub-shell-tester.in: Likewise.
12735 * tests/util/grub-shell.in: Likewise.
12736
e2965f4a
CW
127372011-05-18 Colin Watson <cjwatson@ubuntu.com>
12738
12739 Move gfxmenu color handling to video, so that gfxterm can use it
12740 too.
12741
12742 * grub-core/gfxmenu/named_colors.c: Move to ...
12743 * grub-core/video/colors.c: ... here. Rename
12744 grub_gui_get_named_color to grub_video_get_named_color.
12745 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
12746 * grub-core/video/colors.c (my_isxdigit): ... here.
12747 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
12748 Move to ...
12749 * grub-core/video/colors.c (parse_hex_color_component): ... here.
12750 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
12751 to ...
12752 * grub-core/video/colors.c (grub_video_parse_color): ... here.
12753
12754 * include/grub/gui.h (grub_gui_color_t): Move to ...
12755 * include/grub/video.h (grub_video_rgba_color_t): ... here.
12756 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
12757 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
12758 * include/grub/gui.h (grub_gui_map_color): Move to ...
12759 * include/grub/video.h (grub_video_map_rgba_color): ... here.
12760 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
12761 to ...
12762 * include/grub/video.h (grub_video_get_named_color): ... here.
12763 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
12764 * include/grub/video.h (grub_video_parse_color): ... here.
12765
12766 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
12767 video/colors.c.
12768 (gfxmenu): Remove gfxmenu/named_colors.c.
12769 (video) [videomodules]: Add video/colors.c.
12770
12771 Add a background_color command.
12772
12773 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
12774 function.
12775 (GRUB_MOD_INIT): Register background_color command.
12776 (GRUB_MOD_FINI): Unregister background_color command.
12777 (redraw_screen_rect): Allow blend/replace of text layer to be
12778 controlled independently from whether there is a background bitmap.
12779 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
12780 changing bitmap.
12781
1e4b4390
VS
127822011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12783
26618ff0
VS
12784 Patch BPB in ntldr and chainloader --bpb.
12785
1e4b4390
VS
12786 * grub-core/fs/fat.c: Include grub/fat.h.
12787 (grub_fat_bpb): Moved to ...
12788 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
12789 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
12790 grub/ntfs.h.
12791 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
12792 Moved from here...
12793 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
12794 here.
12795 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
12796 New function.
12797 (grub_chainloader_cmd): Patch BPB if --bpb is given.
12798 (GRUB_MOD_INIT): Show --bpb.
12799 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
12800 * grub-core/normal/main.c (features): New variable.
12801 (GRUB_MOD_INIT): Set feature_* variables.
12802 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
12803 proto.
12804 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
12805
cf02731e
VS
128062011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12807
12808 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
12809 for cleanness.
12810
e3a1073f
VS
128112011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12812
12813 FreeDOS direct loading support.
12814
12815 * docs/grub.texi (Supported OS): Add FreeDOS.
12816 * grub-core/Makefile.core.def (freedos): New module.
12817 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
12818 variable.
12819 (grub_relocator16_boot): Handle %ebx.
12820 * grub-core/lib/i386/relocator16.S: Likewise.
12821 * grub-core/loader/i386/pc/freedos.c: New file.
12822
05caa461
VS
128232011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12824
12825 Long Linux command line support.
12826
12827 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
12828 (maximal_cmdline_size): New variable.
12829 (allocate_pages): Use maximal_cmdline_size.
12830 (grub_cmd_linux): Set and use maximal_cmdline_size.
12831 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
12832 (allocate_pages): Use maximal_cmdline_size.
12833 (grub_cmd_linux): Set and use maximal_cmdline_size.
12834 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
12835 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
12836 and cmdline_size.
12837
a2491e23
VS
128382011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
128392011-05-18 Colin Watson <cjwatson@ubuntu.com>
12840
12841 Improve devmapper support
12842
12843 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
12844 (grub_util_is_lvm): New function.
12845 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
12846 than lvm if not dmraid.
12847 Handle mapped md nodes.
12848 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
12849 (grub_util_device_is_mapped): ... this. Make always available. All users
12850 updated.
12851 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
12852 (convert_system_partition_to_system_disk): Handle lvm, mpath and
12853 dmraid nodes.
12854 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
12855
6ad6223e
VS
128562011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12857
12858 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
12859
12860 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
12861 * grub-core/modinfo.sh.in: New file.
12862 * grub-core/Makefile.core.def (modinfo.sh): New script.
12863 * util/grub-mknetdir.in: Use modinfo.sh.
12864 * util/grub-mkrescue.in: Likewise.
12865
543a8f6e
VS
128662011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12867
12868 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
12869 Fix potential usage of Elf32 instead of Elf64 when compiling on
12870 32-bit architecture. Add endianness macros while on it.
12871
4959e111
VS
128722011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12873
12874 Use mipsel- rather than mips- in directories involving mipsel ports to
12875 allow both endiannesses coexist.
12876
12877 * configure.ac: proparate target_cpu=mipsel rather than resetting to
12878 mips. All conditions adjusted.
12879 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
12880 variable.
12881 * util/grub-install.in: Adjust conditions to take renaming into account.
12882 * util/grub-mkimage.c (image_targets): Likewise. New target
12883 mips-qemu_mips-elf for bigendian mips.
12884
35341bbc
VS
128852011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12886
12887 Avoid unnecessary copying on MIPS.
12888
12889 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
12890 early if src == dest.
12891 * util/grub-mkimage.c (generate_image): Arange for src == dest if
12892 compression is none.
12893
b772baed
VS
128942011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12895
12896 Reduce memory footprint on SGI by putting modules before the kernel
12897 as opposed to after.
12898
12899 * grub-core/Makefile.core.def (kernel): Increase linking address.
12900 (none_decompress): Likewise.
12901 (xz_decompress): Likewise.
12902 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
12903 address.
12904 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
12905 layout change.
12906 (grub_arch_modules_addr): New function.
12907 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
12908 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
12909 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
12910 here.
12911 * grub-core/kern/mips/startup.S (total_size): Rename to ...
12912 (grub_total_modules_size): ... this. Make global.
12913 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
12914 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
12915 New definition.
12916 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
12917 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
12918 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
12919 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
12920 * util/grub-mkimage.c (image_target_desc): New flag
12921 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
12922 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
12923 (generate_image): Handle images with modules before kernel.
12924
566a1917
VS
129252011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12926
12927 Prevent potential loss of memory map by overwrite on qemu-mips.
12928
12929 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
12930 Save ram size in $s4.
12931 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
12932 All users changed to grub_arch_memsize.
12933 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
12934 Loongson.
12935 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
12936 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
12937 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
12938 external variable.
12939
5d420cd9
CW
129402011-05-17 Colin Watson <cjwatson@ubuntu.com>
12941
12942 * .bzrignore: Remove grub-dumpbios.
12943
d064b830
CW
129442011-05-17 Colin Watson <cjwatson@ubuntu.com>
12945
12946 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
12947 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
12948 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
12949 existing options which append).
12950 * docs/grub.texi (Simple configuration): Document new options.
12951 Reported by: Ian Jackson. Fixes Debian bug #617538.
12952
3ca2b466
CW
129532011-05-17 Colin Watson <cjwatson@ubuntu.com>
12954
12955 * util/grub-fstest.c (cmd_cat): New function.
12956 (fstest): Handle CMD_CAT.
12957 (options): Add cat.
12958 (argp_parser): Handle cat.
12959
24c9143a
CW
129602011-05-17 Colin Watson <cjwatson@ubuntu.com>
12961
12962 * Makefile.util.def (grub-bin2h): Don't install.
12963 * docs/man/grub-bin2h.h2m: Remove.
12964
90f7ac19
VS
129652011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12966
12967 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
12968 place.
12969
8d4a5178
VS
129702011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12971
12972 Reenable qemu-mips port.
12973
12974 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
12975 Fix small arc bug while on it.
12976 * gentpl.py: Handle qemu_mips.
12977 * grub-core/Makefile.am: Likewise.
12978 * grub-core/Makefile.core.def: Likewise.
12979 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
12980 inappropriate includes.
12981 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
12982 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
12983 * grub-core/kern/main.c (grub_modules_get_end)
12984 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
12985 * grub-core/kern/mips/qemu-mips: Moved to ..
12986 * grub-core/kern/mips/qemu_mips: ... this.
12987 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
12988 (grub_machine_init): Call terminfo_init and serial_init.
12989 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
12990 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
12991 New variable.
12992 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
12993 parameter passing.
12994 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
12995 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
12996 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
12997 * include/grub/mips/qemu_mips/cmos.h: New file.
12998 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
12999 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
13000 Removed.
13001 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
13002 Use correct mips-style address.
13003 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
13004 (GRUB_TICKS_PER_SECOND): Removed.
13005 (grub_get_rtc): Likewise.
13006 (grub_cpu_idle): Likewise.
13007 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
13008 New definition.
13009 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
13010 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
13011 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
13012 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
13013 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
13014 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
13015 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
13016 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
13017
400b9371
VS
130182011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13019
13020 SGI ARCS port.
13021
13022 * Makefile.util.def (libgrubmods.a): Add dvh.c.
13023 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
13024 platforms.
13025 * configure.ac: New target mips-arc.
13026 * gentpl.py: Likewise.
13027 * grub-core/Makefile.am: Likewise.
13028 * grub-core/Makefile.core.def: Likewise.
13029 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
13030 (none_decompress): Likewise.
13031 (lsdev): New module.
13032 (datetime): Use lib/arc/datetime.c on ARC.
13033 (part_dvh): New module.
13034 * grub-core/commands/arc/lsdev.c: New file.
13035 * grub-core/disk/arc/arcdisk.c: Likewise.
13036 * grub-core/kern/mips/arc/init.c: Likewise.
13037 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
13038 aligned addresses.
13039 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
13040 support.
13041 (grub_arch_dl_relocate_symbols): Likewise.
13042 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
13043 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
13044 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
13045 platforms.
13046 * grub-core/lib/arc/datetime.c: New file.
13047 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
13048 pci.h on non-loongson.
13049 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
13050 (grub_linux_boot): Set unused registers to 0.
13051 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
13052 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
13053 * grub-core/mmap/mips/uppermem.c: ...here.
13054 * grub-core/partmap/dvh.c: New file.
13055 * grub-core/term/arc/console.c: Likewise.
13056 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
13057 (grub_terminfo_set_current): Add terminal "arc".
13058 (grub_terminfo_readkey): Support ARC sequences.
13059 * include/grub/arc/arc.h: New file.
13060 * include/grub/arc/console.h: Likewise.
13061 * include/grub/disk.h (grub_disk_dev_id): Add
13062 GRUB_DISK_DEVICE_ARCDISK_ID.
13063 * include/grub/mips/arc/kernel.h: New file.
13064 * include/grub/mips/arc/memory.h: Likewise.
13065 * include/grub/mips/arc/time.h: Likewise.
13066 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
13067 * include/grub/mips/kernel.h (grub_halt): ... here.
13068 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
13069 here...
13070 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
13071 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
13072 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
13073 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
13074 proto.
13075 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
13076 from here ...
13077 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
13078 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
13079 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
13080 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
13081 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
13082 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
13083 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
13084 (grub_phys_addr_t): Moved from here ...
13085 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
13086 (grub_vtop): Moved from here ...
13087 * include/grub/mips/memory.h (grub_vtop): ... here.
13088 (grub_map_memory): Moved from here ...
13089 * include/grub/mips/memory.h (grub_map_memory): ... here.
13090 (grub_unmap_memory): Moved from here ...
13091 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
13092 (grub_machine_mmap_iterate): Moved from here ...
13093 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
13094 (grub_mmap_get_lower): Moved from here ...
13095 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
13096 (grub_mmap_get_upper): Moved from here ...
13097 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
13098 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
13099 here ...
13100 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
13101 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
13102 here ...
13103 * include/grub/mips/time.h (grub_get_rtc): ... here.
13104 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
13105 here ...
13106 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
13107 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
13108 here ...
13109 * include/grub/mips/time.h (grub_cpu_idle): ... here.
13110 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
13111 definition.
13112 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
13113 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
13114 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
13115 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
13116 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
13117 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
13118 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
13119 (GRUB_MACHINE_LINK_ADDR): Likewise.
13120 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
13121 to 6.
13122 * util/grub-install.in: Run dvhtool on ARC.
13123 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 13124 (generate_image): Handle ECOFF output for mips-arc.
400b9371 13125
c8ecc840
VS
131262011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
13127
13128 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
13129 blocks.
13130
153a4b55
VS
131312011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
13132
13133 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
13134 after enabling port.
13135
ff44d107
VS
131362011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
13137
13138 Skip incorrect USB devices.
13139
13140 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
13141 configcnt == 0.
13142 * include/grub/usb.h (grub_usb_err_t): New enum value
13143 GRUB_USB_ERR_BADDEVICE.
13144
638dbe4f
VS
131452011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
13146
13147 Fuloong video init support.
13148
13149 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
13150 well.
13151 (grub_vga_read_arx): New function.
13152 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
13153 definition.
13154 (framebuffer): New members io, mmioptr and mmiobase.
13155 (read_sis_cmd): New function.
13156 (write_sis_cmd): Likewise.
13157 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
13158 rather than 640x400.
13159 * grub-core/video/sis315_init.c: New file.
13160
c3fc520c
VS
131612011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13162
13163 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
13164 non-loongson.
13165 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
13166 to grub_dl_register_symbol.
13167
67b1e5c9
VS
131682011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13169
13170 Fix compilation errors.
13171
13172 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
13173 potentially unused.
13174 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
13175 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
13176 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
13177 to loongson machines.
13178
b756f75f
VS
131792011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13180
13181 Several FS mtime support.
13182
13183 * grub-core/fs/affs.c (grub_affs_time): New struct.
13184 (grub_affs_file): New field mtime.
13185 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
13186 type. Removed 'size'. New field 'di'. All users updated.
13187 (grub_affs_mount): Simplify checsum checking.
13188 (grub_affs_iterate_dir): New helper grub_affs_create_node.
13189 (grub_affs_dir): Handle mtime.
13190 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
13191 (grub_cpio_dir): Likewise.
13192 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
13193 (grub_hfs_filerec): New field mtime.
13194 (grub_hfs_dir): Handle mtime.
13195 (grub_hfs_mtime): New function.
13196 (grub_hfs_fs): Register grub_hfs_mtime.
13197 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
13198 (grub_iso9660_dir): New field mtime.
13199 (grub_fshelp_node): New field dirent.
13200 (iso9660_to_unixtime): New function.
13201 (iso9660_to_unixtime2): Likewise.
13202 (grub_iso9660_read_symlink): Use node->dirent.
13203 (grub_iso9660_iterate_dir): Likewise.
13204 (grub_iso9660_dir): Set mtime.
13205 (grub_iso9660_mtime): New function.
13206 (grub_iso9660_fs): Register grub_iso9660_mtime.
13207 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
13208 (grub_jfs_inode): New fields atime, ctime and mtime.
13209 (grub_jfs_dir): Set mtime.
13210 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
13211 * grub-core/fs/ntfs.c (list_file): Set mtime.
13212 (grub_ntfs_dir): Likewise.
13213 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
13214 (grub_reiserfs_iterate_dir): Set mtime.
13215 (grub_reiserfs_dir): Likewise.
13216 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
13217 (grub_fshelp_node): Likewise.
13218 (grub_sfs_iterate_dir): Set mtime.
13219 (grub_sfs_dir): Likewise.
13220 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
13221 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
13222 (grub_xfs_inode): New fields atime, mtime, ctime.
13223 (grub_xfs_dir): Set mtime.
13224 * include/grub/datetime.h (grub_datetime2unixtime): New function.
13225 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
13226 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
13227
13228 Support UDF symlinks.
13229
13230 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
13231 (grub_ufs_read_symlink): New function. All users updated.
13232
13233 Check amiga partmap checksum.
13234
13235 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
13236 (grub_amiga_partition): Likewise.
13237 (amiga_partition_map_checksum): New function.
13238 (amiga_partition_map_iterate): Check checksum.
13239
5470225d
VS
132402011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13241
13242 ROMFS support.
13243
13244 * Makefile.util.def (libgrubmods.a): Add romfs.
13245 * grub-core/Makefile.core.def (romfs): New module.
13246 * grub-core/fs/romfs.c: New file.
13247
d4680a35
VS
132482011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13249
13250 Squashfs v4 support.
13251
13252 * Makefile.util.def (libgrubmods.a): Add squash4.
13253 * grub-core/Makefile.core.def (squash4): New module.
13254 * grub-core/fs/squash4.c: New file.
13255 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
13256 disk_input_start, disk_input.
13257 (get_byte): Handle disk_input.
13258 (grub_zlib_disk_read): New function.
13259 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
13260
bcb18e74
FZ
132612011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
132622011-05-15 Feiran Zheng <famcool@gmail.com>
13263
13264 * Makefile.util.def (libgrubmods.a): Add minix3.
13265 * grub-core/Makefile.core.def (minix3): New module.
13266 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
13267 (GRUB_MINIX_BSIZE): Removed.
13268 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
13269 (grub_minix_ino_t): New type.
13270 (grub_minix_le_to_cpu_ino): New macro.
13271 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
13272 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
13273 (grub_minix_data): New field block_size.
13274 (grub_minix_read_file): Handle 64-bit correctly.
13275 * grub-core/fs/minix3.c: New file.
13276
32297d5f
TG
132772011-05-15 Tristan Gingold <gingold@free.fr>
132782011-05-15 Robert Millan <rmh.grub@aybabtu.com>
132792011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13280
13281 IA64 support.
13282
13283 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
13284 * configure.ac: Add ia64-efi target.
13285 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
13286 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
13287 * gentpl.py: Add ia64_efi platform.
13288 Rename x86_efi to efi and Add ia64-efi. All users updated.
13289 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
13290 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
13291 Remove kern/generic/rtc_get_time_ms.c on EFI.
13292 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
13293 kern/ia64/dl_helper.c on ia64-efi.
13294 Add kern/emu/cache.c on emu.
13295 (linux): Use on loader/ia64/efi/linux.c on ia64.
13296 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
13297 whether symbol is a function.
13298 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
13299 (grub_symbol): New field 'isfunc'.
13300 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
13301 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
13302 (grub_dl_load_segments): Place all sections into the same region.
13303 [__ia64__]: Create trampolines and got.
13304 [GRUB_MACHINE_EMU]: Call mprotect.
13305 (grub_dl_resolve_symbols): Resolve symbol type as well.
13306 [__ia64__]: Create function descriptors.
13307 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
13308 (grub_rtc_get_time_ms): ... this. Expressions simplified.
13309 (grub_get_rtc): New function.
13310 * grub-core/kern/emu/cache.c [__ia64__]: New file.
13311 * grub-core/kern/emu/cache.S: Renamed to ...
13312 * grub-core/kern/emu/cache_s.S: ... this.
13313 [__ia64__]: Add a nop.
13314 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
13315 [__ia64__]: New function.
13316 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
13317 * grub-core/kern/ia64/dl.c: New file.
13318 * grub-core/kern/ia64/dl_helper.c: Likewise.
13319 * grub-core/kern/ia64/efi/init.c: New file.
13320 * grub-core/kern/ia64/efi/startup.S: Likewise.
13321 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
13322 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
13323 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
13324 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
13325 * grub-core/loader/ia64/efi/linux.c: New file.
13326 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
13327 (GRUB_MOD_DEP): Likewise.
13328 (grub_dl) [__ia64__]: New fields got and tramp.
13329 (grub_dl): New field 'base'.
13330 (grub_dl_register_symbol): New argument isfunc. All users updated.
13331 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
13332 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
13333 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
13334 (grub_ia64_dl_get_tramp_got_size): New proto.
13335 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
13336 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
13337 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
13338 * include/grub/efi/api.h: Skip call wrappers on ia64.
13339 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
13340 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
13341 * include/grub/elf.h (ELF_ST_INFO): New definition.
13342 * include/grub/ia64/efi/kernel.h: New file.
13343 * include/grub/ia64/efi/memory.h: Likewise.
13344 * include/grub/ia64/efi/time.h: Likewise.
13345 * include/grub/ia64/kernel.h: Likewise.
13346 * include/grub/ia64/setjmp.h: Likewise (from glibc).
13347 * include/grub/ia64/time.h: New file.
13348 * include/grub/ia64/types.h: Likewise.
13349 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
13350 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
13351 New protos.
13352 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
13353 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
13354 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
13355 * util/grub-mkimage.c (image_target_desc): New field pe_target.
13356 All users updated.
13357 (EFI64_HEADER_SIZE): New definition. All users updated.
13358 (image_targets): Add ia64-efi.
13359 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
13360 jumpers_addr. All users updated.
13361 Create function descriptors.
13362 (count_funcs): New function.
13363 (unaligned_uint32): New struct.
13364 (MASK20): New definition.
13365 (MASK19): Likewise.
13366 (MASKF21): Likewise.
13367 (add_value_to_slot_20b): New function.
13368 (add_value_to_slot_21_real): Likewise.
13369 (add_value_to_slot_21): Likewise.
13370 (ia64_kernel_trampoline): New struct.
13371 (nopm): New variable.
13372 (jump): Likewise.
13373 (make_trampoline): New function.
13374 (relocate_addresses): Handle ia64.
13375 (make_reloc_section): Likewise.
13376 (load_image): Likewise.
13377
983b414d
VS
133782011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13379
13380 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
13381 warning. Move variables before code while on it.
13382
5d063cdc
VS
133832011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
13384
13385 Fuloong support.
13386
13387 * configure.ac: Rename yeeloong platform to loongson. All users updated.
13388 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
13389 * grub-core/boot/mips/loongson/fuloong.S: New file.
13390 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
13391 Explicitly init CS5536.
13392 [FULOONG]: Don't use serial until CS5536 is available.
13393 Set GPIO based on dumps.
13394 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
13395 [FULOONG]: Handle GPIO and memory controller differences.
13396 Parse machine type in $a2.
13397 * grub-core/boot/mips/startup_raw.S: Determine and save the
13398 architecture.
13399 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
13400 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
13401 init on architecture type.
13402 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
13403 SIS315E. Don't init at_keyboard on fuloong.
13404 (grub_halt): Support Fuloong.
13405 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
13406 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
13407 (loongson_machtypes): New array.
13408 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
13409 type.
13410 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
13411 config. All users updated. Handle CS5536 serial.
13412 * grub-core/term/serial.c (grub_serial_register): Conditionalise
13413 default port on machine type. Register serial as inactive.
13414 * grub-core/video/sis315pro.c: New file.
13415 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
13416 definition.
13417 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
13418 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
13419 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
13420 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
13421 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
13422 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
13423 to ...
13424 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
13425 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
13426 definition.
13427 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
13428 (grub_arch_machine): New extern var.
13429 * include/grub/mips/loongson/serial.h
13430 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
13431 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
13432 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
13433 (GRUB_MACHINE_SERIAL_PORT0): ... this.
13434 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
13435 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
13436 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
13437 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
13438 * include/grub/term.h (grub_term_register_input_inactive): New inline
13439 function.
13440 (grub_term_register_output_inactive): Likewise.
13441 * include/grub/video.h (grub_video_driver_id): New value
13442 GRUB_VIDEO_DRIVER_SIS315PRO.
13443 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
13444 New field "names". All users updated.
13445 New field value IMAGE_FULOONG_FLASH.
13446 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
13447
6ada82d1
JU
134482011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
13449
13450 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
13451 and add some clarification.
13452
90c571a4
VS
134532011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13454
13455 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
13456 platforms if kernel is compressed.
13457
de04eecf
VS
134582011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13459
13460 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
13461 unused modules since currently referrence counter isn't reliable and
13462 there isn't much memory to recover there anyway.
13463
57688121
VS
134642011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13465
13466 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
13467 rather than resetting it to allow modules to reference themselves
13468 in init.
13469
3d2c7e35
VS
134702011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13471
13472 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
13473 counter on dependencies since grub_dl_unref already handles this.
13474
b25db218
VS
134752011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13476
13477 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
13478 on error if not already done.
13479
25a45338
VS
134802011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13481
13482 Fix few potential memory misusage.
13483
13484 * grub-core/font/font.c (load_font_index): Don't free char_index to
13485 avoid double free.
b25db218
VS
13486 (grub_font_load): Zero-fill font at alloc for safety.
13487 Close file on error.
13488 (free_font): Free bmp_idx.
25a45338 13489
0cac83df
VS
134902011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13491
13492 * docs/grub.texi (Installation): Fix several outdated claims.
13493
2217a143
VS
134942011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13495
13496 Handle module_license on windows.
13497
13498 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
13499 sections shifted.
13500 (insert_string): Make argument const char * instead of char *.
13501 (write_section_data): Handle long section names.
13502 Handle module_license.
13503
d4de6b01
VS
135042011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13505
13506 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
13507 handle class-free menuentries.
13508 (grub_normal_add_menu_entry): Add a check to be sure.
13509
4c2a3b43
VS
135102011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
13511
13512 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
13513 PgUp and PgDown.
13514
85c6210f
VS
135152011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13516
13517 * configure.ac: Bump version to 1.99.
13518
36084912
VS
135192011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13520
13521 Give ATA device a bit more time on first try in order to allow disks
13522 to spin up.
13523
13524 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
13525 if dev->present is 1. Reset dev->present on failure.
13526 (grub_ata_device_initialize): Set dev->present to 1.
13527 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
13528 (grub_ata_device): New member 'present'.
13529
bda0e219
VS
135302011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13531
13532 * util/grub-mkimage.c (generate_image): Update hash.
13533
19e1c41b
VS
135342011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13535
13536 Flush caches on DMA memory.
13537
13538 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
13539 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
13540 (grub_dma_free): Likewise.
13541 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
13542
91bbcc0c
VS
135432011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13544
13545 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
13546 to avoid asm treating ld and sd as macros.
13547
60ddfad3
VS
135482011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13549
13550 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
13551 decompressor.
13552
a298aa04
VS
135532011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13554
13555 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
13556 grub_decompress_core since later would fail if grub_decompress_core
13557 is too far.
13558
9b44feca
VS
135592011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13560
13561 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
13562 R_MIPS_JALR since it's used by newer compiler.
13563
56dbe7b4
VS
135642011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
13565
13566 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
13567
52856af2
VS
135682011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13569
13570 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
13571 file_path to 0 for surety.
13572 (grub_chainloader_boot): Set exit_data to NULL.
13573 Unset the loader once done.
13574 (grub_cmd_chainloader): Fix confusing error message if file is empty.
13575
9c9bfc6d
VS
135762011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13577
13578 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
13579 unknown key into a dprintf.
13580
dd94a3df
VS
135812011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13582
13583 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
13584 on first non-existant partition.
13585
fa68d99c
VS
135862011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13587
13588 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
13589 openning fails.
13590 Reported by: Mark Korenberg.
13591
157effb7
VS
135922011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13593
13594 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
13595 overflow.
13596
ea75312f
VS
135972011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13598
13599 * util/grub-mkimage.c (main): Explicitely flush and sync the output
13600 before closing to ensure that it will be readable by grub-setup.
13601
072b5d31
VS
136022011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13603
13604 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
13605 (devpath_1): Use MAKE_PIWG_PATH.
13606 (devpath_2): Likewise.
13607 (devpath_3): Likewise.
13608 (devpath_4): Likewise.
13609 (devpath_5): Likewise.
13610 (devpath_6): Likewise.
13611
13612 The appleldr.mod was checked that to be binary identical to previous
13613 version.
13614
7fae0051
Z
136152011-05-05 Zach <mikezackles>
13616
13617 Support 2010 Macbooks.
13618
13619 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
13620 (devs): Add devpath_6.
13621
7c515bee
VS
136222011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13623
13624 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
13625 /dev/random. /dev/urandom is good enough for our purposes (salting).
13626
ed660bd8
VS
136272011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13628
13629 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
13630
ee5614b7
VS
136312011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13632
13633 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
13634 hexadecimal.
13635
664889a6
VS
136362011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13637
13638 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
13639 and not 0 on failure.
13640
bd405bbc
CW
136412011-05-03 Colin Watson <cjwatson@ubuntu.com>
13642
13643 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
13644 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
13645 disk; otherwise grub_fs_probe will not fall back to the next
13646 filesystem.
13647 (grub_pxefs_open): Likewise, for consistency.
13648 Reported and tested by: Ezekiel Grave.
13649
4ebff753
CW
136502011-05-03 Colin Watson <cjwatson@ubuntu.com>
13651
13652 * tests/partmap_test.in: Don't hardcode path to parted.
13653 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
13654
8f942553
CW
136552011-05-01 Colin Watson <cjwatson@ubuntu.com>
13656
13657 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
13658 of `ls' to find out which devices are available.
13659
3c62402d
VS
136602011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13661
13662 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
13663 than source address for efi mmap buffer.
13664
723f63f2
VS
136652011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13666
13667 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
13668 wrong action on non-detecting the magic.
13669
68797f92
VS
136702011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13671
13672 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
13673 already supplied by another part of the module (fixes compilation on
13674 FreeBSD).
13675
6be8715d
VS
136762011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
13677
13678 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
13679 match the one used by mdadm.
13680
e91dba5b
CW
136812011-04-21 Colin Watson <cjwatson@ubuntu.com>
13682
13683 * po/README: Add instructions for creating po/LINGUAS.
13684
c85140b3
CW
136852011-04-21 Colin Watson <cjwatson@ubuntu.com>
13686
13687 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
13688 #551428.
13689
13690 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
13691 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
13692 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
13693 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
13694 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
13695 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
13696 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
13697 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
13698 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
13699 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
13700 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
13701 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
13702 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
13703 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
13704 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
13705 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
13706 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
13707 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
13708 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
13709 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
13710 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
13711 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
13712
92051871
CW
137132011-04-21 Colin Watson <cjwatson@ubuntu.com>
13714
13715 * grub-core/kern/emu/getroot.c
13716 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
13717 test that was incorrectly reintroduced in r3214.
13718 Reported by: Ian Dall. Fixes Savannah bug #33133.
13719
b13f79a4
CW
137202011-04-21 Colin Watson <cjwatson@ubuntu.com>
13721
13722 Fix stack pointer handling in 16-bit relocator.
13723
13724 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
13725 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
13726 Fixes Ubuntu bug #683904.
13727
9b710a88
VS
137282011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
13729
13730 * configure.ac: Bump version to 1.99~rc2.
13731
d97e7b59
VS
137322011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
13733
13734 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
13735 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
13736 * grub-core/lib/x86_64/setjmp.S: Likewise.
13737 * grub-core/lib/mips/setjmp.S: Likewise.
13738 * grub-core/lib/powerpc/setjmp.S: Likewise.
13739 * grub-core/lib/sparc64/setjmp.S: Likewise.
13740
0624551c
VS
137412011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
13742
13743 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
13744 * grub-core/lib/efi/datetime.c: Likewise.
13745
e8f28d4c
VS
137462011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13747
13748 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
13749 New function.
13750 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
13751 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
13752 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
13753
bba79a15
VS
137542011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13755
13756 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
13757 bitmap.
13758 (grub_gfxterm_term_init): Likewise.
13759
abc474ef
VS
137602011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13761
13762 Take into account the decorations the computing menu entry width.
13763
13764 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
13765 (grub_gfxmenu_create_box): Register get_border_width.
13766 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
13767 if available.
13768 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
13769 get_border_width.
13770
e74b3947
EP
137712011-04-18 Endres Puschner <code@e7p.de>
13772
13773 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
13774 Don't skip first class.
13775
34faa595
VS
137762011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13777
13778 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
13779 chunks.
13780 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
13781
93a777e3
VS
137822011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13783
13784 Complete 64-bit division support.
13785
13786 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
13787 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
13788 * include/grub/misc.h (grub_divmod64): Rename to ...
13789 (grub_divmod64_full): ... this.
13790 (grub_divmod64): New inline function.
13791
a5102d94
VS
137922011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13793
13794 * util/grub-mkimage.c (generate_image): Add forgotten comma.
13795
f3fb7b36
VS
137962011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13797
13798 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
13799 performing the necessary test.
13800
9ac718b0
VS
138012011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
13802
13803 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
13804 (kfreebsd.elf): Likewise.
13805 (pc-chainloader.elf): Likewise.
13806 (ntldr.elf): Likewise.
13807
50d2cc5a
VS
138082011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
13809
13810 Identify RAID by its UUID rather than (guessed) name.
13811
13812 * grub-core/disk/raid.c (ascii2hex): New function.
13813 (grub_raid_open): Accept mduuid/%s specification.
13814 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
13815 (get_mdadm_uuid): ... this.
13816 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
13817
e03f7bea
VS
138182011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
13819
13820 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
13821 to negative size.
13822
e74c3112
CW
138232011-04-13 Colin Watson <cjwatson@ubuntu.com>
13824
13825 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
13826 btrfs subvolume.
13827 * util/grub.d/20_linux_xen.in: Likewise.
13828
78fa584f
CW
138292011-04-13 Colin Watson <cjwatson@ubuntu.com>
13830
13831 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
13832 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
13833
13834 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
13835 Build a list of relevant visible mounts using the mnt_id and
13836 parent_mnt_id fields, and then scan that list at the end.
13837
9d5f8162
CW
138382011-04-12 Colin Watson <cjwatson@ubuntu.com>
13839
13840 * docs/grub.texi (normal): New section.
13841 (normal_exit): New section.
13842 (Embedded configuration): Add reference to normal.
13843 (GRUB only offers a rescue shell): Likewise.
13844 * docs/grub-dev.texi (Error Handling): Fix typo.
13845
09a9d66f
CW
138462011-04-12 Colin Watson <cjwatson@ubuntu.com>
13847
13848 * NEWS: Drop obsolete entry about probe-only btrfs support.
13849
0c676933
CW
138502011-04-12 Colin Watson <cjwatson@ubuntu.com>
13851
13852 * util/import_gcry.py: Fix typo.
13853
ec9f5e0d
VS
138542011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13855
13856 * NEWS: Add btrfs support.
13857
fe6b2cba
VS
138582011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
138592011-04-11 Colin Watson <cjwatson@ubuntu.com>
13860
13861 BtrFS support. Written by me (Vladimir) with important bugfixes and
13862 even more important testing by Colin.
13863
13864 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
13865 * grub-core/Makefile.core.def (btrfs): Add crc.c.
13866 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
13867 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
13868 mem_input_off and mem_input. All users updated to accept in-RAM input.
13869 (gzio_seek): New function.
13870 (test_zlib_header): Likewise.
13871 (grub_gzio_read): Likewise.
13872 (grub_zlib_decompress): Likewise.
13873 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
13874 Accept partial and non-virtual mounts.
13875 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
13876 avoid receiving /dev/dm-X as device.
13877 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
13878 Handle bind and partial mounts.
13879 * grub-core/lib/crc.c: New file.
13880 * include/grub/deflate.h: Likewise.
13881 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
13882 proto.
13883 * include/grub/lib/crc.h: New file.
13884
e745cf0c
VS
138852011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13886
13887 Implement automatic module license checking according to new GNU
13888 guidelines.
13889
13890 * grub-core/kern/dl.c (grub_dl_check_license): New function.
13891 (grub_dl_load_core): Use grub_dl_check_license.
13892 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
13893 (GRUB_MOD_LICENSE): Likewise.
13894 (GRUB_MOD_DUAL_LICENSE): Likewise.
13895 All modules updated.
13896
2a9bc016
CW
138972011-04-11 Colin Watson <cjwatson@ubuntu.com>
13898
13899 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
13900 reserved_first_sector to 1. btrfs reserves plenty of space for boot
13901 loaders.
13902 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
13903
8a3bc88e
VS
139042011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13905
13906 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
13907
af869a4a
VS
139082011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13909
13910 * util/grub-fstest.c (read_file): Report GRUB error if file opening
13911 failed.
13912
9ee8d94f
VS
139132011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13914
13915 * grub-core/kern/file.c (grub_file_open): Don't take into account the
13916 parenthesis in the middle of the filename.
13917
b01abe3e
VS
139182011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13919
13920 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
13921 rather than trying to put initrd way too high.
13922 Reported by: Ryan Lortie <desrt@desrt.ca>
13923
335bda1e
VS
139242011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13925
13926 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
13927 improperly removed string.
13928
5ca1a64d
VS
139292011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13930
13931 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
13932 is_disk.
13933 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
13934 (open_device) Likewise.
13935 (grub_util_biosdisk_close): Likewise.
d8ce9995 13936 Reported by: Mark Korenberg.
5ca1a64d 13937
cbac5b1e
AK
139382011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
13939
13940 * util/grub-mkconfig_lib.in: Add missing quotes.
13941
088cdb65
CW
139422011-04-10 Colin Watson <cjwatson@ubuntu.com>
13943
13944 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
13945 is NULL.
13946
8b8a81fa
VS
139472011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13948
13949 Dynamically count the number of lines for the lower banner.
13950
13951 * grub-core/normal/menu_entry.c (per_term_screen): New member
13952 num_entries.
13953 (print_down): Use num_entries.
13954 (update_screen): Likewise.
13955 (grub_menu_entry_run): Set num_entries.
13956 * grub-core/normal/menu_text.c (menu_viewer_data): New member
13957 num_entries.
13958 (grub_print_message_indented): Move real part to ...
13959 (grub_print_message_indented_real): ... here. Additional argument
13960 dry_run.
13961 (draw_border): Additional argument num_entries.
13962 (print_message): Additional argument dry_run.
13963 (print_entries): Receive menu viewer data.
13964 (grub_menu_init_page): New argment num_entries.
13965 (menu_text_set_chosen_entry): Use num_entries.
13966 (grub_menu_try_text): Likewise.
13967 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
13968 All users updated.
13969 (grub_ucs4_count_lines): New function.
13970 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
13971 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
13972 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
13973 (grub_term_border_height): Likewise.
13974 (grub_term_num_entries): Likewise.
13975
277f955b
VS
139762011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13977
13978 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
13979 Remove now unused string.
13980
536ce85a
CW
139812011-04-09 Colin Watson <cjwatson@ubuntu.com>
13982
13983 * docs/grub-dev.texi (Finding your way around): Update for 1.99
13984 build system.
13985 (Getting started): GRUB is developed in Bazaar now, not Subversion.
13986
13987 (Comment): Fix typo.
13988 (Getting started): General copy-editing.
13989 (Typical Development Experience): Likewise.
13990 (Error Handling): Likewise.
13991 (Video API): Likewise.
13992
2cf09e32
CW
139932011-04-09 Colin Watson <cjwatson@ubuntu.com>
13994
13995 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
13996 throughout.
13997
1ec652f4
VS
139982011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
13999
14000 * util/grub-mkimage.c (main): Handle special naming of yeeloong
14001 directory.
14002
2c583728
CW
140032011-04-08 Colin Watson <cjwatson@ubuntu.com>
14004
14005 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
14006 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
14007 "development".
14008
d7a565e9
VS
140092011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14010
14011 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
14012 grub_strcpy since the lines aren't necessarily 0-terminated.
14013
7c2e4909
VS
140142011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14015
14016 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
14017 root on legacy.
14018
34c09785
VS
140192011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14020
14021 * grub-core/commands/probe.c (options): Argument to set isn't optional.
14022 (GRUB_MOD_INIT): DEVICE isn't optional.
14023
6a6f8058
VS
140242011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14025
14026 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
14027 word on new line if it's too long anyway. Fixes a hang.
14028
2e335e90
VS
140292011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14030
14031 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
14032 const.
14033 * util/grub-setup.c (main): Reuse md device name if available.
14034 * util/raid.c (grub_util_raid_getmembers): Receive device name and
14035 not GRUB name as argument.
14036 Based on patch by: Florian Wagner <fwagner>.
14037
10a7a867
VS
140382011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14039
14040 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
14041 Place mbi on low memory for better compatibility.
14042
7a3d6cd9
VS
140432011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14044
14045 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
14046
18dd6b47
VS
140472011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
140482011-04-08 Colin Watson <cjwatson@ubuntu.com>
14049
14050 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 14051 * conf/Makefile.common: Likewise.
18dd6b47 14052
3c0e3f14
VS
140532011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14054
f7148863
VS
14055 * grub-core/normal/menu.c: Add missing include.
14056
140572011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14058
14059 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 14060
6d1fa41f
MZ
140612011-04-08 Martin Zuther <mzuther@mzuther.de>
14062
14063 * util/grub-mkconfig.in: Ignore emacsen backup.
14064
478182a8
VS
140652011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14066
14067 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
14068 on open.
14069 (grub_util_biosdisk_close): Likewise.
14070
72a89a54
VS
140712011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
14072
14073 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
14074 const attribute and use grub_isdigit.
14075
b5ebecfa
A
140762011-04-06 Andrey <dev_null@ukr.net>
14077
14078 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
14079 gcc warning.
14080
7755f66e
VS
140812011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14082
14083 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
14084 useful grub_dprintf's.
14085
461121ff
VS
140862011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14087
14088 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
14089
2a961775
VS
140902011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14091
14092 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
14093
adf594cc
VS
140942011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14095
14096 Output errors if theme loading failed.
14097
14098 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
14099 grub_gfxterm_fullscreen on error paths to ...
14100 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
14101 theme loading error.
14102
665900a3
VS
141032011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14104
14105 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
14106 space for older compilers.
14107 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
14108
a562b479
VS
141092011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14110
14111 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
14112 and report them as not RAID members since they are useless for GRUB.
14113 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14114
850e9373
VS
141152011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14116
14117 Increase LVM implementation robustness in order not to crash on
14118 configurations like pvmove. Previously code assumed that in some places
14119 only lvs or only pvs are used whereas it seems that they are used
14120 interchangeably.
14121
14122 * grub-core/disk/lvm.c (read_node): New function.
14123 (read_lv): Use read_node.
14124 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
14125 Match volumes only at the end when all lvs are found. Take both
14126 pvs (first) and lvs (second) into account.
14127 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
14128 mirror_* into node_*. All users updated.
14129 (grub_lvm_stripe): Merge this ...
14130 (grub_lvm_mirror): ... and this ...
14131 (grub_lvm_node): ... into this. All users updated.
14132
6f332153
VS
141332011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14134
14135 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
14136 of function to allow further scanning for LVMs.
14137
829ea451
VS
141382011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14139
14140 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
14141 on failed seek as it breaks open fd reusage.
14142
09ceb9a5
VS
141432011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14144
14145 * util/grub-install.in: Add a recommendation to use --recheck before
14146 reporting bugs.
14147
67e11623
VS
141482011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14149
14150 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
14151 are obtained.
14152
caee5efd
VS
141532011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14154
14155 GRUB developper manual based on existing Internals section and
14156 contributions by the various authors with active copyright assignment.
14157
14158 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
14159 * docs/font_char_metrics.png: New file.
14160 * docs/font_char_metrics.txt: Likewise.
14161 * docs/grub-dev.texi: Likewise.
14162 * docs/grub.texi (Internals): Move from here ...
14163 * docs/grub-dev.texi: ... here.
14164
2cccc747
CW
141652011-04-01 Colin Watson <cjwatson@ubuntu.com>
14166
14167 Store the loopback device as data on loopback grub_disk structures,
14168 rather than the file it points to. This fixes use of freed memory
14169 if an existing loopback device is replaced.
14170
14171 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
14172 disk->data, not dev->file.
14173 (grub_loopback_read): Adjust file assignment to match.
14174 Fixes Ubuntu bug #742967.
14175
186ae367
CW
141762011-04-01 Colin Watson <cjwatson@ubuntu.com>
14177
14178 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
14179 when replacing an existing device.
14180
cfed2ad0
VS
141812011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
14182
14183 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
14184 memory corruptions.
14185
14186 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
14187 unsigned.
14188 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
14189 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
14190 (grub_jfs_read_inode): Likewise.
14191 (grub_jfs_opendir): Likewise. Remove now useless casts.
14192 (grub_jfs_getent): Likewise.
14193 Make ino a grub_uint32_t rather than int.
14194 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
14195 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
14196 division and module with bit operations.
14197 (grub_jfs_find_file): Make ino a grub_uint32_t.
14198 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
14199
05d2ed32
CW
142002011-04-01 Colin Watson <cjwatson@ubuntu.com>
14201
14202 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
14203 warning. (This was in fact always initialised before use, but GCC
14204 wasn't smart enough to prove that.)
14205 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
14206
91dc6073
VS
142072011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14208
14209 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
14210 stack alignment.
14211 (efi_wrap_1): Likewise.
14212 (efi_wrap_2): Likewise.
14213 (efi_wrap_3): Likewise.
14214 (efi_wrap_4): Likewise.
14215 (efi_wrap_5): Likewise.
14216 (efi_wrap_6): Likewise.
14217 (efi_wrap_10): Likewise.
14218 Based on information by: Red Hat/Peter Jones.
14219
a8afc1d1
CW
142202011-03-31 Colin Watson <cjwatson@ubuntu.com>
14221
14222 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
14223 set-but-not-used variable.
14224
a826cc7d
CW
142252011-03-31 Colin Watson <cjwatson@ubuntu.com>
14226
14227 * docs/grub.texi (Simple configuration): Be more explicit about
14228 GRUB_DEFAULT, and add an example.
14229 Reported by: Leslie Rhorer.
14230
875b67ba
CW
142312011-03-30 Colin Watson <cjwatson@ubuntu.com>
14232
14233 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
14234 shell".
14235
fd7cd914
AS
142362011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
14237
14238 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
14239 * util/grub.d/20_linux_xen.in: Likewise.
14240
090b1b6a
VS
142412011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14242
14243 * util/grub.d/10_linux.in: Try alternative config filenames where
14244 we parse config file.
14245 * util/grub.d/20_linux_xen.in: Likewise.
14246
baad885c
AS
142472011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
14248
14249 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
14250 * util/grub.d/20_linux_xen.in: Likewise.
14251
241e41f5
VS
142522011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14253
14254 * grub-core/disk/raid.c (insert_array): Add few potentially
14255 useful grub_util_info.
14256 (grub_raid_register): Likewise.
14257
56445fb2
VS
142582011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14259
14260 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
14261 Preserve partition number in mdadm code path.
14262
c871b1c6
VS
142632011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14264
14265 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
14266 few potentially useful grub_util_info.
14267
5e631b4f
CW
142682011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14269
14270 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
14271
2d5d0333
CW
142722011-03-30 Colin Watson <cjwatson@ubuntu.com>
14273
14274 * docs/grub.texi (default): Use @example rather than nested
14275 itemized lists to avoid breaking gendocs.
14276
3d7ed04e
CW
142772011-03-30 Colin Watson <cjwatson@ubuntu.com>
14278
14279 * docs/grub.texi (Future): Update.
14280
abf04200 142812011-03-30 Colin Watson <cjwatson@ubuntu.com>
14282
14283 * docs/grub.texi (Environment): New chapter.
14284 (Changes from GRUB Legacy): Link to "Environment block" section for
14285 details of limitations.
14286 (Simple configuration): Likewise. Link to documentation of gfxmode
14287 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
14288 respectively.
14289 (Shell-like scripting): Note that normal variables are stored in the
14290 environment.
14291 (gettext): Link to documentation of lang and locale_dir.
14292 (list_env): New section.
14293 (load_env): New section.
14294 (save_env): New section.
14295
14296 (Reporting bugs): Fix typo.
14297
e1ad0edd
VS
142982011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14299
14300 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
14301 the example.
14302
5d803174
VS
143032011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14304
14305 * grub-core/term/at_keyboard.c (set_scancodes)
14306 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
14307
2a2da1d0
CW
143082011-03-30 Colin Watson <cjwatson@ubuntu.com>
14309
14310 * docs/grub.texi (Menu-specific commands): Remove some semantics
14311 that were true in GRUB Legacy but not in GRUB 2.
14312 (submenu): New section.
14313 (false): New section.
14314 (read): New section.
14315 (true): New section.
14316
a7527639
CW
143172011-03-30 Colin Watson <cjwatson@ubuntu.com>
14318
14319 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
14320
143212011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
14322
14323 * docs/grub.texi (Simple configuration): Explain some of the
14324 current limitations of grub-mkconfig.
8a748df2 14325 Reported by: Leslie Rhorer.
e30af029 14326
fc858482
VS
143272011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14328
14329 Old macs search for boot.efi rather than for bootia32.efi.
14330
14331 * util/grub-install.in: Copy bootia32.efi to boot.efi.
14332 * util/grub-mkrescue.in: Likewise.
14333 Suggested by: Peter Jones.
14334
e1eb511d
VS
143352011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14336
14337 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
14338
70e75364
VS
143392011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14340
14341 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
14342 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
14343 (grub_lvm_mirror): New struct.
14344 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
14345 (grub_lvm_iterate): Iterate only visible volumes.
14346 (grub_lvm_read): Factor out to ..
14347 (read_lv): ... this. Support mirrors.
14348 (grub_lvm_read): New wrapper function.
14349 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
14350 stripped or mirrored.
14351
fc18f6a3
VS
143522011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14353
14354 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
14355
5c650f4c
CW
143562011-03-29 Colin Watson <cjwatson@ubuntu.com>
14357
14358 * docs/grub.texi (loopback): New section.
14359
61d7156b
CW
143602011-03-29 Colin Watson <cjwatson@ubuntu.com>
14361
14362 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
14363 removed -p option.
14364
994b8264
CW
143652011-03-29 Colin Watson <cjwatson@ubuntu.com>
14366
14367 * docs/grub.texi (BIOS installation): New section, partly based on
14368 previous text in other sections.
14369 (Installing GRUB using grub-install): Replace BIOS discussion with a
14370 cross-reference.
14371 (Images): Likewise.
14372
9e4d19e0
VS
143732011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14374
14375 * grub-core/kern/emu/hostdisk.c (find_partition_start)
14376 [HAVE_DIOCGDINFO]: Add safety checks.
14377
a307c0b2
VS
143782011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14379
14380 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
14381 per default compiled in kernel and prior to 8.0 isn't shipped at all.
14382
b4db4f39
CW
143832011-03-29 Colin Watson <cjwatson@ubuntu.com>
14384
14385 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
14386 real_sb->size is zero (e.g. RAID-0), get the disk size from
14387 real_sb->data_size instead.
14388 Fixes Ubuntu bug #743136.
14389
35e5f84c
VS
143902011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14391
14392 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
14393 printf clauses for printing size and start.
14394
d2e29d81
VS
143952011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14396
14397 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
14398 Reported and tested by: Timothy Nikkel.
14399
ed5587af
VS
144002011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14401
14402 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
14403 (dirty_region_add_real): ... this.
14404 (dirty_region_add): Don't discard margin refresh when performing
14405 scheduled repaint.
14406
a1dc717c
VS
144072011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
14408
14409 * grub-core/lib/relocator.c (allocate_regstart)
14410 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
14411 terminals are capabple of malloc-free operation.
14412 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
14413 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
14414
9f3677d3
VS
144152011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
14416
14417 * util/grub-setup.c: Copy the partition table zone if floppy support
14418 is disabled, even if no partition table is found.
14419
14420 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
14421 during POST if an invalid partition table is contained in the PBR
14422 of the active partition when GRUB is installed to a partition.
14423
24148725
CW
144242011-03-28 Colin Watson <cjwatson@debian.org>
14425
14426 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
14427 comment.
14428
f329eda7
CW
144292011-03-28 Colin Watson <cjwatson@debian.org>
14430
14431 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
14432 to be specific about what kind of RAID device we're scanning for.
14433
c482ad98
SG
144342011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
14435
14436 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
14437 return freed string.
14438
5ee04984
VS
144392011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14440
14441 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
14442
f4727da9
VS
144432011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14444
14445 Use libgeom on FreeBSD to detect partitions.
14446
14447 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
14448 (grub-mkrelpath): Likewise.
14449 (grub-script-check): Likewise.
14450 (grub-editenv): Likewise.
14451 (grub-mkpasswd-pbkdf2): Likewise.
14452 (grub-fstest): Likewise.
14453 (grub-mkfont): Likewise.
14454 (grub-mkdevicemap): Likewise.
14455 (grub-probe): Likewise.
14456 (grub-setup): Likewise.
14457 (grub-ofpathname): Likewise.
14458 (grub-mklayout): Likewise.
14459 (example_unit_test): Likewise.
14460 (grub-menulst2cfg): Likewise.
14461 * grub-core/Makefile.core.def (grub-emu): Likewise.
14462 (grub-emu-lite): Likewise.
14463 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
14464 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
14465 define HAVE_DIOCGDINFO.
14466 (follow_geom_up) [FreeBSD]: New function.
14467 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
14468 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
14469 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
14470 unconditionally of HAVE_DIOCGDINFO.
14471
82fe6c75
VS
144722011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14473
14474 Fix FreeBSD compilation problem.
14475
14476 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
14477 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
14478
4c6c9431
CW
144792011-03-24 Colin Watson <cjwatson@ubuntu.com>
14480
14481 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
14482 Switch back to page zero before loading a kernel, since some kernel
14483 drivers expect that.
14484 Thanks to: Felix Kuehling.
14485
c7064d94
VS
144862011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
14487
14488 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
14489 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
14490 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
14491
3f71cded
VS
144922011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
14493
14494 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
14495 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
14496
ef6de21a
VS
144972011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
14498
14499 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
14500 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
14501 malloc is disabled.
14502
8bc66a2c
VS
145032011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
14504
14505 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
14506 for modules headers when counting the needed allocation size.
14507
5657722c
VS
145082011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14509
14510 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
14511 if no ASCII character is found to prevent crash.
14512
41a85f55
AK
145132011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
14514
14515 * grub-core/video/bitmap.c (match_extension): Ignore case.
14516
59e1e5f1
VS
145172011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14518
14519 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
14520
bd4d051a
VS
145212011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14522
14523 * grub-core/script/parser.y: Declare "time" as valid argument.
14524
bae7fcc1
PJ
145252011-03-23 Peter Jones <pjones@redhat.com>
14526
14527 Fix incorrect assert failure reporting.
14528
14529 * grub-core/tests/example_functional_test.c (example_test): Add
14530 a failure comment.
14531 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
14532 (failure_start): ...this. Check that malloc succeeded.
14533 Don't call xvasprintf. Return failure struct.
14534 (failure_append_vtext): New function.
14535 (failure_append_text): Likewise.
14536 (add_failure): Likewise.
14537 (grub_test_assert_helper): Likewise.
14538 * include/grub/test.h (grub_test_assert_helper): New declaration.
14539 (grub_test_assert): Macro rewritten.
14540
537dc9be
VS
145412011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14542
14543 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
14544
fa3e01bf
VS
145452011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14546
14547 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
14548
b1d28404
VS
145492011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14550
14551 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
14552 into GRUB-style one.
14553
2e3e2e09
VS
145542011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14555
14556 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
14557 error and not grub_errno.
14558 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
14559
ed57e557
VS
145602011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14561
14562 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
14563 GRUB_USB_SPEED_NONE in case of failure and not the error code.
14564
d1611f01
VS
145652011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14566
14567 * grub-core/efiemu/i386/pc/cfgtables.c
14568 (grub_machine_efiemu_init_tables): Make declaration a prototype.
14569 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
14570 (grub_xnu_unlock): Likewise.
14571 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
14572
7d4e39d6
VS
145732011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14574
14575 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
14576 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
14577 * grub-core/commands/hashsum.c (aliases): Likewise.
14578 * grub-core/commands/setpci.c (pci_registers): Likewise.
14579 * grub-core/disk/usbms.c (attach_hook): Likewise.
14580 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
14581 (zio_checksum_table): Likewise.
14582 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
14583 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
14584 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
14585 * grub-core/lib/relocator.c (leftovers): Likewise.
14586 (extra_blocks): Likewise.
14587 * grub-core/loader/i386/bsd.c (relocator): Likewise.
14588 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
14589 (modules_last): Likewise.
14590 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
14591 (devices): Likewise.
14592 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
14593 (modules_last): Likewise.
14594 * grub-core/normal/auth.c (users): Likewise.
14595 * grub-core/normal/context.c (initial_menu): Likewise.
14596 (current_menu): Likewise.
14597 * grub-core/normal/crypto.c (crypto_specs): Likewise.
14598 * grub-core/term/serial.c (grub_serial_ports): Likewise.
14599 (grub_serial_terminfo_input_template): Likewise.
14600 (grub_serial_terminfo_output_template): Likewise.
14601 (grub_serial_terminfo_input): Likewise.
14602 (grub_serial_terminfo_output): Likewise.
14603 (registered): Likewise.
14604 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
14605
40fc4659
VS
146062011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14607
14608 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
14609 grub_video_mode_type_t.
14610 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
14611 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
14612 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
14613
2da48d28
VS
146142011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
14615
14616 * util/grub-install.in: Correct the x86-64 name as x86_64.
14617
9b43bf39
CW
146182011-03-11 Colin Watson <cjwatson@ubuntu.com>
14619
14620 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
14621 initial chunk read from the kernel always includes GRUB's multiboot
14622 header, which is now outside the first sector.
14623
be1a7ce0
CW
146242011-03-09 Colin Watson <cjwatson@ubuntu.com>
14625
14626 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
14627 cached mmap_size, so that this works correctly when called multiple
14628 times.
14629 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
14630
83a3c48d
CW
146312011-03-09 Colin Watson <cjwatson@ubuntu.com>
14632
14633 * docs/grub.texi (Simple configuration): Tidy up formatting.
14634
57d75699
SJ
146352011-03-07 Szymon Janc <szymon@janc.net.pl>
14636
14637 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
14638 Set-but-not-used variable removed.
14639
028501a0
VS
146402011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
14641
14642 Workaround yet another IEEE1275 bug.
14643
14644 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
14645 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
14646 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
14647 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
14648 is set.
14649 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14650 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
14651
d998657d
VS
146522011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
14653
14654 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
14655 error.
14656
fee7cdd4
CW
146572011-02-11 Colin Watson <cjwatson@ubuntu.com>
14658
14659 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
14660 empty, since in that case we can only generate either nothing or a
14661 syntactically invalid configuration file.
14662 Reported by: Michal Suchanek. Fixes Debian bug #612898.
14663
97286eb5
CW
146642011-02-09 Colin Watson <cjwatson@ubuntu.com>
14665
14666 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
14667 (Making a GRUB bootable CD-ROM): Likewise.
14668 (Invoking grub-mkrescue): New section.
14669 Reported by: Yann Dirson. Fixes Debian bug #612585.
14670
22b28eb3
CW
146712011-02-09 Colin Watson <cjwatson@ubuntu.com>
14672
14673 * util/grub-install.in: Remove unnecessary brackets from tr
14674 arguments.
14675 * util/grub.d/10_hurd.in: Likewise.
14676 * util/grub.d/10_kfreebsd.in: Likewise.
14677 * util/grub.d/10_linux.in: Likewise.
14678 * util/grub.d/20_linux_xen.in: Likewise.
14679 Reported by: Jamie Heilman. Fixes Debian bug #612564.
14680
7e735e43
CW
146812011-02-08 Colin Watson <cjwatson@ubuntu.com>
14682
14683 * include/grub/file.h (not_easly_seekable): Rename to ...
14684 (not_easily_seekable): ... this. Update all users.
14685
800f1881
CW
146862011-01-28 Colin Watson <cjwatson@ubuntu.com>
14687
14688 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
14689 grub-mkrescue.
14690
3281d3d6
VS
146912011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
14692
14693 * util/grub-mkimage.c (generate_image): Refuse to create the images
14694 bigger than the actual flash (512K) in Loongson machines. 512K is also
14695 the biggest chip supported by them.
14696
3533413c
VS
146972011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14698
14699 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
14700
73ae4f4f
VS
147012011-01-22 Anthony DeRobertis <anthony@derobert.net>
14702
14703 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
14704 super_offset field.
14705
37f4f608
VS
147062011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14707
14708 * util/grub-install.in: Ignore install device on platforms
14709 where it doesn't make sense. Always use UUIDs except on pc, efi and
14710 sparc64.
14711 Reported by: Daniel Kahn Gillmor.
14712
03a4ccb5
VS
147132011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14714
14715 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
14716
ffc8f4d8
VS
147172011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14718
14719 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
14720 (iterate_real): Don't rely on partition being non-NULL.
14721
80f23be7
VS
147222011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14723
14724 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
14725 supported platforms. Put a compile time assert for this rather than
14726 generate a warning with 32-bit shift.
14727
5d4f4dd5
VS
147282011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14729
14730 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
14731 logical expression more readable.
14732
e489601a
VS
147332011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14734
14735 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
14736 even if some elements have a name.
14737 Reported by: Alexander GQ Gerasiov.
14738
96e0a6ea
CW
147392011-01-22 Colin Watson <cjwatson@ubuntu.com>
14740
14741 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
14742 path unreadable if `grub-probe -t abstraction' fails, for example if
14743 memberlist fails on an LVM volume group.
14744 Reported by: Darius Jahandarie.
14745
81431e2b
CW
147462011-01-22 Colin Watson <cjwatson@ubuntu.com>
14747
14748 * docs/grub.texi (Simple configuration): Document
14749 GRUB_PRELOAD_MODULES.
14750
5e79d66a
CW
147512011-01-17 Colin Watson <cjwatson@ubuntu.com>
14752
14753 * .bzrignore: Remove nonexistent grub-pbkdf2.
14754
646ada34
VS
147552011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
14756
14757 * configure.ac: Bump version to 1.99~rc1.
14758
04360337
VS
147592011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
14760
14761 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
14762 for safety.
14763
46c9db88
VS
147642011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14765
14766 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
14767 module.
14768
147692011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
14770
14771 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
14772
4fbf1852
VS
147732011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14774
14775 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
14776 diskdevid.
14777
f1632d4d
VS
147782011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14779
14780 Fix compilation on cygwin.
14781
14782 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
14783 -R .drectve on cygwin.
14784 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
14785 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
14786 (COND_CYGWIN): New condition.
14787 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
14788 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
14789 not @TARGET_OBJ2ELF@.
14790 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
14791 type to determine whether aux is to be used.
14792
0b5e127b
VS
147932011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14794
14795 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
14796 realpath'ed device string.
14797 Handle floppy (somewhat).
14798 Issue error in unknown case rather than garbage.
14799 Reported by: Axel Beckert.
14800
173b71e9
VS
148012011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14802
14803 * util/grub.d/00_header.in (load_video): Handle the case when no video
14804 drivers available.
14805 Thanks to: Axel Beckert.
14806
f8f479db
VS
148072011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14808
14809 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
14810 variable. Fixes problem on big endian platforms.
14811
8fc0a245
VS
148122011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14813
14814 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
14815 It doesn't work well there.
14816
b8494fbe
VS
148172011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14818
14819 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
14820 warning.
14821 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
14822 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
14823 counter.
14824
b44a558c
VS
148252011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14826
14827 Use alias->path rather than buggy "canon".
14828
14829 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
14830 (ofdisk_hash_add): New argument curcan. All users updated.
14831
51fa856c
CW
148322011-01-11 Colin Watson <cjwatson@ubuntu.com>
14833
14834 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
14835
9da068a5
VS
148362011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14837
14838 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
14839 loadmask before doing any calculations. Use correct type for offset.
14840 (grub_linux_load64): Likewise.
14841
86205c94
CW
148422011-01-11 Colin Watson <cjwatson@ubuntu.com>
14843
14844 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
14845 with NULL.
14846 (console_grub_equivalences_unshift): Likewise.
14847 Reported by: Daniel Dehennin.
14848
4531a206
VS
148492011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14850
14851 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
14852 (set_env_limn_ro): Likewise.
14853 (GRUB_MOD_INIT): Likewise.
14854 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
14855 ARRAY_SIZE while on it.
14856 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
14857 * grub-core/normal/context.c (grub_env_export): Move from here ...
14858 * grub-core/kern/env.c (grub_env_export): ... here.
14859 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
14860 prefix.
14861 * grub-core/kern/main.c (grub_main): Export root and prefix.
14862 * include/grub/env.h (grub_env_export): Export.
14863 Reported by: Seth Goldberg.
14864
45146057
VS
148652011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14866
14867 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
14868 Take into account space used by ELF sections and multiboot palette.
14869 Reported by: Grégoire Sutre.
14870
f093110b
VS
148712011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
14872
14873 * BUGS: New file.
14874
3395fe52
VS
148752011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14876
14877 Pass more appropriate video id to Linux.
14878
14879 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
14880 grub_video_get_driver_id and variable gfxpayloadforcelfb to
14881 fill have_vga.
14882 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
14883 shift params->lfb_size.
14884 * include/grub/i386/linux.h: Make an enume out of have_vga values.
14885
c2fa6cbb
VS
148862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14887
14888 * util/grub-menulst2cfg.c: Add missing include of misc.h.
14889
b3ff6ff0
VS
148902011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14891
14892 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
14893 separator and pass bootpath/devid even if only one of them is available.
14894 Reported by: Seth Goldberg.
14895
ae67942e
VS
148962011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14897
14898 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
14899 implementations bug on them.
14900
14901 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
14902 memory.
14903 (filter_memory_map): Likewise.
14904
d570097a
VS
149052011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14906
14907 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
14908 Reported by: nebuchadnezzar.
14909
a508e776
VS
149102011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14911
14912 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
14913 Reported by: nebuchadnezzar.
14914
dcb883b1
VS
149152011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14916
14917 Submenu default support.
14918
14919 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
14920 auto_boot. All users updated.
14921 Declared static.
14922 Handle chosen and default with submenus.
14923 (grub_menu_execute_with_fallback): Declared static.
14924 Don't notify failure if autobooted. Upper level does it.
14925 (menuentry_eq): New function.
14926 (get_entry_number): Use menuentry_eq.
14927 (show_menu): New parameter "autobooted". All users updated.
14928 (grub_show_menu): Likewise.
14929 * include/grub/normal.h (grub_show_menu): Likewise.
14930 * include/grub/menu.h (grub_menu_execute_entry): Removed.
14931 (grub_menu_execute_with_fallback): Likewise.
14932
6fef99b4
VS
149332011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14934
14935 * util/grub-mklayout.c (usage): Update help text.
14936
47a77af5
VS
149372011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14938
14939 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
14940
ce6bb3ee
VS
149412011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14942
14943 * util/grub-menulst2cfg.c (main): Trim the line.
14944
db87be2a
VS
149452011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14946
14947 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
14948 (grub_machine_init): Don't check amount of low memory as reportedly
14949 INT 12h can be broken and if low memory is too low we wouldn't have
14950 gotten into grub_machine_init anyway.
14951
c49849cc
VS
149522011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14953
14954 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
14955 (grub_machine_mmap_iterate): Take low memory into account
14956
b1969b30
VS
149572011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14958
14959 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
14960 badfs.
14961 Reported by: TiCPU.
14962
cf0eaf13
VS
149632011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14964
14965 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
14966 members errors.
14967
1f060f39
GS
149682011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
14969
14970 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
14971 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
14972
a21e5672
GS
149732011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
14974
14975 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
14976 openbsd and netbsd types being in part_bsd module.
14977
c88172fa
VS
149782011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14979
14980 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
14981 (_FILE_OFFSET_BITS): Likewise.
14982 Reported by: Seth Goldberg.
14983
53798c4b
GS
149842011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
14985
14986 * configure.ac: Check for libdevmapper header.
14987
e7121b69
VS
149882011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
14989
14990 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
14991 avoid aliasing.
14992 (fzap_lookup): Likewise.
14993 (dnode_get): Likewise.
14994 (make_mdn): Likewise.
14995 (zfs_mount): Likewise.
14996 (fzap_iterate): Use temporary pointer to avoid aliasing.
14997 (grub_zfs_read): Likewise.
14998 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
14999 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
15000 pointers to avoid aliasing.
15001 (grub_cmd_xnu_kernel64): Likewise.
15002 (grub_xnu_load_driver): Likewise.
15003
fc836af9
VS
150042011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15005
15006 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
15007 aliasing warning.
15008 (grub_cmd_terminal_output): Likewise.
15009 Reported and tested by: Grégoire Sutre.
15010
f9f37648
VS
150112011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15012
15013 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
15014 warning.
15015 Reported and tested by: Grégoire Sutre.
15016
ec1dfd63
VS
150172011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15018
15019 * configure.ac: Do CPU substitution even if it's specified explicitly.
15020 Reported and tested by: Alain Greppin.
15021
9462775a
VS
150222011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15023
15024 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
15025 Reported and tested by: Alain Greppin.
15026
0fd48e35
VS
150272011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15028
15029 Satisfy some bison versions need for inttypes.h.
15030
15031 * grub-core/lib/posix_wrap/inttypes.h: New file.
15032 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
15033 (int16_t): Likewise.
15034 (int32_t): Likewise.
15035 (int64_t): Likewise.
15036 Reported and tested by: Alain Greppin.
15037
43f1bc83
VS
150382011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
15039
15040 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
15041 Silence spurious warning.
15042 Reported and tested by: Alain Greppin.
15043
64d1f041
SJ
150442011-01-07 Szymon Janc <szymon@janc.net.pl>
15045
15046 * docs/grub.texi (Support automatic decompression): Update with xz
15047 decompression support.
15048
25953e10
SJ
150492011-01-07 Szymon Janc <szymon@janc.net.pl>
15050
15051 Improve loaders' kernel command line handling.
15052
15053 * grub-core/lib/cmdline.c: New file.
15054 * include/grub/lib/cmdline.h: Likewise.
15055 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
15056 grub_create_loader_cmdline to create kernel command line.
15057 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
15058 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
15059 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
15060 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
15061 (linux): Add lib/cmdline.c on common.
15062
e72d259f
VS
150632011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15064
15065 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
15066 inopos might be unaligned.
15067
c0cf26da
VS
150682011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15069
15070 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
15071 endian transformations.
15072 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
15073 Based on report by: Doug Nazar.
15074
0ca09e6c
DN
150752011-01-07 Doug Nazar <nazard.michi@gmail.com>
15076
15077 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
15078 array->members[i].start_sector.
15079 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
15080
014b6806
VS
150812011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15082
15083 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
15084 Reported and tested by: Grégoire Sutre.
15085
415502c2
CW
150862011-01-06 Colin Watson <cjwatson@ubuntu.com>
15087
15088 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
15089 avoid causing test failures by clearing the screen.
15090
71b6a2b7
CW
150912011-01-06 Colin Watson <cjwatson@ubuntu.com>
15092
15093 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
15094 Fix prefix check to handle the case where dir ends with a slash
15095 (most significantly, "/" itself).
15096 Reported by: Michael Vogt.
15097
b3f8d28a
VS
150982011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
15099
15100 Run terminfo_cls on initing terminfo output to clear the screen and
15101 move the cursor to (0,0).
15102
15103 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
15104 Call grub_terminfo_output_init.
15105 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
15106 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
15107 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
15108
4c3e4f37
VS
151092011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
15110
15111 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
15112 only when needed.
15113
488f71f1
VS
151142011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
15115
15116 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
15117 CTRL.
15118
18a38098
VS
151192011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
15120
15121 The E820 type 5 is BADRAM, not EXEC_CODE.
15122
15123 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
15124 (GRUB_E820_BADRAM): New define.
15125 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
15126 into reserved. Propagate BADRAM.
15127 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
15128 (GRUB_E820_BADRAM): New define.
15129
9eae2084
VS
151302011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15131
15132 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
15133 Ignore the memory post-4G.
15134 (grub_relocator_firmware_alloc_region): Additional debug statement.
15135
ebc71d28
VS
151362011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15137
15138 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
15139 names.
15140 Reported by: David Pravec.
15141
446fa400
VS
151422011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15143
15144 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
15145 BIOSes.
15146
a0159f37
VS
151472011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15148
15149 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
15150 Prevent overflow.
15151 (grub_reed_solomon_recover): Likewise.
15152
e5146ca1
VS
151532011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15154
15155 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
15156
151572011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
15158
15159 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
15160 variable.
15161
5b1bdf12
CW
151622011-01-04 Colin Watson <cjwatson@ubuntu.com>
15163
15164 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
15165 descriptions of extract_legacy_entries_source and
15166 extract_legacy_entries_configfile.
15167 Reported by: Seung Soo, Ha.
15168
99d925aa
CW
151692011-01-03 Colin Watson <cjwatson@ubuntu.com>
15170
15171 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
15172 on devices that do not implement function 0.
15173
4af0504b
DV
151742011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
15175
15176 * grub-core/fs/hfsplus.c: Make parent unsigned.
15177 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
15178 overflows.
15179 (grub_hfsplus_cmp_extkey): Likewise
15180
469ee10a
VS
151812011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
15182
15183 * util/grub-install.in: Correctly use bootloader_id and not
15184 GRUB_DISTRIBUTOR on efibootmgr line.
15185
323a8e9c
VS
151862011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
15187
15188 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
15189
1b394975
IC
151902010-12-31 Ian Campbell <ijc@hellion.org.uk>
15191
15192 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
15193 Xen and reorder menu item wording to make it clearer that this entry
15194 will launch Xen. Print separate messages when loading Xen and
15195 Linux.
15196
275bff5f
VS
151972010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
15198
15199 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
15200 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
15201 loop in case of incorrect amiga partmap.
15202
307806cb
VS
152032010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
15204
15205 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
15206 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
15207 Reported by:EHeM.
15208
b12b923e
VS
152092010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
15210
15211 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
15212 spurious warning.
15213 Reported by: crocket
15214
14b48a19
VS
152152010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15216
15217 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
15218 Preload EFIemu.
15219 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
15220
693db2df
VS
152212010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15222
15223 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
15224 is loaded
15225 (grub_cmd_xnu_kextdir): Likewise.
15226 (grub_cmd_xnu_splash): Likewise.
15227
c7638645
VS
152282010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15229
15230 Avoid using Reed-Solomon with 0 redundancy.
15231
15232 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
15233 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
15234 or 0 redundancy.
15235 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
15236 (grub_reed_solomon_recover): Likewise.
15237
25dd4780
VS
152382010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15239
15240 Don't use disk subsystem in freebsd_boot.
15241
15242 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
15243 (freebsd_biosdev): Likewise.
15244 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
15245 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
15246
0b2db943
VS
152472010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
15248
15249 Handling of files of unknown size is currently limited. They can't be
15250 used e.g. for initrd or modules. Moreover gzip handling of not
15251 easily seekable files is buggy. Disable unknown file size for now. May
15252 be inefficient but works.
15253
15254 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
15255 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
15256
5c408d0f
MP
152572010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
15258
15259 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
15260 floppy probe.
15261
190a011a
JD
152622010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
15263
15264 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
15265
022d01b8
SL
152662010-12-25 Shea Levy <shlevy>
15267
15268 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
15269
c4855fdc
VS
152702010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15271
15272 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
15273 Windows Server 2008.
15274 Reported by: Devin Giddings.
15275
0354b867
VS
152762010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15277
15278 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
15279 writing an error message because of async power management.
15280 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
15281 (grub_reboot): Likewise.
15282
ab66c69f
JU
152832010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
15284
15285 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
15286 keep unit tests from failing when they shouldn't.
15287
1426ef35
CW
152882010-12-21 Colin Watson <cjwatson@ubuntu.com>
15289
15290 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
15291 previous patch increased the size of the RS code by 20 bytes (at
15292 least with gcc-4.4), so increase this by 20 bytes to match.
15293 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15294
20641b6b
CW
152952010-12-21 Colin Watson <cjwatson@ubuntu.com>
15296
15297 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
15298 scratch area. Make sure to initialise chosen in standalone mode as
15299 well as non-standalone.
15300 Reported by: Robert Hooker and Andy Whitcroft.
15301 Tested by: Andy Whitcroft.
15302
d060ad60
CW
153032010-12-21 Colin Watson <cjwatson@ubuntu.com>
15304
15305 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
15306 constructing a new unescaped string and passing it to grub_xputs in
15307 one go, rather than passing characters to grub_printf one at a time.
15308
b889cfad
CW
153092010-12-21 Colin Watson <cjwatson@ubuntu.com>
15310
15311 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
15312 initialising utf16.
15313
4e01b6c8
CW
153142010-12-21 Colin Watson <cjwatson@ubuntu.com>
15315
15316 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
15317 comment. Add an extra layer of quotation, requiring the output of
15318 this function to be used in a printf format string.
15319 (gettext_printf): New function.
15320 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
15321 Extract translatable strings from here-documents and use a temporary
15322 variable instead, so that xgettext can find them.
15323 * util/grub.d/10_kfreebsd.in: Likewise.
15324 * util/grub.d/10_linux.in: Likewise.
15325 * util/grub.d/20_linux_xen.in: Likewise.
15326
15327 * po/grub.d.sed: New file.
15328 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
15329 arguments. Set c-format flags on all strings extracted from
15330 util/grub.d/ (xgettext refuses to include these itself for strings
15331 it extracted from a shell file, but these really are c-format).
15332
5318fe98
VS
153332010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15334
15335 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
15336 Avoid next pointing to nowhere.
15337
6c85b743
VS
153382010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
15339
15340 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
15341 rather than assuming than rootblock is exactly in the middle.
15342 (grub_affs_label): Likewise.
15343
a2a08a35
VS
153442010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
15345
15346 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
15347 reserved_first_sector to 0.
15348 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
15349 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
15350 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
15351
7059d1ec
VS
153522010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
15353
15354 Fix handling of UTF-16 UDF labels.
15355
15356 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
15357 (read_string): .. here.
15358 (grub_udf_label): Use read_string.
15359
30aff4cb
BC
153602010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
15361
15362 * grub-core/normal/menu_entry.c (run): Execute commands from menu
15363 editor under argument scope.
15364 Reported by: Jordan Uggla
15365
5cf86f4b
VS
153662010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15367
15368 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
15369
32570200
CW
153702010-12-18 Colin Watson <cjwatson@ubuntu.com>
15371
15372 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
15373 line, and other keys scroll an entire page (previous handling was
15374 for \r and \n to scroll a page and other keys to scroll two lines).
15375
e1dffcf2
VS
153762010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15377
15378 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
15379 Set ptrdest to correct get_physical_target_address rather than
15380 incorrect get_virtual_current_address.
15381
b04298cf 153822010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
15383
15384 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
15385 correct cat to grub_uint8_t * rather than grub_uint32_t *.
15386
5367ecd3
CW
153872010-12-10 Colin Watson <cjwatson@ubuntu.com>
15388
15389 * .bzrignore: Ignore grub-core/rs_decoder.S.
15390
1fb430f8
CW
153912010-12-10 Colin Watson <cjwatson@ubuntu.com>
15392
15393 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
15394 .mo/.mo.gz opening sequence to ...
15395 (grub_mofile_open_lang): ... here.
15396 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
15397 * util/grub.d/00_header.in (grub_lang): Include country part of
15398 locale.
15399 Reported by: Mario Limonciello.
15400
a94a6671
RM
154012010-12-09 Robert Millan <rmh@gnu.org>
15402
15403 * NEWS: Document addition of ZFS support.
15404
24b7938b
CW
154052010-12-04 Colin Watson <cjwatson@ubuntu.com>
15406
15407 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
15408 rather than `/ 2', as the latter requires -Wa,--divide which would
15409 require bumping our minimum binutils version.
15410
bddc3ef6
BC
154112010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
15412
15413 * util/grub-script-check.c (main): Print script line number on
15414 error.
15415
bf78d5b2
RM
154162010-12-01 Robert Millan <rmh@gnu.org>
15417
15418 * grub-core/fs/zfs/zfs.c: New file.
15419 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
15420 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
15421 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
15422 * grub-core/fs/zfs/zfsinfo.c: Likewise.
15423
15424 * include/grub/zfs/dmu.h: Likewise.
15425 * include/grub/zfs/dmu_objset.h: Likewise.
15426 * include/grub/zfs/dnode.h: Likewise.
15427 * include/grub/zfs/dsl_dataset.h: Likewise.
15428 * include/grub/zfs/dsl_dir.h: Likewise.
15429 * include/grub/zfs/sa_impl.h: Likewise.
15430 * include/grub/zfs/spa.h: Likewise.
15431 * include/grub/zfs/uberblock_impl.h: Likewise.
15432 * include/grub/zfs/vdev_impl.h: Likewise.
15433 * include/grub/zfs/zap_impl.h: Likewise.
15434 * include/grub/zfs/zap_leaf.h: Likewise.
15435 * include/grub/zfs/zfs.h: Likewise.
15436 * include/grub/zfs/zfs_acl.h: Likewise.
15437 * include/grub/zfs/zfs_znode.h: Likewise.
15438 * include/grub/zfs/zil.h: Likewise.
15439 * include/grub/zfs/zio.h: Likewise.
15440 * include/grub/zfs/zio_checksum.h: Likewise.
15441
15442 * Makefile.util.def: Build ZFS into libgrubmods.
15443 * grub-core/Makefile.core.def: Build zfs.mod.
15444
3f0f3831
SJ
154452010-11-30 Szymon Janc <szymon@janc.net.pl>
15446
15447 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
15448 variable.
15449 * grub-core/commands/wildcard.c (match_files): Likewise.
15450
3a4253b2
RM
154512010-11-30 Robert Millan <rmh@gnu.org>
15452
15453 * grub-core/loader/i386/bsd.c
15454 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
15455 whether kernel is loaded using grub_loader_is_loaded(), rather
15456 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
15457 certain error conditions.
15458
8c317b27
RM
154592010-11-30 Robert Millan <rmh@gnu.org>
15460
c5c9cd3e
RM
15461 * grub-core/commands/echo.c: Include `<grub/term.h>'.
15462 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 15463
49d3ab46
VS
154642010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
15465
15466 Avoid using tricks for initialising endian variables.
15467
15468 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
15469 Make const.
15470 (GRUB_MOD_INIT): Don't byte-swap.
15471 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
15472 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
15473 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
15474 (grub_swap_bytes32_compile_time): Likewise.
15475 (grub_cpu_to_le32_compile_time): Likewise.
15476 (grub_cpu_to_le16_compile_time): Likewise.
15477
f420a804
VS
154782010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
15479
15480 * util/grub-setup.c (setup): Stop recommending --force. People who
15481 understand the dangers of blocklists are able to find this option
15482 anyway and the ones who don't shouldn't use it anyway.
15483
4e7db17b
RM
154842010-11-26 Robert Millan <rmh@gnu.org>
15485
15486 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
15487 Update all users.
15488
9be57a0d
CW
154892010-11-26 Colin Watson <cjwatson@ubuntu.com>
15490
15491 Fix LVM-on-RAID probing.
15492
15493 * util/grub-probe.c (probe): Remember which disk was detected as
15494 RAID (perhaps an LVM physical volume). Use that disk's raidname
15495 rather than that of the top-level disk.
15496
2c7859b3 154972010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 15498
d7647bb6
BC
15499 Fix cmdline argument quotes for setparams command of menuentry
15500 definitions.
7e623b0d
BC
15501
15502 * grub-core/commands/menuentry.c (setparams_prefix): Use single
15503 quotes for arguments.
f866fe80 15504 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 15505 grub_strchrsub function instead.
f866fe80 15506
7955bea0 15507 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 15508
74f72a64
CW
155092010-11-24 Colin Watson <cjwatson@ubuntu.com>
15510
15511 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
15512 effort by skipping "." and ".." entries up-front.
15513 Suggested by: Michael Lazarev.
15514
5a407278
CW
155152010-11-24 Colin Watson <cjwatson@ubuntu.com>
15516
15517 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
15518 ldflags to ldadd, to fix link line ordering.
15519 (none_decompress): Likewise.
15520
3030d8ec
CW
155212010-11-24 Colin Watson <cjwatson@ubuntu.com>
15522
15523 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
15524 platforms.
15525 (grub-emu-lite): Remove kern/emu/cache.S.
15526
b7fbac12
CW
155272010-11-23 Colin Watson <cjwatson@ubuntu.com>
15528
15529 * util/deviceiter.c (compare_devices): If the by-id link for a
15530 device couldn't be resolved, fall back to sorting by the by-id link
15531 rather than segfaulting.
15532 Reported and tested by: Daniel Mierswa.
15533
5225f328
CW
155342010-11-23 Colin Watson <cjwatson@ubuntu.com>
15535
15536 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
15537 ldflags, to fix link line ordering.
15538
038b3ce8
CW
155392010-11-23 Colin Watson <cjwatson@ubuntu.com>
15540
15541 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
15542 linkers are picky about this.
15543
bf16e98e
CW
155442010-11-23 Colin Watson <cjwatson@ubuntu.com>
15545
15546 * grub-core/Makefile.am (command.lst): Adjust sed expression
15547 ordering so that extended and priority commands aren't treated as
15548 ordinary commands.
15549
7242bab6
CW
155502010-11-23 Colin Watson <cjwatson@ubuntu.com>
15551
15552 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
15553 Remove byte-swapping function calls, which are not valid in
15554 structure initialisers.
15555 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
15556 non-const.
15557 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
15558 grub_gpt_partition_type_bios_boot.
15559
14e8b279
CW
155602010-11-22 Colin Watson <cjwatson@ubuntu.com>
15561
15562 Fix test program build on GNU/kFreeBSD.
15563
15564 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
15565 $(LIBNVPAIR)' library dependencies.
15566
e6f63338 155672010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
15568
15569 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
15570
cf8ffc38
CW
155712010-11-22 Colin Watson <cjwatson@ubuntu.com>
15572
15573 * util/grub-install.in: Remove excessive quoting that broke
15574 installations to RAID devices.
15575
7f8b0fd7
VS
155762010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
15577
15578 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
15579 bootloader version instead of 0.
15580
dfd240b1
VS
155812010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
15582
15583 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
15584 warning.
15585
7b61e609
VS
155862010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
15587
15588 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
15589 retrieve the metadat sector if size isn't known.
15590 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
15591
9dfe92d0
RM
155922010-11-18 Robert Millan <rmh@gnu.org>
15593
15594 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
15595 with grub_memcmp().
15596
41cc919e
VS
155972010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
15598
15599 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
15600 arrow.
15601 Reported by: Jordan Uggla.
15602
1afcc914
VS
156032010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15604
15605 Make better UTF compliant.
15606
15607 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
15608 sequences as incorrect.
15609 (grub_is_valid_utf8): Likewise.
15610 (grub_utf8_to_ucs4): Likewise.
15611 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
15612 (grub_ucs4_to_utf8_alloc): Likewise.
15613 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
15614
f1808884
VS
156152010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
15616
15617 Make legacy_source behave like source.
15618
15619 * grub-core/commands/legacycfg.c (legacy_file): Don't call
15620 grub_show_menu.
15621 (grub_cmd_legacy_source): Call grub_show_menu if needed.
15622
24ec575b
CW
156232010-11-16 Colin Watson <cjwatson@debian.org>
15624
15625 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
15626 (-Wunused implies -Wunused-parameter, but not vice versa).
15627
72b7c7aa
CW
156282010-11-16 Colin Watson <cjwatson@ubuntu.com>
15629
15630 * configure.ac: Make error messages less confusing by testing for
15631 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
15632 accepted, but produces a diagnostic if something else is wrong).
15633
e98937aa
VS
156342010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
15635
15636 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
15637 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
15638 (now unused).
15639 (grub_keyboard_controller_init)
15640 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
15641 read the initial state since controller isn't inited yet.
15642
f6bbabc3
VS
156432010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
15644
15645 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
15646 allocate_regbeg may need to create new chunk header.
15647
22e7dbb2
VS
156482010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15649
15650 Fix quoting in legacy parser.
15651
15652 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
15653 single quotes.
15654 (grub_legacy_parse): Likewise.
15655 Reported by: Jordan Uggla.
15656 Tested by: Jordan Uggla.
15657
03f80960
VS
156582010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15659
15660 Don't add -lgcc on i386 and x86_64.
15661
15662 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
15663 * conf/Makefile.common (LDADD_KERNEL): Likewise.
15664 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
15665
779dc15b
VS
156662010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15667
15668 * configure.ac: Add -Wno-trampolines when supported.
15669
d20a3b37
MV
156702010-11-14 Modestas Vainius <modax@debian.org>
15671
15672 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
15673 fakeraid.
15674
e5360933
GC
156752010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
15676
15677 Add generic logical block size support for UDF.
15678
15679 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
15680 (GRUB_UDF_BLKSZ): Removed.
15681 (struct grub_udf_data): New field "lbshift" to hold the logical block
15682 size of the file system in log2 format. All users updated.
15683 (sblocklist): Change type to unsigned.
15684 (grub_udf_mount): Change type of "sblklist" to unsigned.
15685 Move AVDP search before VRS recognition, because the latter requires
15686 knowledge of the logical block size, which is detected during the
15687 former.
15688 Detect and validate logical block size during AVDP search, adding
15689 support for block sizes 512, 1024 and 4096.
15690 Make VRS recognition independent of block size.
15691
cb0229c5
GC
156922010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
15693
15694 Properly handle deleted files on UDF.
15695
15696 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
15697 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
15698 set.
15699
406858a8
GC
157002010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
15701
15702 Support reading files larger than 2 GiB.
15703
15704 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
15705 "offset" to grub_off_t.
15706 (grub_udf_read_file): Likewise for parameter "pos".
15707
130da6a7
VS
157082010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15709
15710 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
15711 unavailable.
15712 (Simple configuration): Refer to Changes from GRUB Legacy about
15713 save_env availability.
15714
65e93f6b
VS
157152010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15716
15717 * util/grub-install.in: Ignore empty partition table detection
15718 instead of trying to include part_ module.
15719
1fd08bf1
VS
157202010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15721
15722 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
15723 LVM on RAID support.
15724
de1a024f
VS
157252010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
15726
15727 Properly define WORDS_BIGENDIAN in wrapped environments.
15728
15729 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
15730 definition.
15731 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
15732
15733 Reported by: Manoel Rebelo Abranches.
15734 Tested by: Manoel Rebelo Abranches.
15735
bc5dd0b9
VS
157362010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15737
15738 * util/grub-mkconfig.in: Fix quoting.
15739
58c184be
VS
157402010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15741
15742 Support big ext2 files.
15743
15744 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
15745 (grub_ext2_read_block): Support triple indirect blocks.
15746 (grub_ext2_read_file): Use 64-bit types and read size_high.
15747 (grub_ext2_open): Read size_high.
15748 Reported by: Ximin Luo.
15749 Tested by: Manoel Rebelo Abranches.
15750
5f0c02b3
VS
157512010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15752
15753 * util/grub-install.in: Handle filenames containing spaces.
15754 Reported by: Jordan Uggla.
15755 Tested by: Jordan Uggla.
15756
4417aae6
VS
157572010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15758
15759 * util/grub-mkconfig.in (grub_script_check): New variable.
15760 Use grub_script_check instead of grub-script-check.
15761 Reported by: Barry Jackson.
15762
7625a68e
VS
157632010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
15764
15765 * docs/grub.texi (menu): Correct the order.
15766 Reported by: D. Hugh Redelmeier.
15767
10001ac5
VS
157682010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
15769
15770 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
15771 jump.
15772
9c4cf53b
MRA
157732010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
15774
10001ac5
VS
15775 * include/grub/elfload.h (grub_elf32_size): New parameter.
15776 All users updated.
9c4cf53b
MRA
15777 Return maximum segments alignment.
15778 (grub_elf64_size): Likewise.
15779 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
15780 Return maximum segments alignment.
15781 (grub_elf64_size): Likewise.
15782 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
15783 (grub_linux_claimmap_iterate): New function. Uses the
15784 "available" property in the "memory" node for memory allocation
15785 for kernel in the PowerPC loader.
9c4cf53b
MRA
15786 (grub_linux_load32): Correctly find linux entry point offset.
15787 (grub_linux_load64): Likewise.
15788
d2bf06bf
RM
157892010-11-07 Robert Millan <rmh@gnu.org>
15790
15791 On mips-yeeloong, build with -march=loongson2f when this flag is
15792 available (GCC >= 4.4).
15793 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
15794 `-march=mips3'.
15795 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
15796 or otherwise add -march=mips3.
15797
898c99a2
BC
157982010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
15799
87220a68
BC
15800 Suppress shell expansion on echo '*' and echo "*" like cases.
15801 Reported by: Jordan Uggla.
898c99a2
BC
15802
15803 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
15804 string arguments before shell expansion.
15805 * tests/grub_cmd_echo.in: New testcases.
15806
4f9b406a
RM
158072010-11-07 Robert Millan <rmh@gnu.org>
15808
15809 * conf/mips-qemu-mips.rmk: Remove stale file from previous
15810 transition.
15811
80c6d25e
VS
158122010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
15813
15814 * grub-core/kern/emu/hostdisk.c
15815 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
15816
4a1a0153
VS
158172010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15818
15819 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
15820 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
15821 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
15822
34706ddc
VS
158232010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15824
15825 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
15826
6972dea9
VS
158272010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15828
15829 * util/grub-install.in: Replace useless recomendation to pass
15830 --modules with a recomendation to report a bug.
15831
9c693bd6
VS
158322010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
15833
15834 Properly register serial terminfo.
15835 Reported by: Jordan Uggla
15836
15837 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
15838 const.
15839 (grub_serial_terminfo_output_template): Likewise.
15840 (grub_cmd_serial): Register "serial" with terminfo.
15841 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
15842 grub_serial_terminfo_output.
15843
6c9e4c0c
RM
158442010-11-05 Robert Millan <rmh@gnu.org>
15845
15846 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
15847 needed).
15848
b9b3839f
RM
158492010-11-05 Robert Millan <rmh@gnu.org>
15850
15851 On Yeeloong, pass machine type information to Linux.
15852
15853 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
15854 (LOONGSON_MACHTYPE): New macro, set to
15855 "machtype=lemote-yeeloong-2f-8.9inches".
15856 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
15857 additional argument to Linux.
15858
1a3aaff4
RM
158592010-11-04 Robert Millan <rmh@gnu.org>
15860
15861 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
15862 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
15863 (its SATA disks are detected as slaveless IDE master drives on
15864 kFreeBSD).
15865 Reported by Carsten Aulbert.
15866
a75f4f62
CW
158672010-11-02 Colin Watson <cjwatson@ubuntu.com>
15868
15869 * util/bin2h.c (main): Fix spelling error in generated output.
15870
33b4b0c6
GS
158712010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
15872
15873 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
15874
2b36fbf4
VS
158752010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15876
15877 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
15878 vga= option is supplied.
15879
74aaf558
VS
158802010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15881
15882 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
15883 * util/grub.d/10_kfreebsd.in: Likewise.
15884 * util/grub.d/10_linux.in: Likewise.
15885 * util/grub.d/20_linux_xen.in: Likewise.
15886
6428dec3
VS
158872010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15888
15889 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
15890 argument as an argument to no-argument option.
15891
f8729d98
VS
158922010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15893
15894 * util/grub.d/10_linux.in: Add missing load_video with explicit
15895 GRUB_GFXPAYLOAD_LINUX.
15896
89d68fa6
VS
158972010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15898
15899 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
15900
3a1197cd
VS
159012010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15902
15903 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
15904 elements with invlid index.
15905 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
15906 * grub-core/disk/raid.c (insert_array): Automatically reallocate
15907 members.
15908 * include/grub/raid.h (grub_raid_member): New struct.
15909 (grub_raid_array): Transform devices and start_sector into usage of
15910 grub_raid_member. All users updated
15911 (allocated_devs): New member.
15912
71574288
VS
159132010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15914
15915 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
15916 is modified
15917
8d40ec65
BC
159182010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
15919
15920 NetBSD build fix for getline function conflict from gnulib.
15921
15922 * Makefile.util.def (libgrubkern.a): New library for grub kernel
15923 components that depend on gnulib headers.
15924 (libgrubmods.a): Renamed from earlier libgrub.a.
15925 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
15926
95b9257e
VS
159272010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15928
15929 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
15930 install rather than creating a broken install.
15931
26c53dc6
VS
159322010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15933
15934 * util/grub-setup.c (argp): Remove misleading example of installing to
15935 a partition.
15936
4171b3c5
VS
159372010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15938
15939 * util/grub-setup.c (setup): Clarify the error message.
15940
18568d18
VS
159412010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15942
15943 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
15944
4f6a2e21
VS
159452010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15946
15947 * grub-core/kern/emu/misc.c
15948 (grub_make_system_path_relative_to_its_root)
15949 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
15950
159512010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
15952
15953 * grub-core/kern/emu/misc.c
15954 (grub_make_system_path_relative_to_its_root): Revert r2882.
15955
e138c458
VS
159562010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
15957
15958 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
15959 useless field head. All users updated.
15960 (free_subchunk): Correct handling of IN_REGION subchunk.
15961
0cbcdf0e
CW
159622010-10-22 Colin Watson <cjwatson@ubuntu.com>
15963
15964 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
15965 (Supported kernels): Likewise.
15966
b65ea155
GS
159672010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
15968
15969 Make mktemp invocations portable.
15970
15971 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
15972 exit if mktemp fails.
15973 * tests/grub_script_blockarg.in: Likewise.
15974 * tests/partmap_test.in: Likewise.
15975 * tests/util/grub-shell-tester.in: Likewise.
15976 * tests/util/grub-shell.in: Likewise.
15977 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15978 * Makefile.am: Likewise, and chain shell commands with `&&'
15979 instead of ';'.
15980 * util/grub-mkrescue.in: Use the same explicit template as above, and
15981 exit if mktemp fails.
15982
05f43cdd
BC
159832010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
15984
15985 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
15986 Linux kernel, reported by Dennis Schridde.
15987
800e6a9b
SJ
159882010-10-17 Szymon Janc <szymon@janc.net.pl>
15989
15990 * grub-core/normal/auth.c (grub_auth_check_authentication):
15991 Set-but-not-used variable removed.
15992
d82df574
VS
159932010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15994
15995 * docs/grub.texi (GNU/Linux): Document APM unavailability with
15996 32-bit linux protocol.
15997
7bced458
VS
159982010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
15999
16000 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
16001 cursor shape for sanity.
16002
5b027690
VS
160032010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16004
16005 * docs/grub.texi (Installation): Document buggy BIOS install.
16006
ba5f65cf
VS
160072010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16008
16009 * docs/grub.texi (Installation): Indent.
16010
fdf2ec9c
VS
160112010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16012
16013 * util/grub-setup.c (setup): New parameter allow_floppy.
16014 (arguments): New member allow_floppy.
16015 (argp_parser): Handle --allow-floppy.
16016 (main): Pass allow_floppy.
16017 * util/grub-install.in: New option --allow-floppy passed though to
16018 grub-setup.
16019
861dfd4c
VS
160202010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16021
16022 * util/grub-install.in: Handle partitionless disks.
16023
f77a8c24
VS
160242010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
16025
16026 * util/grub-setup.c (setup): Don't clean blocklists before readability
16027 verfification.
16028
27d9ee32
VS
160292010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16030
16031 * docs/grub.texi (Installation): Document embedding zone. Remove
16032 obsolete grub-install example.
16033
6bdda8f8
SJ
160342010-10-16 Szymon Janc <szymon@janc.net.pl>
16035
16036 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
16037 Set-but-not-used variable ifdef'ed.
16038 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
16039 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
16040 variable removed.
16041 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
16042 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
16043 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
16044 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
16045 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
16046 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
16047 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
16048 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
16049 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
16050 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
16051 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
16052 Likewise.
16053
e19b016b
VS
160542010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16055
16056 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
16057 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
16058 enum value.
16059
6c8d3002
VS
160602010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16061
16062 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
16063 synonym to _S5_. Needed for some DSDTs.
16064
c32b51c9
VS
160652010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16066
16067 Userspace ACPI parser debugging.
16068
16069 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
16070 headers and add relevant defines. Don't include standard headers.
16071 (main) [GRUB_DSDT_TEST]: New function.
16072 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
16073 Don't declare functions.
16074
fbfbeb39
VS
160752010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16076
16077 Remove dead grub_efi_mm_fini.
16078
16079 * grub-core/kern/efi/mm.c (allocated_page): Removed.
16080 (ALLOCATED_PAGES_SIZE): Likewise.
16081 (MAX_ALLOCATED_PAGES): Likewise.
16082 (allocated_pages): Likewise.
16083 (grub_efi_allocate_pages): Don't record allocated pages.
16084 (grub_efi_free_pages): Likewise.
16085 (grub_efi_mm_init): Likewise.
16086 (grub_efi_mm_fini): Removed.
16087
65f7ed7c
VS
160882010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16089
16090 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
16091 (grub_efi_mm_init): Take into account the memory map size increase.
16092
24977b44
VS
160932010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
16094
16095 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
16096 (serial_hw_put): Wait based on real time rather than port reads. Don't
16097 roken ports.
16098 * include/grub/serial.h (grub_serial_port): New field broken.
16099
1eb01cd2
RM
161002010-10-16 Robert Millan <rmh@gnu.org>
16101
16102 * grub-core/kern/emu/misc.c
16103 (grub_make_system_path_relative_to_its_root): Fix premature return
16104 when processing non-root ZFS filesystems.
5f8b440b 16105 Reported by Sergio Talens-Oliag.
1eb01cd2 16106
2d5fed60
RM
161072010-10-15 Robert Millan <rmh@gnu.org>
16108
16109 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
16110 guarantee compressed ones are processed first.
16111
d0f4c1ea
VS
161122010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16113
16114 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
16115 grub_efiemu_autocore.
16116
d87c681f
VS
161172010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
16118
16119 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
16120 rather than 0x1b.
16121 (grub_console_getkey): Use correct jae opcode rather than ja.
16122
219b3564
RM
161232010-10-12 Robert Millan <rmh@gnu.org>
16124
16125 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
16126 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
16127 variable. All references updated.
16128
16129 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
16130
20c6bb7e
VS
161312010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
16132
16133 Correctly distinguish mdraid flavours.
16134
16135 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
16136 (insert_array): New argument raid.
16137 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
16138 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
16139 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
16140
74baff84
VS
161412010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
16142
16143 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
16144 handling of special keys.
16145
3ef068df 161462010-10-02 Aleš Nesrsta <starous@volny.cz>
16147
c7980ad9
VS
16148 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
16149 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 16150
a9455194 161512010-10-02 Aleš Nesrsta <starous@volny.cz>
16152
c7980ad9
VS
16153 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
16154 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
16155 users updated.
a9455194 16156 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 16157 Use right endpoint when querying descriptor.
a9455194 16158
441cfe65
VS
161592010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
16160
16161 Clear out 0x80 color bit on EFI.
16162 Tested by: decoder
16163 Reported by: decoder and meta tech.
16164
16165 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
16166 (grub_console_setcolorstate): Clear out 0x80 bit.
16167 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
16168 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
16169 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
16170
bf26bcc4
VS
161712010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
16172
16173 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
16174 Set to "auto".
16175
6e3c515d
VS
161762010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16177
16178 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
16179 mo_file after freeing.
16180
e6d983ba
VS
161812010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16182
16183 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
16184
74ccb5b5
VS
161852010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16186
16187 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
16188 flags.
16189
17821956
VS
161902010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16191
16192 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
16193 usage.
16194
ee74fa48
VS
161952010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
16196
16197 Put terminfo into core on ieee1275 and yeeloong (needed for console).
16198
16199 * gentpl.py: New groups terminfoinkernel and terminfomodule.
16200 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
16201 and terminfo.h when needed.
16202 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
16203 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
16204 (terminfo): Enable only on terminfokernel.
16205 (extcmd): Likewise.
16206 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
16207 * include/grub/lib/arg.h: Likewise.
16208 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
16209 incorrect usage of ->.
16210
aa438e68
VS
162112010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16212
16213 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
16214 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
16215
57994012
VS
162162010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16217
16218 Fix coreboot compilation.
16219
16220 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16221 Take VBE info into account even if only text is supported.
16222 (fill_vbe_info): Take into account the case when only VGA text
16223 is supported.
16224 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
16225 on coreboot, multiboot and qemu.
16226
2a406611
VS
162272010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16228
16229 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
16230 debug messages.
16231 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
16232
d33613fc
VS
162332010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16234
16235 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
16236 parameters.
16237
44a1b432
VS
162382010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16239
16240 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
16241 if they were BSD-style.
16242
edde54e6
VS
162432010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16244
16245 * grub-core/boot/i386/pc/lnxboot.S: Replace
16246 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
16247 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
16248
b65830fa
VS
162492010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
16250
16251 Write embedding zone using Reed-Solomon.
16252
16253 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
16254 * grub-core/Makefile.am (rs_decoder.S): New target.
16255 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
16256 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
16257 (multiboot): Move to RS part.
16258 (post_reed_solomon): New label.
16259 (grub_boot_drive): Move to non-RS part since it's modified in memory
16260 on boot.
16261 Include rs_decoder.S.
16262 * grub-core/lib/reed_solomon.c: New file.
16263 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
16264 New definition.
16265 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
16266 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
16267 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
16268 * include/grub/partition.h (grub_partition_map): Change prototype of
16269 embed to allow returning additional sectors.
16270 * include/grub/reed_solomon.h: New file.
16271 * util/grub-setup.c (setup): Handle Reed-Solomon.
16272
0b4b227f
CW
162732010-09-28 Colin Watson <cjwatson@ubuntu.com>
16274
16275 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
16276 i386 and x86-64 definedness tests.
16277
f772623b
YB
162782010-09-27 Yves Blusseau <blusseau@zetam.org>
16279
16280 Fix generation of kernel_syms.lst
16281
16282 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
16283 ASM_PREFIX
16284
8e57a6ca
RM
162852010-09-26 Robert Millan <rmh@gnu.org>
16286
16287 Support degraded ZFS arrays in "grub-probe -t device" resolution.
16288
16289 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
16290 the pool is an array of devices, iterate through it and return the
16291 first device that passes a stat() test (instead of blindly returning
16292 the first one).
16293
f9130836
RM
162942010-09-26 Robert Millan <rmh@gnu.org>
16295
16296 Build fixes for GNU/kFreeBSD.
16297
16298 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
16299 to programs that require ZFS conversion.
16300 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
16301 kernels that don't have FLOPPY_MAJOR.
16302
96510faf
BC
163032010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
16304
16305 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
16306
449333eb
BC
163072010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
16308
16309 Fix grub-emu build.
16310
16311 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
16312 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
16313 mdraid09 and mdraid1x.
16314
e1fd1939
CW
163152010-09-24 Colin Watson <cjwatson@ubuntu.com>
16316
16317 Re-enable grub-extras.
16318
16319 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
16320 avoid confusing Automake. Run autogen only twice, once for the top
16321 level and once for grub-core. Add Makefile.util.def and
16322 Makefile.core.def from extra modules to the appropriate autogen
16323 invocations. If Makefile.common exists in an extra module, include
16324 it in both Makefile.util.am and grub-core/Makefile.core.am;
16325 similarly, include any Makefile.util.common file in Makefile.util.am
16326 and any Makefile.core.common file in grub-core/Makefile.core.am.
16327 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
16328 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
16329 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
16330 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
16331
16332 * gentpl.py (gvar_add): Turn GVARS into a set.
16333 (global_variable_initializers): Sort global variables on output.
16334 (vars_init): New function.
16335 (first_time): Likewise.
16336 (library): Ensure that non-global variable initialisations are
16337 emitted before the first time we emit code for a library block.
16338 Append to variables rather than setting them. Only emit
16339 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
16340 each conditional path.
16341 (program): installdir() emits an Autogen macro, so must be passed to
16342 var_add rather than gvar_add.
16343 (data): Likewise.
16344 (script): Likewise.
16345 (rules): New function, centralising handling for different target
16346 types. Set up Guile association lists for first_time and vars_init,
16347 and send most output to a diversion so that variable initialisations
16348 can be emitted first.
16349 (module_rules): Use new rules function.
16350 (kernel_rules): Likewise.
16351 (image_rules): Likewise.
16352 (library_rules): Likewise.
16353 (program_rules): Likewise.
16354 (script_rules): Likewise.
16355 (data_rules): Likewise.
16356
16357 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
16358
16359 * .bzrignore: Add contrib and grub-core/contrib. Remove
16360 grub-core/Makefile.gcry.am.
16361
1d12cf29
YB
163622010-09-24 Yves Blusseau <blusseau@zetam.org>
16363
16364 * grub-core/lib/LzFind.c: Add missing include.
16365 * grub-core/lib/LzmaEnc.c: Likewise.
16366 * grub-core/script/lexer.c: Likewise.
16367 * grub-core/script/yylex.l: Likewise.
16368 * util/grub-macho2img.c: Likewise.
16369 * util/grub-menulst2cfg.c: Likewise.
16370 * util/grub-mklayout.c: Likewise.
16371 * util/grub-mkpasswd-pbkdf2.c
16372 * util/grub-mkrelpath.c: Likewise.
16373 * util/resolve.c: Likewise.
16374
dd363028
BC
163752010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
16376
16377 * Makefile.util.def (example_unit_test): Add
16378 grub-core/gnulib/libgnu.a.
16379
f5a109e2
GS
163802010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
16381
16382 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
16383
6d0fa83c
VS
163842010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
16385
16386 Support xz compression on yeeloong.
16387
16388 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
16389 * configure.ac: Check for LZMA.
16390 * grub-core/Makefile.core.def (xz_decompress): New target.
16391 (none_decompress): Likewise.
16392 * grub-core/boot/decompressor/minilib.c: New file.
16393 * grub-core/boot/decompressor/none.c: Likewise.
16394 * grub-core/boot/decompressor/xz.c: Likewise.
16395 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
16396 * grub-core/kern/mips/cache_flush.S: Likewise.
16397 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
16398 * grub-core/kern/mips/startup.S: Move first stage to ...
16399 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
16400 nomacro.
16401 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
16402 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
16403 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
16404 Allocate statically.
16405 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
16406 Allocate statically or use scratch. Don't check CRC32.
16407 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
16408 Allocate statically. Don't check CRC32.
16409 * include/grub/decompressor.h: New file.
16410 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
16411 Removed.
16412 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
16413 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
16414 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
16415 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
16416 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
16417 * util/grub-mkimage.c (grub_compression_t): New type.
16418 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
16419 (image_target_desc): New field default_compression.
16420 (image_targets): Adjust yeeloong targets.
16421 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
16422 (compress_kernel): New parameter comp.
16423 (generate_image): Likewise. Handle new compression case.
16424 (options): New option --compression
16425 (help): Likewise.
16426 (main): Handle new option.
16427
1b655af6
GS
164282010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
16429
16430 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
16431
8f03f0b5
CW
164322010-09-22 Colin Watson <cjwatson@ubuntu.com>
16433
16434 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
16435 typo in __i386__ conditional.
16436
7835dfd3
VS
164372010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
16438
16439 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
16440 include.
16441
e255597e
VS
164422010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
16443
6d0fa83c 16444 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
16445
16446 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
16447 new tags as supported.
16448 (acpiv2_size): New function.
16449 (grub_multiboot_get_mbi_size): Take new tags into account.
16450 (grub_multiboot_make_mbi): Add new tags.
16451 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 16452
6cc14051 164532010-09-21 Aleš Nesrsta <starous@volny.cz>
16454
16455 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
16456 Added missing configuration of USB device.
16457
df7769d8
CW
164582010-09-21 Colin Watson <cjwatson@ubuntu.com>
16459
16460 * grub-core/normal/menu_entry.c (run): Make sure we always return
16461 a value.
16462
b031012d
CW
164632010-09-21 Colin Watson <cjwatson@ubuntu.com>
16464
16465 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
16466 NumberOfPages is UINT64 according to the UEFI specification, not
16467 UINTN. Fix printf format.
16468
174de8f3
CW
164692010-09-21 Colin Watson <cjwatson@ubuntu.com>
16470
16471 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
16472 `err' to grub_usb_err_t.
16473 Reported and tested by: KESHAV P.R.
16474
d7dbe923
CW
164752010-09-21 Colin Watson <cjwatson@ubuntu.com>
16476
16477 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
16478 tpart non-const, so that we can assign to it. (Since this is a
16479 typedef, the constness refers to the pointer rather than what it
16480 points to.)
16481
8d5e2af3
CW
164822010-09-21 Colin Watson <cjwatson@ubuntu.com>
16483
16484 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
16485 $(top_srcdir)/grub-core/gnulib as well as
16486 $(top_builddir)/grub-core/gnulib.
16487 Reported by: KESHAV P.R.
16488
5c527783
CW
164892010-09-21 Colin Watson <cjwatson@ubuntu.com>
16490
16491 * util/grub-install.in: Fix the bootloader ID option to be
16492 consistently --bootloader-id, not --bootloader_id.
16493 Reported by: KESHAV P.R.
16494
d309a16e
CW
164952010-09-21 Colin Watson <cjwatson@ubuntu.com>
16496
16497 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
16498 check hash checksum." consistently translatable.
16499
b830cd16
YB
165002010-09-21 Yves Blusseau <blusseau@zetam.org>
16501
16502 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
16503 $(top_builddir).
16504
c4fe27a8
CW
165052010-09-21 Colin Watson <cjwatson@ubuntu.com>
16506
16507 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
16508 (GRUB_MOD_INIT): Register sha1sum command.
16509 (GRUB_MOD_FINI): Unregister sha1sum command.
16510
a4c1d277
YB
165112010-09-21 Yves Blusseau <blusseau@zetam.org>
16512
16513 Keep boot and grub directory names in sync with utils scripts
16514
16515 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
16516 * config.h.in: Add previous macros.
16517 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
16518 * util/grub-install.in: Use $bootdir and $grubdir variables.
16519
4eff79d2
CW
165202010-09-21 Colin Watson <cjwatson@ubuntu.com>
16521
16522 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
16523 convert partition names to disk names if the new `convert' parameter
16524 is set.
16525 (grub_util_biosdisk_get_grub_dev): If opening the disk device
16526 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
16527 disk in its own right. This can happen with Xen disk images.
16528
934d7e44
YB
165292010-09-21 Yves Blusseau <blusseau@zetam.org>
16530
16531 * util/grub-editenv.c: Update strings to avoid warnings when generating
16532 grub.pot file.
16533 * util/grub-setup.c: Likewise.
934d7e44 16534
df3367cc
VS
165352010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
16536
16537 * configure.ac: Change version to 1.99~beta0.
16538
77a94e98
VS
165392010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
16540
16541 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
16542 Add BADRAM.
16543 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
16544 Likewise.
16545 * include/multiboot.h: Resynced with specification.
16546 * include/multiboot2.h: Likewise.
16547
269004c1
CW
165482010-09-21 Colin Watson <cjwatson@ubuntu.com>
16549
16550 Fix po directory handling.
16551
16552 * configure.ac: Create po/Makefile.in rather than po/Makefile.
16553 * grub-core/gnulib/Makefile.am: Import gettext module.
16554 * m4/gnulib-cache.m4: Likewise.
16555 * m4/gnulib-comp.m4: Likewise.
16556 * m4/gettext.m4: New file, from gnulib.
16557 * m4/glibc2.m4: Likewise.
16558 * m4/iconv.m4: Likewise.
16559 * m4/intdiv0.m4: Likewise.
16560 * m4/intl.m4: Likewise.
16561 * m4/intldir.m4: Likewise.
16562 * m4/intlmacosx.m4: Likewise.
16563 * m4/intmax.m4: Likewise.
16564 * m4/inttypes-pri.m4: Likewise.
16565 * m4/lcmessage.m4: Likewise.
16566 * m4/lib-ld.m4: Likewise.
16567 * m4/lib-link.m4: Likewise.
16568 * m4/lib-prefix.m4: Likewise.
16569 * m4/lock.m4: Likewise.
16570 * m4/nls.m4: Likewise.
16571 * m4/po.m4: Likewise.
16572 * m4/printf-posix.m4: Likewise.
16573 * m4/progtest.m4: Likewise.
16574 * m4/threadlib.m4: Likewise.
16575 * m4/uintmax_t.m4: Likewise.
16576 * m4/visibility.m4: Likewise.
16577 * po/Makefile.am: Remove.
16578 * po/Makefile.in.in: New file, from gettext.
16579 ($(DOMAIN).pot-update): Support POTFILES-shell.
16580 * po/Makevars: New file.
16581 * po/POTFILES-shell: Rename to ...
16582 * po/POTFILES-shell.in: ... this. Update.
16583 * po/POTFILES: Rename to ...
16584 * po/POTFILES.in: ... this. Update.
16585 * po/Rules-quot: New file, from gettext.
16586 * po/boldquot.sed: Likewise.
16587 * po/en@boldquot.header: Likewise.
16588 * po/en@quot.header: Likewise.
16589 * po/insert-header.sin: Likewise.
16590 * po/quot.sed: Likewise.
16591 * po/remove-potcdate.sin: Likewise.
16592
3e0fa5d0
VS
165932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16594
16595 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
16596
ade9bd66
VS
165972010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16598
16599 * util/grub.d/20_linux_xen.in: Use submenus.
16600
fc55cc4c
VS
166012010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16602
16603 Support submenus.
16604
16605 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
16606 parameter submenu. All users updated.
16607 * grub-core/normal/main.c (free_menu): Rename to ...
16608 (grub_normal_free_menu): ... this. Made global.
16609 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
16610 if requested.
16611 * grub-core/normal/menu_entry.c (screen): New field submenu.
16612 (make_screen): Set submenu.
16613 (run): Open new context if requested.
16614 * include/grub/menu.h (grub_menu_entry): New field submenu.
16615 * include/grub/normal.h (grub_normal_free_menu): New proto.
16616
600cedf7
VS
166172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16618
16619 Menu entries extractor.
16620
16621 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
16622 variants.
16623 (GRUB_MOD_INIT): Register new variants.
16624 (GRUB_MOD_FINI): Unregister new variants.
16625 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
16626 into grub_cmd_legacy_source.
16627 (grub_cmd_legacy_source): Implement extractor variants.
16628 (GRUB_MOD_INIT): Register new variants.
16629 (GRUB_MOD_FINI): Unregister new variants.
16630 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
16631 as an extractor.
16632 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
16633 search as an extractor.
16634 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
16635 test as an extractor.
16636 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
16637 as an extractor.
16638 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
16639 (grub_env_new_context): New function.
16640 (grub_env_context_open): Likewise.
16641 (grub_env_extractor_open): Likewise.
16642 (grub_env_extractor_close): Likewise.
16643 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
16644 grub_extractor_level.
16645 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
16646 * include/grub/env.h (grub_env_extractor_open): New proto.
16647 (grub_env_extractor_close): Likewise.
16648 * include/grub/normal.h (grub_extractor_level): New external variable.
16649
7bda3a87
VS
166502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16651
16652 Make cutmem accept a region specification.
16653 Suggested by: Samuel Thibault
16654
16655 * grub-core/mmap/mmap.c (parsemem): New function.
16656 (grub_cmd_cutmem): Handle new arguments.
16657
2ea57f88
VS
166582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16659
16660 New command cutmem.
16661
16662 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
16663 (GRUB_MOD_INIT): Register new command.
16664 (GRUB_MOD_FINI): Unregister new command.
16665
74342e31
VS
166662010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16667
16668 Support some annoying BSD and Minix subpartitions.
16669
16670 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
16671 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
16672 Properly handle concatenation.
16673 * grub-core/kern/device.c (grub_device_iterate): Likewise.
16674 * grub-core/normal/completion.c (iterate_partition): Likewise.
16675 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
16676 contain partition. All users updated.
16677 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
16678 struct.
16679 (grub_openbsdlabel_partition_map): Likewise.
16680 (bsdlabel_partition_map_iterate): Rename to ..
16681 (iterate_real): ... this. New arguments sector, freebsd and pmap.
16682 (bsdlabel_partition_map_iterate): New function.
16683 (netopenbsdlabel_partition_map_iterate): Likewise.
16684 (netbsdlabel_partition_map_iterate): Likewise.
16685 (openbsdlabel_partition_map_iterate): Likewise.
16686 (GRUB_MOD_INIT): Register new partmaps.
16687 (GRUB_MOD_FINI): Unregister new partmaps.
16688 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
16689 (grub_partition_msdos_iterate): ... this. All users updated.
16690 Don't support embedding other than in a minix partition.
16691 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
16692 proto.
16693 * include/grub/partition.h (grub_partition): New field msdostype.
16694 * util/grub-install.in: Handle openbsd and netbsd types being in
16695 part_bsd module.
16696
1e8d555b
VS
166972010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16698
16699 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
16700
16701 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
16702 * grub-core/Makefile.core.def (mdraid): Renamed to ...
16703 (mdraid09): ... this.
16704 (mdraid1x): New module.
16705 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
16706 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
16707
899d8af4
VS
167082010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16709
16710 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
16711 vsprintf.
16712
40901acd
CW
167132010-09-20 Colin Watson <cjwatson@ubuntu.com>
16714
16715 * grub-core/commands/efi/lsefimmap.c: Correct header.
16716 * NEWS: Update.
16717
dfe3b247
CW
167182010-09-20 Colin Watson <cjwatson@ubuntu.com>
16719
16720 * util/grub-editenv.c (argp_parser): Don't pass translated strings
16721 as printf format strings; the translations might contain '%' which
16722 could cause a crash.
16723 (main): Likewise.
16724 * util/grub-fstest.c (argp_parser): Likewise.
16725 * util/grub-setup.c (argp_parser): Likewise.
16726 (main): Likewise.
16727
3286a4b4
VS
167282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16729
16730 Use argp in grub-fstest.
16731
16732 * util/grub-fstest.c: Don't include getopt.h.
16733 Include argp.h.
16734 (root): New variable.
16735 (args_count): Likewise.
16736 (nparm): Likewise.
16737 (num_disks): Likewise.
16738 (images): Likewise.
16739 (cmd): Likewise.
16740 (debug_str): Likewise.
16741 (args): Likewise.
16742 (options): Transformed to argp.
16743 (usage): Removed.
16744 (main): Split argument parsing into ...
16745 (argp_parser): ... this. Changed to argp format.
16746 (argp): New variable.
16747 (main): Use argp_parse.
16748
3dccbe4b
TG
167492010-09-20 Tristan Gingold <gingold@free.fr>
167502010-09-20 Robert Millan <rmh.grub@aybabtu.com>
167512010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16752
16753 * grub-core/commands/efi/lsefimmap.c: New file.
16754 * grub-core/Makefile.core.def (lsefimmap): New module.
16755 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
16756
38c259a7
VS
167572010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16758
16759 Pause the execution (10s max) if any errors are displayed so the user
16760 has a chance to see them.
16761
16762 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
16763 (grub_print_error): Increment grub_err_printed_errors.
16764 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
16765 execution if any errors were displayed.
16766 (show_menu): Remove old code for pause.
16767 * grub-core/normal/menu_entry.c (run): Likewise.
16768 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
16769 users updated.
16770 (grub_normal_get_char_counter): Likewise.
16771 * include/grub/err.h (grub_err_printed_errors): New external variable.
16772 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
16773
f218b09c
VS
167742010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16775
16776 Support multiboot VBE info.
16777
16778 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16779 Take VBE info into account.
16780 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
16781 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
16782 Call fill_vbe_info when appropriate.
16783 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
16784 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
16785 as supported.
16786 (grub_multiboot_get_mbi_size): Take new tags into account.
16787 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
16788 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
16789 Call fill_vbe_tag when appropriate.
16790 (grub_multiboot_make_mbi): Properly align tags.
16791 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
16792 function.
16793 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
16794 proto.
16795 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
16796
a9cc5438
VS
167972010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16798
16799 Suport manual terminal geometry specification.
16800
16801 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
16802 Save state in grub_ofconsole_terminfo_output.
16803 (grub_ofconsole_term): Use grub_terminfo_getwh.
16804 (grub_ofconsole_getwh): Removed.
16805 * grub-core/term/serial.c (grub_serial_getwh): Removed.
16806 (grub_serial_term): Use grub_terminfo_getwh.
16807 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
16808 (options): New struct.
16809 (OPTION_*): New enum.
16810 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
16811 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
16812 width and height.
16813 (grub_terminfo_getwh): New proto.
16814 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
16815
1a8fed20
VS
168162010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16817
16818 Handle legacy "terminal" command.
16819
16820 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
16821 and FLAG_TERMINAL.
16822 (legacy_commands): Add terminal and title.
16823 (grub_legacy_parse): Handle terminal. Simplify title handling.
16824
41e9c57d
VS
168252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16826
16827 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
16828 parameters overflow.
16829
61c874c5
CW
168302010-09-20 Colin Watson <cjwatson@ubuntu.com>
16831
16832 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
16833 widthspec.h.
16834
16835 * docs/grub.texi (Shell-like scripting): Document `!'.
16836 (Network): Simplify using new i386-pc-pxe format. Mention
16837 grub-mknetdir.
16838
16839 * NEWS: Update.
16840
943682b4
CW
168412010-09-20 Colin Watson <cjwatson@ubuntu.com>
16842
16843 * Makefile.am (SUBDIRS): Restore "."; it's important to force
16844 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
16845 when needed.
16846
6d3d698d
CW
168472010-09-20 Colin Watson <cjwatson@ubuntu.com>
16848
16849 * grub-core/commands/efi/lsefisystab.c: Correct header.
16850 * grub-core/commands/efi/lssal.c: Likewise.
16851 * grub-core/commands/testload.c: Likewise.
16852
c982589f
CW
168532010-09-20 Colin Watson <cjwatson@ubuntu.com>
16854
16855 * util/grub-mkrescue.in: Add explicit root argument to --set to
16856 prevent the UUID being interpreted as an argument to --set (matches
16857 previous change to prepare_grub_to_access_device).
16858
a63c31b6
CW
168592010-09-20 Colin Watson <cjwatson@ubuntu.com>
16860
16861 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
16862 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
16863 the verbosity of later #ifs.
16864 (find_partition_start): Define this function on FreeBSD too.
16865 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
16866 function.
16867 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
16868 on FreeBSD.
16869
6439b8ee
YB
168702010-09-20 Yves Blusseau <blusseau@zetam.org>
16871
16872 * util/grub-editenv.c: Use argp instead of getopt.
16873
c5930ec8
YB
168742010-09-20 Yves Blusseau <blusseau@zetam.org>
16875
16876 * util/grub-setup.c: Use argp instead of getopt.
16877
15c69261
YB
168782010-09-20 Yves Blusseau <blusseau@zetam.org>
16879
16880 Use gnulib-tool to create gnulib source files.
16881
16882 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
16883 grub-core/gnulib directories
16884 * .bzignore: Add **/.deps and autogenerated gnulib files
16885 * configure.ac: Assign auxiliary directory to build-aux, add invocation
16886 of gnulib macros, add grub-core/gnulib/Makefile
16887 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
16888 include m4 directory to aclocal.
16889 * Makefile.util.def: Remove direct compilation of gnulib source files
16890 and use the new grub-core/gnulib/libgnu.a.
16891 * build-aux/config.rpath: move config.rpath from top directory to
16892 build-aux
16893 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
16894 in gnulib headers
16895 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
16896 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
16897 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
16898 header.
16899 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
16900 string.
16901
e511c9f5
YB
169022010-09-20 Yves Blusseau <blusseau@zetam.org>
16903
16904 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
16905 grub-core/genmod.sh and grub-core/gensyminfo.sh
16906
c2dede05
BC
169072010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
16908
16909 Add a test for echo command options.
16910
16911 * tests/grub_cmd_echo.in: New test.
16912 * Makefile.util.def: Rules for new test.
16913
c55f5018
SJ
169142010-09-20 Szymon Janc <szymon@janc.net.pl>
16915
16916 Remove crc.mod and move crc command to hashsum.mod.
16917 Remove lib/crc.c - users updated to use gcrypt implementation.
16918
16919 * grub-core/commands/crc.c: Removed.
16920 * grub-core/Makefile.core.def (crc): Module removed.
16921 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
16922 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
16923 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
16924 * grub-core/lib/crc.c: Removed.
16925 * include/grub/lib/crc.h: Removed.
16926 * Makefile.util.def (crc): Remove lib/crc.c
16927 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
16928 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
16929 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
16930 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
16931 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
16932 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
16933
e0337366
VS
169342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
16935
16936 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
16937
742f9232
VS
169382010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16939
16940 Split config.h for util and core.
16941
16942 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
16943 (ADDR32): Likewise.
16944 (DATA32): Likewise.
16945 (BSS_START_SYMBOL): Likewise.
16946 (END_SYMBOL): Likewise.
16947 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
16948 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
16949 * config.h.in: New file.
16950 * configure.ac: Use config-util.h as config define file.
16951 Rename MACHINE into GRUB_MACHINE. All users updated.
16952 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
16953 updated.
16954 (NESTED_FUNC_ATTR): Likewise.
16955 Substitue new variables.
16956 (COND_HAVE_ASM_USCORE): New conditional.
16957 * grub-core/Makefile.am (ASM_PREFIX): New variable.
16958 (kernel_syms.lst): Use ASM_PREFIX.
16959 * grub-core/kern/emu/console.c: Include config-util.h.
16960 * grub-core/kern/emu/misc.c: Likewise.
16961 * grub-core/kern/emu/mm.c: Likewise.
16962 * include/grub/emu/misc.h: Likewise.
16963 * include/grub/libgcc.h: Likewise.
16964
39feb0e8
VS
169652010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16966
16967 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
16968 constants usage.
16969 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
16970 Fix GRUB_TERM_KEY_* constants usage.
16971 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
16972
9af6dac3
VS
169732010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16974
16975 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
16976 print pointer.
16977 * grub-core/bus/usb/uhci.c: Remove empty define.
16978 (grub_uhci_check_transfer): Add missing cast.
16979 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
16980 print pointer.
16981 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
16982 PRIuGRUB_SIZE.
16983 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
16984
d6d94820
VS
169852010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
16986
16987 * grub-core/Makefile.core.def (legacycfg): Add
16988 lib/i386/pc/vesa_modes_table.c on emu.
16989
3572f2b6
BC
169902010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
16991
16992 Reduce number of temporary files generated by build system.
16993
16994 * grub-core/gencmdlist.sh: Removed.
16995 * grub-core/genfslist.sh: Removed.
16996 * grub-core/genhandlerlist.sh: Removed.
16997 * grub-core/genmodsrc.sh: Removed.
16998 * grub-core/genpartmaplist.sh: Removed.
16999 * grub-core/genparttoollist.sh: Removed.
17000 * grub-core/gentermiinallist.sh: Removed.
17001 * grub-core/genvideolist.sh: Removed.
17002
17003 * grub-core/genmod.sh.in: New file.
17004 * grub-core/gensyminfo.sh.in: New file.
17005
17006 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
17007 * conf/Makefile.extra-dist: Update with new files.
17008 * gentpl.py: Remove rules related to unnecessary temporary files.
17009 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
17010 and und-* files.
17011 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
17012 genmod.sh scripts.
17013 * grub-core/bus/usb/uhci.c: Remove empty #define.
17014 * grub-core/genmoddep.awk: Updated with new syminfo format.
17015 * util/bash-completion.d/Makefile.am: Add config.log to
17016 CLEANFILES.
17017
c836b030
YB
170182010-09-19 Yves Blusseau <blusseau@zetam.org>
17019
17020 * Makefile.util.def: Add forgotten $(LIBINTL) library.
17021
2f4e8053
BC
170222010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
17023
17024 * util/grub-mkconfig.in: Check the config script for syntax errors
17025 before saving.
17026
75831c34
CW
170272010-09-19 Colin Watson <cjwatson@ubuntu.com>
170282010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17029
17030 * Makefile.util.def (grub-install): Use util/grub-install.in on all
17031 platforms.
17032 * util/grub-install.in: Add EFI and IEEE1275 support.
17033 * util/i386/efi/grub-install.in: Removed.
17034 * util/ieee1275/grub-install.in: Likewise.
17035
eaf41b25
VS
170362010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
17037
17038 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
17039 (grub_cmd_cmosclean): Likewise.
17040 (GRUB_MOD_INIT): Register command cmosclean.
17041 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
17042 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
17043
1a9130dd
CPE
170442010-09-18 Carles Pina i Estany <carles@pina.cat>
170452010-09-18 Aleš Nesrsta <starous@volny.cz>
170462010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
17047
17048 Add keyboard layouts support.
17049
17050 * Makefile.util.def (grub-mklayout): New file.
17051 (grub-kbdcomp): New script.
17052 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
17053 Add keyboard_layouts.h.
17054 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
17055 commands/boot.c on yeeloong.
17056 (keylayouts): New module.
17057 * grub-core/bus/usb/ohci.c
17058 * grub-core/bus/usb/uhci.c
17059 * grub-core/bus/usb/usbhub.c (rescan): New variable.
17060 (grub_usb_add_hub): Poll interrupt pipe for device handling.
17061 (attach_root_port): Likewise.
17062 (poll_nonroot_hub): Likewise.
17063 (grub_usb_poll_devices): Likewise.
17064 (detach_device): Close transfer.
17065 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
17066 function.
17067 (grub_usb_bulk_setup_readwrite): Likewise.
17068 (grub_usb_bulk_finish_readwrite): Likewise.
17069 * grub-core/commands/keylayouts.c: New file.
17070 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
17071 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
17072 aliases.
17073 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
17074 support scancode 2.
17075 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
17076 * include/grub/keyboard_layouts.h: New file.
17077 * util/grub-mklayout.c: New file.
17078 * util/grub-kbdcomp.in: Likewise.
17079
a1d84a5e
VS
170802010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
17081
17082 Unify memory types.
17083
17084 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
17085 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
17086 types.
17087 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
17088 (grub_upper_mem): Likewise.
17089 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
17090 * include/grub/memory.h (grub_memory_type_t): New enum.
17091 All users updated.
17092
9696382e
VS
170932010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
17094
17095 * grub-core/Makefile.core.def (lsapm): New module.
17096 * grub-core/commands/i386/pc/lsapm.c: New file.
17097 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
17098 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
17099 Likewise.
17100 * include/grub/i386/pc/apm.h: New file.
17101 * include/multiboot.h (multiboot_apm_info): New struct.
17102
171032010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
17104
17105 GRUB-legacy configuration file support.
17106
17107 * Makefile.util.def (grub-menulst2cfg): New util.
17108 * docs/man/grub-menulst2cfg.h2m: New file.
17109 * grub-core/Makefile.core.def (legacycfg): New module.
17110 * grub-core/commands/legacycfg.c: New file.
17111 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
17112 (grub_normal_add_menu_entry): ... this.
17113 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
17114 (grub_normal_set_password): ...this.
17115 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
17116 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
17117 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
17118 * grub-core/lib/legacy_parse.c: New file.
17119 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
17120 * include/grub/i386/pc/vesa_modes_table.h: New file.
17121 * include/grub/legacy_parse.h: Likewise.
17122 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
17123 * util/grub-menulst2cfg.c: New file.
17124
bf8d1338
CW
171252010-09-17 Colin Watson <cjwatson@ubuntu.com>
17126
17127 * grub-core/kern/emu/hostdisk.c
17128 (convert_system_partition_to_system_disk): Initialise node.
17129
9c0bad2e
CW
171302010-09-17 Colin Watson <cjwatson@ubuntu.com>
17131
17132 * grub-core/kern/emu/hostdisk.c
17133 (convert_system_partition_to_system_disk): Fix devmapper memory pool
17134 leak.
17135 Reported and based on patch by: Modestas Vainius.
17136
a939d135
CW
171372010-09-17 Colin Watson <cjwatson@ubuntu.com>
17138
17139 Fix DM-RAID probing with recent versions of device-mapper udev
17140 rules.
17141
17142 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
17143 canonicalise device paths under /dev/mapper/.
17144 (convert_system_partition_to_system_disk): Compare the
17145 uncanonicalised path to /dev/mapper/ rather than the canonicalised
17146 path, since device nodes under /dev/mapper/ are often symlinks.
17147
0f7ee3c9
YB
171482010-09-17 Yves Blusseau <blusseau@zetam.org>
17149
17150 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
17151
10854d0d
YB
171522010-09-16 Yves Blusseau <blusseau@zetam.org>
17153
17154 * configure.ac: Avoid some annoying error messages if freetype-config
17155 program is not found.
17156
108538d8
CW
171572010-09-16 Colin Watson <cjwatson@ubuntu.com>
17158
17159 Support RAID on virtio devices, and others.
17160
17161 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
17162 Rename to ...
17163 [__MINGW32__] (grub_find_device): ... this.
17164 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
17165 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
17166 reasonable default if dir is NULL.
17167 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
17168 ...
17169 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
17170 (grub_guess_root_device): Update callers.
17171 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
17172
17173 * util/raid.c (grub_util_getdiskname): Remove.
17174 (grub_util_raid_getmembers): Use grub_find_device rather than
17175 grub_util_getdiskname.
17176
e5bfc130
CW
171772010-09-16 Colin Watson <cjwatson@ubuntu.com>
17178
17179 * docs/grub.texi (serial): Remove obsolete comment about GRUB
17180 needing to be compiled with serial support.
17181 (ls): Indicate that multiple files are accepted.
17182 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
17183 indicate that multiple files are accepted.
17184
be458ae2
CW
171852010-09-16 Colin Watson <cjwatson@ubuntu.com>
17186
17187 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
17188 libgrub_a_init.c, and util/bash-completion.d/grub.
17189
cb731b5e
VS
171902010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17191
17192 * util/grub-setup.c (setup): Fix incorrect container semantics.
17193
35139e8a
VS
171942010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17195
17196 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
17197 misusage.
17198 Reported by: J. Nick Terry
17199
e50fca4a
VS
172002010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17201
17202 Move embedding routines to partmap sources files.
17203
17204 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
17205 [GRUB_UTIL]: New variable.
17206 (gpt_partition_map_iterate): Set part.parent.
17207 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
17208 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
17209 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
17210 New function.
17211 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
17212 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
17213 (grub_partition_map) [GRUB_UTIL]: New field embed.
17214 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
17215 (setup): Use ->embed.
17216
f00478b7
VS
172172010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17218
17219 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
17220 function.
17221 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
17222 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
17223
2b94e3ff
YB
172242010-09-15 Yves Blusseau <blusseau@zetam.org>
17225
17226 Add function to get completions from usage.
17227
17228 * util/bash-completion.d/grub-completion.bash.in: Add function to get
17229 completions from usage. Use LC_ALL=C to get options properly.
17230
2e04a006
VS
172312010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17232
17233 * grub-core/gnulib/basename-lgpl.c: Imported.
17234 * grub-core/gnulib/basename.c: Likewise.
17235 * grub-core/gnulib/dirname-lgpl.c: Likewise.
17236 * grub-core/gnulib/dirname.c: Likewise.
17237 * grub-core/gnulib/dirname.h: Likewise.
17238 * grub-core/gnulib/stripslash.c: Likewise.
17239
5dcdf93a
VS
172402010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17241
17242 * grub-core/gnulib/error.c: Resynced.
17243 * grub-core/gnulib/getopt.c: Likewise.
17244 * grub-core/gnulib/getopt_int.h: Likewise.
17245 * grub-core/gnulib/regex.h: Likewise.
17246 * grub-core/gnulib/regex_internal.c: Likewise.
17247 * grub-core/gnulib/regex_internal.h: Likewise.
17248
014f47b7
SJ
172492010-09-15 Szymon Janc <szymon@janc.net.pl>
17250
17251 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
17252 CRC calculations and validity checks.
17253 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
17254 calculations.
17255
dd521a4a
SJ
172562010-09-15 Szymon Janc <szymon@janc.net.pl>
17257
17258 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
17259
79c4eeb9
VS
172602010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17261
17262 Fix incorrect echo options handling.
17263 Reported by: Yves Blusseau.
17264
17265 * include/grub/command.h (grub_command_flags_t): New flags
17266 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
17267 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
17268 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
17269
ed80f7d5
VS
172702010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17271
17272 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
17273 users updated.
17274 (GRUB_COMMAND_FLAG_MENU): Likewise.
17275 (GRUB_COMMAND_FLAG_BOTH): Likewise.
17276 (GRUB_COMMAND_FLAG_TITLE): Removed.
17277 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
17278 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
17279 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
17280 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
17281 (grub_command_flags_t): New enum. All users updated.
17282
5fe7620a
SG
172832010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
17284
17285 Fix solaris compilation.
17286
17287 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
17288 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
17289 (grub-emu-list): Likewise.
17290
545b752f
VS
172912010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17292
17293 Remove deprecated root command.
17294
17295 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
17296 updated.
17297
6c1a338c
VS
172982010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17299
17300 * util/i386/pc/grub-setup.c: Merge this ...
17301 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
17302 * util/grub-setup.c: ... into this.
17303 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
17304 New struct.
17305
173062010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17307
17308 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
17309 possible.
17310
d2ea4551
VS
173112010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17312
17313 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
17314 allocate p.
17315
3c3b5040
VS
173162010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17317
17318 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
17319 explicit root argument to set to prevent UUID to be interpreted as
17320 argument to set.
17321
b71c3fae
VS
173222010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17323
17324 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
17325
275433e6
VS
173262010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17327
17328 Don't export grub_gate_a20.
17329
17330 * grub-core/kern/i386/pc/init.c: Remove leftovers.
17331 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
17332 to ...
17333 (grub_gate_a20): ... this. All users updated.
17334 * include/grub/i386/pc/init.h: Removed. All users updated.
17335
a5dbb1f1
VS
173362010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17337
17338 Create euro.pf2 which supports most European languages.
17339
17340 * Makefile.am (grubdata_DATA): Add euro.pf2.
17341 (euro.pf2): New target.
17342 (CLEANFILES): Add euro.pf2.
17343
62a747cb
VS
173442010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
17345
17346 * configure.ac: Disable emu-usb by default to prevent inadvertent
17347 device takeover.
17348
608e43b1
VS
173492010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17350
17351 Disable usbserial on grub-emu since our libusb code isn't good enough
17352 yet.
17353
17354 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
17355 (usbserial_pl2303): Likewise.
17356 (usbserial_ftdi): Likewise.
17357
94564f81
VS
173582010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17359
17360 * include/grub/disk.h (grub_disk): Remove has_partitions.
17361 All users updated.
17362 * disk/loopback.c (grub_loopback): Remove has_partitions.
17363 All users updated.
17364 (options): Remove partitions. All users updated.
17365 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
17366 * util/i386/pc/grub-setup.c (setup): copy partition table only when
17367 actual partition table is found.
17368
3352800b
VS
173692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17370
17371 Remove readability checks (too many false negatives).
17372
17373 * util/grub-install.in: Remove readability checks.
17374 * util/grub-mkconfig.in: Likewise.
17375 * util/grub.d/10_hurd.in: Likewise.
17376 * util/grub.d/10_kfreebsd.in: Likewise.
17377 * util/grub.d/10_linux.in: Likewise.
17378 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
17379 way.
17380
2419f17a
VS
173812010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17382
17383 Enable acpi shutdown on all ACPI platforms.
17384
17385 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
17386 on coreboo, multiboot and EFI.
17387 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
17388 (grub_acpi_halt): Likewise.
17389 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
17390 (grub_cmd_halt): Don't call grub_acpi_halt directly.
17391 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
17392 * grub-core/lib/i386/halt.c (grub_halt)
17393 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
17394
0575c7c3
VS
173952010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17396
17397 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
17398 context.
17399
54ac3cd1
VS
174002010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17401
17402 * grub-core/video/efi_gop.c: Fix over-80-chars line.
17403 * grub-core/video/efi_uga.c: Likewise.
17404
b2a30ac5
VS
174052010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17406
17407 Filter devaliases and never open same device twice.
17408
17409 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
17410 (last_ihandle): Likewise.
17411 (ofdisk_hash_ent): New member shortest.
17412 (ofdisk_hash_add): Add canonical path too.
17413 (scan): New function.
17414 (grub_ofdisk_iterate): Iterate over hashed entries.
17415 (compute_dev_path): Don't add :0.
17416 (grub_ofdisk_open): Don't really open the disk.
17417 (grub_ofdisk_close): Avoid closing unrelated disk.
17418 (grub_ofdisk_read): Implement reopen logic.
17419 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
17420 New function.
17421 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
17422 New proto.
17423
fb53b340
VS
174242010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17425
17426 Fix sparc64.
17427
17428 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
17429 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
17430 right address. Add sparc64_ieee1275_ldflags.
17431 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
17432 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
17433 to grub_host_to_target_addr
17434 (load_image): Likewise.
17435
f452b040
VS
174362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17437
17438 * grub-core/normal/completion.c (complete_file): Handle device
17439 containing slash.
17440 Fix based on patch by Doug Nazar.
17441
9b5b2541
VS
174422010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17443
17444 grub-mknetdir script.
17445
17446 * Makefile.util.def (grub-mknetdir): New module.
17447 * tests/util/grub-shell.in: Support boot=net
17448 * util/grub-mknetdir.in: New file.
17449
9d2be652
VS
174502010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17451
17452 videoinfo on non-vbe.
17453
17454 * grub-core/Makefile.core.def (vbeinfo): Removed.
17455 (vbetest): Removed.
17456 (videoinfo): New module.
17457 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
17458 * grub-core/commands/i386/pc/vbetest.c: Removed.
17459 * grub-core/commands/videoinfo.c: New file.
17460 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
17461 specification.
17462 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
17463 as vbetest.
17464 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
17465 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
17466 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
17467 mode_number. New parameter mode. All users updated.
17468 (grub_video_gop_iterate): New function.
17469 (grub_video_efi_gop): New member iterate.
17470 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
17471 (grub_vbe_set_video_mode): Remove setting useless fields.
17472 (vbe2videoinfo): New function.
17473 (grub_video_vbe_iterate): Likewise.
17474 (grub_video_vbe_setup): Use vbe2videoinfo.
17475 (grub_video_vbe_print_adapter_specific_info): New function.
17476 (grub_video_vbe_adapter): New fields iterate and
17477 print_adapter_specific_info.
17478 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
17479 All users updated.
17480 (grub_video_mode_info): New field mode_number.
17481 (grub_video_adapter): New fields iterate and
17482 print_adapter_specific_info.
17483
179503f5
TG
174842010-09-13 Tristan Gingold <gingold@free.fr>
174852010-09-13 Robert Millan <rmh.grub@aybabtu.com>
174862010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17487
17488 * grub-core/commands/efi/lsefisystab.c: New file.
17489 * grub-core/commands/efi/lssal.c: Likewise.
17490 * grub-core/Makefile.core.def (lsacpi): New module.
17491 (lsefisystab): Likewise.
17492 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
17493 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
17494 (grub_efi_sal_system_table): New struct.
17495 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
17496 (grub_efi_sal_system_table_memory_descriptor): Likewise.
17497 (grub_efi_sal_system_table_platform_features): Likewise.
17498 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
17499 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
17500 (grub_efi_sal_system_table_ap_wakeup): Likewise.
17501 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
17502
cf9827de
VS
175032010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17504
17505 Support explicit user claim that a device is BIOS-visible.
17506
17507 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
17508 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
17509 * grub-core/kern/emu/hostdisk.c
17510 (convert_system_partition_to_system_disk): Support mdX.
17511 (find_system_device): New parameter add. All users updated.
17512 (grub_util_biosdisk_is_present): New function.
17513 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
17514 proto.
17515
53f0eb1f
VS
175162010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
17517
17518 Search hints support.
17519
17520 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
17521 All users updated.
17522
b23ffd70
YB
175232010-09-13 Yves Blusseau <blusseau@zetam.org>
17524
17525 Bash completion script for util commands
17526
17527 * Makefile.am: Add util/bash-completion.d directory
17528 * configure.ac: Likewise.
17529 * util/bash-completion.d/Makefile.am: New file.
17530 * util/bash-completion.d/grub-completion.bash.in: Likewise.
17531
d547dc28
VS
175322010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17533
17534 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
17535 (print_backlog): set backlog_ucs4 and backlog_glyphs.
17536 Reported by: Yves Blusseau.
17537
2fc8ccb9
VS
175382010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17539
17540 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
17541 partition size and offset.
17542
d8a84076
VS
175432010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17544
17545 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
17546
84fb3b3d
VS
175472010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17548
17549 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
17550
768ec2e2
VS
175512010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17552
17553 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
17554 (grub_xvasprintf): Likewise.
17555
4870900f
VS
175562010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17557
17558 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
17559
faca6bec
VS
175602010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
17561
17562 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
17563 args ending with NULL.
17564
175652010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
17566
17567 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
17568 pointer.
17569
3c70f225
SJ
175702010-09-11 Szymon Janc <szymon@janc.net.pl>
17571
17572 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
17573
4df7996d
VS
175742010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
17575
17576 Shutdown using ACPI.
17577
17578 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
17579 * grub-core/commands/acpihalt.c: New file.
17580 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
17581 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
17582 (grub_acpi_halt): New proto.
17583 (GRUB_ACPI_SLP_EN): New const.
17584 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
17585 (GRUB_ACPI_OPCODE_*): New enum.
17586 (GRUB_ACPI_EXTOPCODE_*): Likewise.
17587
126b4c32
TG
175882010-09-11 Tristan Gingold <gingold@free.fr>
175892010-09-11 Robert Millan <rmh.grub@aybabtu.com>
175902010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
17591
17592 * commands/lsacpi.c: New file.
17593 * grub-core/Makefile.core.def (lsacpi): New module.
17594 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
17595 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
17596 (grub_acpi_madt_entry_header): New struct.
17597 (grub_acpi_madt): Likewise.
17598 (grub_acpi_madt_entry_interrupt_override): Likewise.
17599 (grub_acpi_madt_entry_sapic): Likewise.
17600 (grub_acpi_madt_entry_lsapic): Likewise.
17601 (grub_acpi_madt_entry_platform_int_source): Likewise.
17602 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
17603 (PRIuGRUB_UINT32_T): Likewise.
17604 (PRIxGRUB_UINT64_T): Likewise.
17605
1aa4fe88
VS
176062010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
17607
17608 Implement loading palette on ieee1275_fb.
17609
17610 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
17611 (have_setcolors): Likewise.
17612 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
17613 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
17614 (grub_video_ieee1275_set_palette): Implement.
17615
25761e13
VS
176162010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
176172010-09-11 Colin Watson <cjwatson@ubuntu.com>
17618
17619 * util/grub-install.in (grub_partition): New variable.
17620 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
17621 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
17622 Fixes a bug reported by Yves Blusseau.
17623
050abaea
VS
176242010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
17625
17626 Fix emu on mipsel.
17627
17628 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
17629 =grub_cpu_flush_cache on all mips and not only yeeloong.
17630 * configure.ac (COND_mips): New conditional.
17631 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
17632 platforms.
17633 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
17634 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
17635 [GRUB_LINKER_HAVE_INIT]: New function.
17636 (grub_emu_post_init): Likewise.
17637 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
17638 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
17639 * include/grub/cache.h (_mips): Include mips/cache.h.
17640 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
17641 LVM and RAID prototypes.
17642 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
17643 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
17644 function.
17645
5ed7d816
CW
176462010-09-10 Colin Watson <cjwatson@ubuntu.com>
17647
17648 * util/grub-install.in: Don't try to verify core.img until after
17649 running grub-mkimage to create it.
17650
90367e04
RM
176512010-09-10 Robert Millan <rmh@gnu.org>
17652
17653 * util/grub.d/10_hurd.in: Add misc readability checks.
17654 * util/grub.d/10_kfreebsd.in: Likewise.
17655 * util/grub.d/10_linux.in: Likewise.
17656
c452fa66
CW
176572010-09-10 Colin Watson <cjwatson@ubuntu.com>
17658
17659 * util/grub-install.in: ${imgext} won't be defined here until the
17660 install branch is merged. For the meantime, only verify core.img on
17661 i386-pc and sparc64-ieee1275 platforms.
17662
c38fe9f4
RM
176632010-09-10 Robert Millan <rmh@gnu.org>
17664
17665 Solaris support in grub_find_zpool_from_dir(). Thanks
17666 Seth Goldberg for referring to getextmntent() facility.
17667
17668 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
17669 `sys/mkdev.h'.
17670 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
17671 `<sys/mnttab.h>'.
17672 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
17673 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
17674 method for finding zpool name.
17675
905f7773
CW
176762010-09-10 Colin Watson <cjwatson@ubuntu.com>
17677
17678 grub-fstest needs the host and hostfs modules while other utilities
17679 actively require those modules to be absent, so grub-fstest needs
17680 its own initialisation and finalisation code.
17681
17682 * Makefile.am (grub_fstest.pp): New target.
17683 (grub_fstest_init.lst): Likewise.
17684 (grub_fstest_init.c): Likewise.
17685 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
17686
fb90b546
RM
176872010-09-10 Robert Millan <rmh@gnu.org>
17688
17689 * configure.ac: Check for `struct statfs.f_fstypename' and
17690 `struct statfs.f_mntfromname'.
17691
17692 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
17693 kFreeBSD-specific code.
17694
66d4bea5
RM
176952010-09-10 Robert Millan <rmh@gnu.org>
17696
17697 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
17698 on ZFS. Now non-main filesystems are supported as / too.
17699
b6a690ee
CW
177002010-09-09 Colin Watson <cjwatson@ubuntu.com>
17701
17702 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
17703 and grub-core/disk/host.c to ...
17704 (grub-fstest): ... here. Having the host disk implementation
17705 present confuses grub-probe and other utility programs.
17706
17707 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
17708 when writing to a file, not when writing to stdout.
17709
8901b00c 177102010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
17711
17712 * tests/partmap_test.in: New test for partitions.
17713 * Makefile.util.def: Rules for new test.
17714
7bf45fdd
RM
177152010-09-09 Robert Millan <rmh@gnu.org>
17716
17717 * util/grub-probe.c (probe): Fix a pair of unhandled error
17718 conditions.
17719
4dfbc574
RM
177202010-09-09 Robert Millan <rmh@gnu.org>
17721
17722 Basic Btrfs support (detection and UUID).
17723
17724 * grub-core/fs/btrfs.c: New file.
17725 * Makefile.util.def (library): Register btrfs.c.
17726 * grub-core/Makefile.core.def: Likewise.
17727
6b8e78ae
RM
177282010-09-08 Robert Millan <rmh@gnu.org>
17729
17730 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
17731 with (optional) parameters to specify device and relative path.
17732 * util/grub-install.in: Use is_path_readable_by_grub() to
17733 verify readability of a few critical files.
17734 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
17735 verify readability of grub.cfg.new.
17736
27f21a8b
VS
177372010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
17738
17739 Split minix.mod into minix.mod and minix2.mod.
17740
17741 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
17742 * grub-core/Makefile.core.def (minix2): New module.
17743 * grub-core/fs/minix.c: Use definitions instead of runtime version
17744 checking.
17745 * grub-core/fs/minix2.c: New file.
17746
c0e53ea5
YB
177472010-09-08 Yves Blusseau <blusseau@zetam.org>
17748
17749 Add new --boot-directory option to replace --root-directory
17750
17751 * util/grub-install.in: Add new --boot-directory option
17752 * util/grub-reboot.in: Likewise.
17753 * util/grub-set-default.in: Likewise.
17754
b9fe6ea2
YB
177552010-09-08 Yves Blusseau <blusseau@zetam.org>
17756
17757 * util/grub-mkconfig.in: Use new variable.
17758
d87aedff
YB
177592010-09-08 Yves Blusseau <blusseau@zetam.org>
17760
17761 * configure.ac: Define some useful variables.
17762
e55e8495
VS
177632010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
17764
17765 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17766 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
17767 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
17768 Use terminfo and don't use cursor-on/cursor-off unless it's known
17769 to work.
17770 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
17771 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
17772
6fa6d675
CW
177732010-09-08 Colin Watson <cjwatson@ubuntu.com>
17774
17775 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
17776 starts with "(,", fill the drive containing the loaded image in
17777 between those two characters, but expect that a full partition
17778 specification including partition map names will follow.
17779
92f2aef0
RM
177802010-09-08 Robert Millan <rmh@gnu.org>
17781
17782 * configure.ac: Remove `--enable-grub-fstest' option.
17783 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
17784
17785 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
17786 `grub-fstest' instead of `grub-probe' for readability verification.
17787 * util/grub-probe.c (probe): Remove readability verification kludge.
17788
99fd620d
RM
177892010-09-08 Robert Millan <rmh@gnu.org>
17790
17791 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
17792 initializing `GRUB_FS'.
17793
058e30ac 177942010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
17795
17796 Not command (!) support to GRUB script.
17797
17798 * tests/grub_script_not.in: New test.
17799 * Makefile.util.def: Rules for new test.
17800
17801 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
17802 ! command as a special case.
17803 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
17804
b61d05ed 178052010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
17806
058e30ac 17807 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
17808 grub_free.
b61d05ed 17809
4d69c786 178102010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
17811
17812 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
17813
aa3119c4 178142010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
17815
17816 * docs/grub.texi (Shell-like scripting): Documentation for break,
17817 continue, shift and return commands.
17818
db0f7e3d
VS
178192010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
17820
17821 Rename CD-ROM to cd on BIOS.
17822
17823 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
17824 "cd".
17825 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
17826
88b87c93
VS
178272010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17828
17829 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
17830 * util/grub-probe.c (main): Likewise.
17831 * util/i386/pc/grub-setup.c (main): Likewise.
17832 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
17833 Reported and debugged by: alexxy
17834
294f324d
VS
178352010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17836
17837 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
17838 diagnostic info.
17839
d7ee3441
JS
178402010-09-05 Jo Shields <directhex@apebox.org>
17841
17842 * util/grub.d/30_os-prober.in: Add missing classes.
17843
d7e06c1f
VS
178442010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17845
17846 * docs/grub.texi (Theme file format): Document new position format.
17847
fc157e53
VS
178482010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17849
17850 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
17851 a table. Use @code instead of @verbatim.
17852
506e9a1c
CB
178532010-09-05 Colin D Bennett <colin@gibibit.com>
17854
17855 Gfxmenu documentation.
17856
17857 * docs/grub.texi (Theme file format): New chapter.
17858
f0aff67c
SJ
178592010-09-05 Szymon Janc <szymon@janc.net.pl>
17860
17861 * grub-core/Makefile.core.def (xzio): New module.
17862 * grub-core/io/xzio.c: New file.
17863 * grub-core/lib/xzembed/xz.h: New file (from xembed).
17864 * grub-core/lib/xzembed/xz_config.h: Likewise.
17865 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
17866 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
17867 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
17868 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
17869 * grub-core/lib/xzembed/xz_private.h: Likewise.
17870 * grub-core/lib/xzembed/xz_stream.h: Likewise.
17871 * include/grub/file.h (grub_file_filter_id): New compression filter
17872 GRUB_FILE_FILTER_XZIO.
17873
82a85062
VS
178742010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17875
17876 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
17877 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
17878 size.
17879
3579415d
VS
178802010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17881
17882 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
17883 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
17884
5124ae6d
VS
178852010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17886
17887 Uncompressed checksum support.
17888
17889 * grub-core/commands/hashsum.c (options): Add option --uncompress.
17890 (check_list): New parameter uncompress.
17891 (grub_cmd_hashsum): Handle --uncompress.
17892
9aadb3d1
VS
178932010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17894
17895 Reintroduce testload.
17896
17897 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
17898 from here ...
17899 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
17900 (GRUB_MOD_INIT): New function.
17901 (GRUB_MOD_FINI): Likewise.
17902 * grub-core/Makefile.core.def (testload): New module.
17903
a17792c3
SJ
179042010-09-05 Szymon Janc <szymon@janc.net.pl>
17905
17906 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
17907 (uint8_t): New type.
17908 (uint16_t): Likewise.
17909 (uint32_t): Likewise.
17910 (uint64_t): Likewise.
17911
b81e40a3
SJ
179122010-09-05 Szymon Janc <szymon@janc.net.pl>
17913
17914 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
17915
fc2ef117
VS
179162010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
17917
17918 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
17919 Made static.
17920 (grub_gzfile_open): Removed. All users updated.
17921 (GRUB_MOD_INIT): New function.
17922 (GRUB_MOD_FINI): Likewise.
17923 * grub-core/kern/file.c (grub_file_filters_all): New variable.
17924 (grub_file_filters_enabled): Likewise.
17925 (grub_file_open): Handle filters.
17926 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
17927 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
17928 * include/grub/file.h (grub_file_filter_id_t): New type.
17929 (grub_file_filter_t): Likewise.
17930 (grub_file_filters_all): New extern variable.
17931 (grub_file_filters_enabled): Likewise.
17932 (grub_file_filter_register): New inline function.
17933 (grub_file_filter_unregister): Likewise.
17934 (grub_file_filter_disable): Likewise.
17935 (grub_file_filter_disable_compression): Likewise.
17936 * include/grub/gzio.h: Removed.
17937
35ee15e0
BC
179382010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17939
17940 Filename expansion support for wildcards in GRUB script.
17941
17942 * tests/grub_script_expansion.in: New test.
17943 * Makefile.util.def: Rule for new test.
17944
17945 * grub-core/commands/wildcard.c: New file, implements filename
17946 expansion support for GRUB script.
17947 * grub-core/Makefile.core.def: Rule update for regexp.mod.
17948 * grub-core/script/argv.c: Cosmetic changes.
17949 * grub-core/script/execute.c (grub_script_arglist_to_argv):
17950 Refactored to perform wildcard expansion on arguments.
17951 * include/grub/script_sh.h (grub_script_wildcard_translator): New
17952 struct.
17953
17954 * tests/util/grub-shell.in: Fix quoting for read input.
17955
5f0c4aca
BC
179562010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17957
17958 Support for updating environment variables with matched substrings
17959 of regexp.
17960
17961 * tests/grub_cmd_regexp.in: New test.
17962 * Makefile.util.def: Rule for new test.
17963
17964 * grub-core/commands/regexp.c: New option -s to update environment
17965 variables with regexp matches.
17966
3759a35f
SJ
179672010-09-04 Szymon Janc <szymon@janc.net.pl>
17968
17969 * include/grub/file.h (grub_file): New member not_easly_seekable.
17970 (grub_file_seekable): New inline function.
17971 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
17972 easily seekable.
17973 (grub_gzio_open): Set not_easly_seekable.
17974 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
17975 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
17976
ed8c6dec
BC
179772010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
17978
17979 Support for options to appear multiple times on cmdline.
17980
17981 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
17982 * grub-core/commands/extcmd.c: Support for repeatable option.
17983 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
17984 repeatable option support.
17985
17986 Refactor menuentry into a regular command.
17987
17988 * grub-core/commands/menuentry.c: New file, menuentry command
17989 implementation.
17990 * grub-core/Makefile.core.def: Rule update for normal.mod.
17991 * grub-core/normal/main.c: Moved menuentry creation to
17992 grub-core/commands/menuentry.c.
17993 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
17994 (grub_menu_execute_entry_real): Removed.
17995 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
17996 function.
17997 (grub_script_execute_menuentry): Removed.
17998 * grub-core/script/parser.y (menuentry): Removed.
17999 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
18000 * grub-core/script/yylex.l (menuentry): Removed.
18001 * include/grub/menu.h (grub_menu_init): New prototype.
18002 (grub_menu_fini): New prototype.
18003 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
18004 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
18005 (grub_script_execute_sourcecode): New prototype.
18006
dacd0cf0
BC
180072010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18008
18009 "return" command for GRUB script functions.
18010
18011 * tests/grub_script_return.in: New test.
18012 * Makefile.util.def: Rules for new test.
18013
18014 * grub-core/script/execute.c (grub_script_return): New function.
18015 * grub-core/script/main.c: Register/unregister return commaond.
18016 * include/grub/script_sh.h (grub_script_return): New prototype.
18017
52e72f9d
BC
180182010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18019
18020 "setparams" command to update positional parameters.
18021
18022 * tests/grub_script_setparams.in: New test.
18023 * Makefile.util.def: Rules for new test.
18024
18025 * grub-core/script/argv.c (grub_script_argv_make): New function.
18026 * grub-core/script/execute.c (replace_scope): New function.
18027 (grub_script_setparams): New function.
18028 * grub-core/script/lexer.c: Remove unused variables.
18029 * grub-core/script/main.c: Register/unregister setparams command.
18030 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
18031 (grub_script_setparams): New prototype.
18032
25b60c91
BC
180332010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18034
18035 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
18036 grub_free order.
18037
37e7bf68
BC
180382010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18039
18040 Support for passing block of commands as an argument to extcmds.
18041
18042 * Makefile.util.def: Rules for new test.
18043 * tests/grub_script_blockarg.in: New test.
18044 * grub-core/tests/test_blockarg.c: New file, block argument
18045 command used in the test.
18046
18047 * include/grub/extcmd.h (grub_extcmd_context): New struct.
18048 (grub_register_extcmd_prio): New function prototype.
18049 (grub_extcmd_dispatcher): New function prototype.
18050 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
18051 type.
18052 * include/grub/script_sh.h (struct grub_script): New members
18053 `children', `next_siblings' and `refcnt' for block arguments and
18054 reference counting.
18055 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
18056 (grub_script_arg): New member `script' for block argument.
18057 (grub_script_argv): New member `script' for block argument.
18058 (grub_parser_param): New member `scripts' for block argument.
18059 (grub_script_mem_free): New extern function prototype.
18060 (grub_script_ref): New function prototype.
18061 (grub_script_unref): New function prototype.
18062
18063 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
18064 extcmd form to support block arguments.
18065 * grub-core/script/argv.c: Block arguments support.
18066 * grub-core/script/execute.c: Likewise.
18067 * grub-core/script/lexer.c: Likewise.
18068 * grub-core/script/main.c: Likewise.
18069 * grub-core/script/script.c: Likewise.
18070 * grub-core/script/parser.y: Likewise. New `block' and `block0'
18071 non-terminals.
18072
18073 * grub-core/commands/acpi.c: Update extcmd implementations with
18074 grub_extcmd_context_t.
18075 * grub-core/commands/cat.c: Likewise.
18076 * grub-core/commands/echo.c: Likewise.
18077 * grub-core/commands/extcmd.c: Likewise.
18078 * grub-core/commands/hashsum.c: Likewise.
18079 * grub-core/commands/hdparm.c: Likewise.
18080 * grub-core/commands/help.c: Likewise.
18081 * grub-core/commands/hexdump.c: Likewise.
18082 * grub-core/commands/i386/cpuid.c: Likewise.
18083 * grub-core/commands/i386/pc/drivemap.c: Likewise.
18084 * grub-core/commands/i386/pc/halt.c: Likewise.
18085 * grub-core/commands/i386/pc/sendkey.c: Likewise.
18086 * grub-core/commands/iorw.c: Likewise.
18087 * grub-core/commands/keystatus.c: Likewise.
18088 * grub-core/commands/loadenv.c: Likewise.
18089 * grub-core/commands/ls.c: Likewise.
18090 * grub-core/commands/lspci.c: Likewise.
18091 * grub-core/commands/memrw.c: Likewise.
18092 * grub-core/commands/probe.c: Likewise.
18093 * grub-core/commands/search_wrap.c: Likewise.
18094 * grub-core/commands/setpci.c: Likewise.
18095 * grub-core/commands/sleep.c: Likewise.
18096 * grub-core/disk/loopback.c: Likewise.
18097 * grub-core/hello/hello.c: Likewise.
18098 * grub-core/loader/i386/bsd.c: Likewise.
18099 * grub-core/loader/xnu.c: Likewise.
18100 * grub-core/term/gfxterm.c: Likewise.
18101 * grub-core/term/serial.c: Likewise.
18102 * grub-core/tests/lib/functional_test.c: Likewise.
18103
888d1500
BC
181042010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
18105
18106 Multi-line quoted strings support.
18107
18108 * grub-core/script/lexer.c (append_newline): Removed.
18109 (grub_script_lexer_yywrap): Refactored.
18110 (grub_script_lexer_init): Refactored.
18111 * grub-core/script/yylex.l (yywrap): New function.
18112 (grub_lexer_resplit): New function.
18113 (grub_lexer_unput): New function.
18114 * include/grub/script_sh.h (grub_lexer_param): New members, unput
18115 and resplit.
18116 * tests/grub_script_echo1.in: Added few more testcases.
18117
dda060dd
VS
181182010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
18119
18120 * grub-core/kern/misc.c: Don't add abort alias in utils.
18121 Reported by: echoline.
18122
6556eba9
BC
181232010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
18124
18125 Add missing files into "make dist" tarball for other platforms.
18126
18127 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
18128 * conf/Makefile.common (dist_noinst_DATA): New variable.
18129 * conf/Makefile.extra-dist: Added missing make dist files.
18130 * grub-core/Makefile.core.def: Likewise.
18131
c8e7bf5f
VS
181322010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
18133
18134 Compress grub_prefix.
18135
18136 * grub-core/boot/i386/pc/lnxboot.S: Use
18137 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
18138 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
18139 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
18140 GRUB_MACHINE_PREFIX_END. All users updated.
18141 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
18142 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
18143 + 0x40.
18144 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
18145 * util/grub-mkimage.c (image_target_desc): Change data_end to
18146 prefix_end. All users updated.
18147
a7c00cdb
VS
181482010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
18149
18150 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
18151 value.
18152 (grub_openbsd_boot): Likewise.
18153 (grub_netbsd_boot): Likewise.
18154 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
18155 (grub_xnu_boot): Likewise.
18156
9f915872
VS
181572010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18158
18159 * configure.ac: Clean LIBS variable after tests.
18160
efa1bee7
CW
181612010-09-02 Colin Watson <cjwatson@ubuntu.com>
18162
18163 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
18164
61d720e5
VS
181652010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18166
18167 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
18168 echo if libdevmapper will be used.
18169
ef8e0ec8
IT
181702010-09-02 Ian Turner <Ian.Turner@deshaw.com>
18171
18172 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
18173 constant for the same file.
18174
03e261d8
VS
181752010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18176
18177 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
18178
c2a4eba6
CW
181792010-09-02 Colin Watson <cjwatson@ubuntu.com>
18180
18181 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
18182 grub-core/*.pp.
18183
9056cbf3
CW
181842010-09-02 Colin Watson <cjwatson@ubuntu.com>
18185
18186 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
18187 required by the boot protocol.
18188
18189 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
18190 ebp and edi members.
18191 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
18192 state.ebp and state.edi.
18193 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
18194 %ebp and %edi according to grub_relocator32_ebp and
18195 grub_relocator32_edi respectively.
18196 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
18197 and state.edi.
18198
529cc99a
VS
181992010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18200
18201 Add i386-pc-pxe image target.
18202
18203 * util/grub-mkimage.c (image_target_desc): New enum value
18204 IMAGE_I386_PC_PXE.
18205 (image_targets): New target i386-pc-pxe.
18206 (generate_image): Handle i386-pc-pxe image.
18207
9a093920
VS
182082010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18209
18210 Fix grub_pxe_scan.
18211
18212 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
18213 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
18214 All users updated.
18215 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
18216 (grub_pxe_pxenv): Correct type.
18217
f9cefc4e
CW
182182010-09-01 Colin Watson <cjwatson@ubuntu.com>
18219
18220 * NEWS: Document most of the important changes since 1.98.
18221
4066f57f
CW
182222010-09-01 Colin Watson <cjwatson@ubuntu.com>
18223
18224 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
18225 generated manual page) a little.
18226
da2891f9
CW
182272010-09-01 Colin Watson <cjwatson@ubuntu.com>
18228
18229 * docs/grub.texi: Add myself as an author.
18230
ad717fae
VS
182312010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
18232
18233 * Makefile.util.def (libgrub.a): Add missing sunpc.
18234 Reported by: Seth Goldberg.
18235
eefe8abd
VS
182362010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18237
18238 Interrupt wrapping and code simplifications.
18239
9494ef9a
VS
18240 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
18241 x86_noieee1275 which are functionaly equivalent in this case.
18242 (grub-install): Make source on each platform explicit. Enable on
18243 all noemu.
18244 * gentpl.py (x86_efi_pc): Removed group.
18245 (x86_noefi): Likewise.
18246 (i386_noefi): Likewise.
18247 (x86_noieee1275): Likewise.
18248 (i386_noieee1275): Likewise.
18249 (i386_noefi_noieee1275): Likewise.
18250 (i386_pc_qemu_coreboot): Likewise.
18251 (i386_coreboot_multiboot): Likewise.
18252 (i386_pc_coreboot_multiboot_qemu): Likewise.
18253 (x86_noefi_mips): Likewise.
18254 (noieee1275): Likewise.
18255 (ieee1275_mips): Likewise.
18256 (noemu_noieee1275): Likewise.
18257 (cmos): New group.
18258 (usb): Likewise.
18259 (videoinkernel): Likewise.
18260 (videomodules): Likewise.
eefe8abd 18261 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
18262 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
18263 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
18264 include/grub/loader.h, include/grub/msdos_partition.h,
18265 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
18266 include/grub/machine/console.h, include/grub/machine/vga.h,
18267 include/grub/machine/vbe.h, include/grub/machine/init.h,
18268 include/grub/machine/kernel.h, include/grub/cpu/time.h,
18269 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 18270 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
18271 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
18272 * grub-core/Makefile.core.def (kernel): Explicit the source for
18273 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
18274 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
18275 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
18276 Use videoinkernel tag.
18277 (usb): Enable on all usb.
18278 (usbserial_common): Likewise.
18279 (usbserial_pl2303): Likewise.
18280 (usbserial_ftdi): Likewise.
18281 (uhci): Enable on all x86.
18282 (ohci): Enable on all pci.
18283 (cmostest): Enable on all CMOS.
18284 (acpi): Include commands/acpi.c on all platforms.
18285 (halt): Add relevant lib/*/halt.c.
18286 (hdparm): Enable on all pci.
18287 (lspci): Likewise.
18288 (usbtest): Enable on all usb.
18289 (ata): Enable on all pci.
18290 (ata_pthru): Likewise.
18291 (usbms): Enable on all usb.
18292 (usb_keyboard): Likewise.
18293 (font): Use tag videomodules.
18294 (bufio): Likewise.
18295 (datetime): Use tag cmos. Enable on all noemu.
18296 (mmap): Use tags common and x86.
18297 (gfxterm): Use tag videomodules.
18298 (bitmap): Likewise.
18299 (bitmap_scale): Likewise.
18300 (video_fb): Likewise.
18301 (video): Likewise.
18302 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
18303 adjust padding accordingly. All users updated.
18304 (grub_ohci_transaction): Fix bad format specification.
18305 (GRUB_MOD_INIT): Add asserts for struct size.
18306 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
18307 (grub_alloc_td): Likewise.
18308 (grub_free_queue): Likewise.
18309 (grub_uhci_transfer): Likewise.
18310 (grub_uhci_transaction): Fix bad format specification.
18311 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
18312 (grub_usb_bulk_readwrite): Likewise.
18313 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
18314 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
18315 Made static.
18316 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
18317 Made static.
18318 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
18319 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
18320 Transformed into C.
18321 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
18322 Moved from here ...
18323 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
18324 ... here. Transformed into C. Made static.
18325 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
18326 Moved from here ...
18327 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
18328 ... here. Transformed into C. Made static.
18329 * grub-core/kern/i386/pc/startup.S
18330 (grub_biosdisk_check_int13_extensions): Moved from here ...
18331 * grub-core/disk/i386/pc/biosdisk.c
18332 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
18333 Made static.
18334 * grub-core/kern/i386/pc/startup.S
18335 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
18336 * grub-core/disk/i386/pc/biosdisk.c
18337 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
18338 Transformed into C. Made static.
18339 * grub-core/kern/i386/pc/startup.S
18340 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
18341 * grub-core/disk/i386/pc/biosdisk.c
18342 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
18343 Transformed into C. Made static.
18344 * grub-core/kern/i386/pc/startup.S
18345 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
18346 * grub-core/disk/i386/pc/biosdisk.c
18347 (grub_biosdisk_get_diskinfo_standard): ... here.
18348 Transformed into C. Made static.
18349 * grub-core/kern/i386/pc/startup.S
18350 (grub_biosdisk_get_num_floppies): Moved from here ...
18351 * grub-core/disk/i386/pc/biosdisk.c
18352 (grub_biosdisk_get_num_floppies): ... here.
18353 Transformed into C. Made static.
18354 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
18355 New function.
18356 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
18357 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
18358 Transformed into C. Made static.
18359 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
18360 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
18361 Transformed into C. Made static.
18362 * grub-core/kern/i386/ieee1275/init.c: Removed.
18363 * grub-core/kern/i386/misc.S: Likewise.
18364 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
18365 Splitted from here ...
18366 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
18367 Transformed into C. Made static. All users updated.
18368 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
18369 Transformed into C. Made static. All users updated.
18370 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
18371 Moved from here...
18372 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
18373 Transformed into C. Made static. All users updated.
18374 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
18375 Moved from here...
18376 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
18377 Transformed into C. Made static. All users updated.
18378 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
18379 Removed (replaced by C version).
18380 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
18381 Moved from here...
18382 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
18383 Transformed into C. Made static.
18384 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
18385 Moved from here...
18386 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
18387 ... here. Transformed into C.
18388 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
18389 Moved from here...
18390 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
18391 ... here. Transformed into C.
18392 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
18393 Moved from here...
18394 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
18395 ... here. Transformed into C. Made static.
18396 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
18397 Moved from here...
18398 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
18399 ... here. Transformed into C.
21ed554b
VS
18400 * grub-core/kern/i386/pc/startup.S
18401 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
18402 * grub-core/video/i386/pc/vbe.c
18403 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
18404 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
18405 Moved from here...
18406 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
18407 ... here. Transformed into C.
18408 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
18409 Moved from here...
18410 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
18411 ... here. Transformed into C.
18412 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
18413 Moved from here...
18414 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
18415 ... here. Transformed into C.
18416 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
18417 Moved from here...
18418 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
18419 ... here. Transformed into C.
18420 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
18421 Moved from here...
18422 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
18423 ... here. Transformed into C. Made static.
18424 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
18425 Moved from here...
18426 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
18427 ... here. Transformed into C. Made static.
18428 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
18429 Moved from here...
18430 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
18431 ... here. Transformed into C. Made static.
18432 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
18433 pxe_rm_entry as third argument.
18434 (grub_bios_interrupt): New function.
18435 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
18436 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
18437 of calling grub_stop.
18438 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
18439 * grub-core/lib/efi/halt.c (grub_halt): ...here.
18440 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
18441 * grub-core/lib/emu/halt.c (grub_halt): ... here.
18442 * grub-core/lib/i386/halt.c: Moved from here ...
18443 * grub-core/lib/i386/halt.c: ... here.
18444 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
18445 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
18446 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
18447 grub_stop_floppy.
18448 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
18449 * include/grub/i386/coreboot/init.h: Removed.
18450 * include/grub/i386/multiboot/init.h: Likewise.
18451 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
18452 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
18453 * include/grub/i386/pc/int.h: New file.
18454 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
18455 (grub_pxe_scan): Removed.
18456 (grub_pxe_call): Update prototype.
18457 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
18458 prototypes.
18459 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
18460 * include/grub/i386/qemu/init.h: Removed.
18461 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
18462 noreturn.
18463 (grub_halt): Likewise.
18464 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
18465 (grub_reboot): Likewise.
18466 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
18467 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
18468 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
18469
215dd471
RM
184702010-08-30 Robert Millan <rmh@gnu.org>
18471
18472 * NEWS: Document addition of ZFS support in `grub-install' and
18473 `grub-mkconfig'.
18474
ebd65b82
BC
184752010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
18476
18477 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
18478 dprintf output.
18479
11721d19
VS
184802010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18481
18482 Remove leftover embedding of font objects.
18483
18484 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
18485 * util/grub-install.in (font): Removed.
18486 * util/grub-mkimage.c (generate_image): Remove font support. All users
18487 updated.
18488
37837d4e
VS
184892010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18490
18491 Remove leftover embedding of font objects.
18492
18493 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
18494 * util/grub-install.in (font): Removed.
18495 * util/grub-mkimage.c (generate_image): Remove font support. All users
18496 updated.
18497
b4c1aae0
VS
184982010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18499
18500 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 18501 Reported by: Ian Turner
b4c1aae0 18502
8920a08d
VS
185032010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18504
18505 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
18506 timeout to avoid indefinite boot stalling.
18507
f21db033
VS
185082010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18509
18510 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
18511 (grub_env_write_color_highlight): Likewise.
18512
9a9de209
VS
185132010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18514
18515 * grub-core/normal/term.c (print_more): Return to normal and not
18516 to standard state after printing "---MORE---".
18517
3dca01d7
VS
185182010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18519
18520 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
18521 Mask out the bit 0x80 since it has other meaning that specifiing color.
18522
0b986c40
VS
185232010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18524
18525 New relocator. Allows for more kernel support and more straightforward
18526 loader writing.
18527
18528 * Makefile.am (BOOTTARGET): New variable.
18529 (QEMU32): Likewise.
18530 (linux.init.x86_64): New target.
18531 (linux.init.i386): Likewise.
18532 (multiboot.elf): Likewise.
18533 (kfreebsd.elf): Likewise.
18534 (kfreebsd.aout): Likewise.
18535 (pc-chainloader.elf): Likewise.
18536 (pc-chainloader.bin): Likewise.
18537 (ntldr.elf): Likewise.
18538 (ntldr.bin): Likewise.
18539 (multiboot2.elf): Likewise.
18540 (kfreebsd.init.x86_64): Likewise.
18541 (kfreebsd.init.i386): Likewise.
18542 (knetbsd.init.i386): Likewise.
18543 (kopenbsd.init.i386): Likewise.
18544 (knetbsd.init.x86_64): Likewise.
18545 (kopenbsd.init.x86_64): Likewise.
18546 (linux-initramfs.i386): Likewise.
18547 (linux-initramfs.x86_64): Likewise.
18548 (kfreebsd-mfsroot.i386.img): Likewise.
18549 (knetbsd.image.i386): Likewise.
18550 (kopenbsd.image.i386): Likewise.
18551 (kopenbsd.image.x86_64): Likewise.
18552 (knetbsd.miniroot-image.i386.img): Likewise.
18553 (kfreebsd-mfsroot.x86_64.img): Likewise.
18554 (knetbsd.image.x86_64): Likewise.
18555 (knetbsd.miniroot-image.x86_64.img): Likewise.
18556 (kfreebsd-mfsroot.i386.gz): Likewise.
18557 (bootcheck-kfreebsd-i386): Likewise.
18558 (kfreebsd-mfsroot.x86_64.gz): Likewise.
18559 (bootcheck-kfreebsd-x86_64): Likewise.
18560 (knetbsd.miniroot-image.i386.gz): Likewise.
18561 (bootcheck-knetbsd-i386): Likewise.
18562 (bootcheck-kopenbsd-i386): Likewise.
18563 (bootcheck-kopenbsd-x86_64): Likewise.
18564 (knetbsd.miniroot-image.x86_64.gz): Likewise.
18565 (bootcheck-knetbsd-x86_64): Likewise.
18566 (bootcheck-linux-i386): Likewise.
18567 (bootcheck-linux-x86_64): Likewise.
18568 (bootcheck-linux16-i386): Likewise.
18569 (bootcheck-linux16-x86_64): Likewise.
18570 (bootcheck-multiboot): Likewise.
18571 (bootcheck-multiboot2): Likewise.
18572 (bootcheck-kfreebsd-aout): Likewise.
18573 (bootcheck-pc-chainloader): Likewise.
18574 (bootcheck-ntldr): Likewise.
18575 (CLEANFILES): Add new targets.
18576 (BOOTCHECKS): New variable.
18577 (.PHONY): Add bootchecks.
18578 (SUCCESSFUL_BOOT_STRING): New variable.
18579 (BOOTCHECK_TIMEOUT): Likewise.
18580 (bootcheck): New target
18581 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
18582 * configure.ac: Correct efiemu excuse.
18583 * docs/grub.texi (Supported kernels): New chapter.
18584 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
18585 include/grub/mm_private.h. Simplify inclusion of
18586 include/grub/boot.h, include/grub/loader.h
18587 and include/grub/msdos_partition.h
18588 (KERNEL_HEADER_FILES) [i386_coreboot]:
18589 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
18590 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
18591 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
18592 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
18593 include/grub/machine/loader.h.
18594 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
18595 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
18596 extra_dist.
18597 (pci.mod): Enable on i386-multiboot.
18598 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
18599 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
18600 i386-qemu.
18601 (relocator.mod): Rewritten.
18602 (aout.mod): Enable on all x86.
18603 (bsd.mod): Likewise.
18604 (ntldr.mod): New module.
18605 (linux.mod): Use loader/i386/linux.c on all x86.
18606 (xnu.mod): Enable on all x86.
18607 (vga_text.mod): disable on EFI and QEMU.
18608 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
18609 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
18610 * grub-core/efiemu/loadcore.c: Likewise.
18611 * grub-core/efiemu/main.c: Likewise.
18612 (grub_efiemu_exit_boot_services): Removed.
18613 (grub_efiemu_finish_boot_services): Likewise.
18614 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
18615 function.
18616 * grub-core/efiemu/i386/nocfgtables.c: New file.
18617 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
18618 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
18619 (grub_efi_finish_boot_services): Moved from here ...
18620 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
18621 Fille finish memory map and related data.
18622 (finish_mmap_buf): New variable.
18623 (grub_efi_uintn_t finish_mmap_size): Likewise.
18624 (grub_efi_uintn_t finish_key): Likewise.
18625 (grub_efi_uintn_t finish_desc_size): Likewise.
18626 (grub_efi_uint32_t finish_desc_version): Likewise.
18627 (grub_efi_is_finished): Likewise.
18628 (grub_efi_get_memory_map): Use saved memory map if EFI is already
18629 finished.
18630 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
18631 (grub_elf64_phdr_iterate): Likewise.
18632 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
18633 (grub_os_area_size): Likewise.
18634 (grub_machine_init): Don't reserve os area.
18635 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
18636 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
18637 * grub-core/kern/i386/loader.S: Removed.
18638 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
18639 (grub_os_area_size): Likewise.
18640 (grub_machine_init): Don't reserve os area.
18641 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
18642 Don't call grub_dl_unload_all.
18643 Don't include loader.S.
18644 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
18645 Declare the memory after _end as available.
18646 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 18647 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 18648 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
18649 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
18650 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
18651 * include/grub/mm_private.h (grub_mm_header): ... here.
18652 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
18653 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
18654 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
18655 (grub_mm_region): ..here. Removed addr. Added pre_size.
18656 All users updated.
18657 * grub-core/kern/mm.c (base): Renamed to ...
18658 (grub_mm_base): ... this. Made global.
18659 (grub_real_malloc): Alloc from end of region.
18660 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
18661 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
18662 * grub-core/kern/powerpc/cache_flush.S: ... here.
18663 * grub-core/lib/efi/relocator.c: New file.
18664 * grub-core/lib/i386/relocator.c: Rewritten.
18665 * grub-core/lib/i386/relocator16.S: New file.
18666 * grub-core/lib/i386/relocator32.S: Likewise.
18667 * grub-core/lib/i386/relocator64.S: Likewise.
18668 * grub-core/lib/i386/relocator_asm.S: Rewritten.
18669 * grub-core/lib/i386/relocator_common.S: New file.
18670 * grub-core/lib/ieee1275/relocator.c: Likewise.
18671 * grub-core/lib/mips/relocator.c: Rewritten.
18672 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
18673 stylistic adjustments.
18674 * grub-core/lib/powerpc/relocator.c: New file.
18675 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
18676 * grub-core/lib/relocator.c: Rewritten.
18677 * grub-core/lib/x86_64/relocator_asm.S: New file.
18678 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
18679 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
18680 (bsd_tag): New struct.
18681 (tags): New variable.
18682 (tags_last): Likewise.
18683 (netbsd_module): New struct.
18684 (netbsd_mods): New variable.
18685 (netbsd_mods_last): Likewise.
18686 (openbsd_opts): New parameter "serial".
18687 (OPENBSD_SERIAL_ARG): New definition.
18688 (netbsd_opts): New parameter "serial".
18689 (NETBSD_SERIAL_ARG): New definition.
18690 (grub_freebsd_add_meta): Reorganised into ...
18691 (grub_bsd_add_meta): ...this. All users updated.
18692 (grub_freebsd_add_mmap): Reorganised into ...
18693 (generate_e820_mmap): ...this...
18694 (grub_bsd_add_mmap): ...and this. All users updated.
18695 (grub_freebsd_list_modules): Use tags.
18696 (grub_netbsd_add_meta_module): New function.
18697 (grub_netbsd_list_modules): Likewise.
18698 (grub_freebsd_boot): Use relocator and finish EFI.
18699 (grub_openbsd_boot): Likewise.
18700 (grub_netbsd_setup_video): New function.
18701 (grub_netbsd_add_modules): Likewise.
18702 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
18703 and finish EFI.
18704 (grub_bsd_unload): Unload tags.
18705 (grub_bsd_load_aout): Use relocator.
18706 (grub_bsd_elf32_size_hook): New function.
18707 (grub_bsd_elf32_hook): Use relocator.
18708 (grub_bsd_elf64_size_hook): New function.
18709 (grub_bsd_elf64_hook): Use relocator.
18710 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
18711 (grub_bsd_load): Zero-out openbsd_ramdisk.
18712 (grub_bsd_load): Use relocator.
18713 (grub_cmd_openbsd): Support serial.
18714 (grub_cmd_netbsd): Support modules.
18715 (grub_cmd_freebsd_module): Use relocator.
18716 (grub_netbsd_module_load): New function.
18717 (grub_cmd_netbsd_module): Likewise.
18718 (grub_cmd_openbsd_ramdisk): Likewise.
18719 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
18720 kopenbsd_ramdisk.
18721 (GRUB_MOD_FINI): Unregister new commands.
18722 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
18723 (grub_freebsd_load_elfmodule_obj): Use relocator.
18724 (grub_freebsd_load_elfmodule): Likewise.
18725 (grub_freebsd_load_elf_meta): Likewise.
18726 (grub_netbsd_load_elf_meta): New function.
18727 (grub_openbsd_find_ramdisk): Likewise.
18728 * grub-core/loader/i386/bsd_helper.S: Removed.
18729 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
18730 * grub-core/loader/i386/bsd_trampoline.S: Removed.
18731 * grub-core/loader/i386/efi/linux.c: Likewise.
18732 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
18733 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
18734 (DEFAULT_VIDEO_MODE): Likewise.
18735 (real_mode_target): New variable.
18736 (prot_mode_target): Likewise.
18737 (initrd_mem_target): Likewise.
18738 (relocator): Likewise.
18739 (efi_mmap_buf): Likewise.
18740 (efi_mmap_size): Likewise.
18741 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
18742 (free_pages): Use relocator.
18743 (allocate_pages): Account for efi_mmap and use relocator. Return error.
18744 (grub_linux_setup_video): Return error.
18745 (grub_linux_trampoline_start): Removed.
18746 (grub_linux_trampoline_end): Likewise.
18747 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
18748 andd video parameters depending on firmware.
18749 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
18750 [GRUB_MACHINE_EFI]: Pass EFI parameters.
18751 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
18752 (grub_cmd_initrd): Use relocator.
18753 * grub-core/loader/i386/linux_trampoline.S: Removed.
18754 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
18755 (elf_sec_entsize): Likewise.
18756 (elf_sec_shstrndx): Likewise.
18757 (elf_sections): Likewise.
18758 (grub_multiboot_load): Use relocator.
18759 (grub_multiboot_get_mbi_size): Account for sections.
18760 (grub_multiboot_make_mbi): Use relocator and support sections.
18761 (grub_multiboot_add_elfsyms): New function.
18762 (grub_multiboot_free_mbi): Free sections.
18763 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
18764 (grub_linux_real_target): Likewise.
18765 (grub_linux_real_chunk): Likewise.
18766 (grub_linux16_prot_size): Likewise.
18767 (grub_linux16_boot): Use relocator.
18768 (grub_linux_unload): Unload relocator.
18769 (grub_cmd_linux): Use relocator.
18770 (grub_cmd_initrd): Likewise.
18771 * grub-core/loader/i386/pc/ntldr.c: New file.
18772 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
18773 Don't try to guess CPU frequency.
18774 (grub_xnu_set_video): Stretch bitmap.
18775 (grub_xnu_boot): Use relocator.
18776 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
18777 (grub_linux_unload): Free relocator.
18778 (grub_linux_load32): Use relocator.
18779 (grub_linux_load64): Likewise.
18780 (grub_cmd_initrd): Likewise.
18781 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
18782 (grub_multiboot_unload): Unload relocator.
18783 (grub_cmd_multiboot): Use relocator.
18784 (grub_cmd_module): Likewise.
18785 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
18786 Use relocator and support sections.
18787 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
18788 (elf_sec_entsize): Likewise.
18789 (elf_sec_shstrndx): Likewise.
18790 (elf_sections): Likewise.
18791 (grub_multiboot_load): Use relocator.
18792 (grub_multiboot_get_mbi_size): Account for sections.
18793 (grub_multiboot_make_mbi): Use relocator and support sections.
18794 (grub_multiboot_add_elfsyms): New function.
18795 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
18796 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
18797 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
18798 Prototype changed. All users updated.
18799 (grub_xnu_align_heap): Simplified.
18800 (grub_xnu_writetree_toheap): Likewise.
18801 (grub_xnu_unload): Unload relocator.
18802 (grub_cmd_xnu_kernel): Use relocator.
18803 (grub_cmd_xnu_kernel64): Likewise.
18804 (grub_xnu_register_memory): Simplified.
18805 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
18806 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
18807 EFI is finished.
18808 (grub_console_checkkey): Likewise.
18809 (grub_console_getkey): Likewise.
18810 (grub_console_getwh): Likewise.
18811 (grub_console_getxy): Likewise.
18812 (grub_console_gotoxy): Likewise.
18813 (grub_console_cls): Likewise.
18814 (grub_console_setcolorstate): Likewise.
18815 (grub_console_setcursor): Likewise.
18816 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
18817 * grub-core/tests/boot/kbsd.init-i386.S: New file.
18818 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
18819 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
18820 * grub-core/tests/boot/kernel-8086.S: Likewise.
18821 * grub-core/tests/boot/kernel-i386.S: Likewise.
18822 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
18823 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
18824 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
18825 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
18826 * grub-core/tests/boot/knetbsd.cfg: Likewise.
18827 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
18828 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
18829 * grub-core/tests/boot/linux.cfg: Likewise.
18830 * grub-core/tests/boot/linux.init-i386.S: Likewise.
18831 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
18832 * grub-core/tests/boot/linux16.cfg: Likewise.
18833 * grub-core/tests/boot/multiboot.cfg: Likewise.
18834 * grub-core/tests/boot/multiboot2.cfg: Likewise.
18835 * grub-core/tests/boot/ntldr.cfg: Likewise.
18836 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
18837 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
18838 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
18839 New definition.
18840 * include/grub/dl.h (grub_dl_unload_all): Removed.
18841 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
18842 (grub_efi_finish_boot_services): Change prototype.
18843 (grub_efi_is_finished): New variable.
18844 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
18845 Changed prototype.
18846 (grub_efiemu_finish_boot_services): Removed.
18847 (grub_machine_efiemu_init_tables): New prototype.
18848 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
18849 (grub_elf64_phdr_iterate): Likewise.
18850 * include/grub/i386/bsd.h: Include relocator.h.
18851 (freebsd_tag_header): New struct.
18852 (grub_openbsd_bios_mmap): Removed.
18853 (grub_unix_real_boot): Removed.
18854 (grub_freebsd_load_elfmodule32): Changed prototype.
18855 (grub_freebsd_load_elfmodule_obj64): Likewise.
18856 (grub_freebsd_load_elf_meta32): Likewise.
18857 (grub_freebsd_load_elf_meta64): Likewise.
18858 (grub_freebsd_add_meta): Removed.
18859 (grub_netbsd_load_elf_meta32): New prototype.
18860 (grub_netbsd_load_elf_meta64): Likewise.
18861 (grub_bsd_add_meta): Likewise.
18862 (grub_openbsd_ramdisk_descriptor): New struct.
18863 (grub_openbsd_find_ramdisk32): New prototype.
18864 (grub_openbsd_find_ramdisk64): Likewise.
18865 * include/grub/i386/coreboot/loader.h: Removed.
18866 * include/grub/i386/efi/loader.h: Likewise.
18867 * include/grub/i386/ieee1275/loader.h: Likewise.
18868 * include/grub/i386/linux.h (linux_kernel_header): Change void *
18869 to grub_uint32_t.
18870 * include/grub/i386/loader.h: Removed.
18871 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
18872 value.
18873 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
18874 (grub_phys_addr_t): New type.
18875 (grub_vtop): New inline function.
18876 (grub_map_memory): Likewise.
18877 (grub_unmap_memory): Likewise.
18878 * include/grub/i386/multiboot/loader.h: Removed.
18879 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
18880 (NETBSD_BTINFO_CONSOLE): New definition.
18881 (NETBSD_BTINFO_SYMTAB): Likewise.
18882 (NETBSD_BTINFO_MODULES): Likewise.
18883 (NETBSD_BTINFO_FRAMEBUF): Likewise.
18884 (grub_netbsd_bootinfo): New struct.
18885 (grub_netbsd_btinfo_common): Use explicit bitsize.
18886 (grub_netbsd_btinfo_mmap_entry): Removed.
18887 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
18888 (grub_netbsd_btinfo_bootdisk): New struct.
18889 (grub_netbsd_btinfo_symtab): Likewise.
18890 (grub_netbsd_btinfo_serial): Likewise.
18891 (grub_netbsd_btinfo_modules): Likewise.
18892 (grub_netbsd_btinfo_framebuf): Likewise.
18893 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
18894 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
18895 Likewise.
18896 (grub_openbsd_bootargs): Use explicit bitsize.
18897 (grub_openbsd_bootarg_console): New struct.
18898 (GRUB_OPENBSD_COM_MAJOR): New definition.
18899 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
18900 * include/grub/i386/pc/efiemu.h: Removed.
18901 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
18902 * include/grub/i386/qemu/loader.h: Removed.
18903 * include/grub/i386/relocator.h: Rewritten.
18904 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
18905 * include/grub/mips/memory.h: New file.
18906 * include/grub/mips/multiboot.h: Rewritten.
18907 * include/grub/mips/relocator.h: Rewritten.
18908 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
18909 (grub_vtop): New function.
18910 (grub_map_memory): Likewise.
18911 (grub_unmap_memory): Likewise.
18912 * include/grub/misc.h (ALIGN_DOWN): New definition.
18913 * include/grub/mm.h (grub_mm_check_real): New proto.
18914 (GRUB_MM_CHECK): New definition.
18915 * include/grub/mm_private.h: New file.
18916 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
18917 (grub_multiboot_get_mbi_size): Removed.
18918 (grub_multiboot_make_mbi): Change prottype.
18919 (grub_multiboot_set_accepts_video): New proto.
18920 (grub_multiboot_add_elfsyms): Likewise.
18921 (grub_multiboot_payload_eip): New variable.
18922 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
18923 New prototype.
18924 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
18925 New definition.
18926 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
18927 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
18928 * include/grub/powerpc/ieee1275/loader.h: Removed.
18929 * include/grub/powerpc/memory.h: New file.
18930 * include/grub/powerpc/relocator.h: Likewise.
18931 * include/grub/relocator.h: Likewise.
18932 * include/grub/relocator_private.h: Likewise.
18933 * include/grub/sparc64/ieee1275/loader.h: Removed.
18934 * include/grub/x86_64/memory.h: New file.
18935 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
18936 (grub_xnu_heap_malloc): Likewise.
18937 (grub_xnu_heap_real_start): Removed.
18938 (grub_xnu_heap_start): Likewise.
18939 (grub_xnu_relocator): New variable.
18940 (grub_xnu_heap_target_start): Likewise.
18941 * tests/util/grub-shell.in: Support non-pc.
18942 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 18943
5303b85d
VS
189442010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18945
18946 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
18947 on malloc error.
18948 (grub_bidi_logical_to_visual): Check that malloc succeded.
18949 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
18950 puts.
18951 (grub_xputs_normal): Likewise.
18952
d768d159
VS
189532010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18954
18955 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
18956 extra_dist.
18957
189582010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18959
18960 * grub-core/efiemu/runtime/efiemu.sh: Removed.
18961
5bf84df4
VS
189622010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18963
18964 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
18965
3626810e
VS
189662010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18967
18968 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
18969 dprintf.
18970
a7363f53
BC
189712010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
18972
18973 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
18974
902f75f6
VS
189752010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18976
18977 * grub-core/normal/term.c (print_more): Fix a memory leak.
18978 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
18979 (grub_xputs_normal): Likewise.
18980
3c707967
VS
189812010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18982
18983 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
18984 the begining of the string
18985
2053cc07
VS
189862010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18987
18988 * grub-core/script/script.c (grub_script_parse): Free parsed on
18989 failure.
18990
46422ebf
VS
189912010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18992
18993 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
18994 on failure.
18995
9e0fa3f6
VS
189962010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18997
18998 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
18999 return.
19000
3393cf16
VS
190012010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19002
19003 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
19004 (scroll_up): Fix a memory leak.
19005
b17540cb
VS
190062010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19007
19008 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
19009 errors.
19010
67140446
VS
190112010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
19012
19013 Handle USB pendrives exposed as floppies.
19014
19015 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
19016 floppy.
19017 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
19018 Check for partitions on all devices.
19019
e35e46fc
VS
190202010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19021
19022 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
19023 (readkey): Likewise.
19024
d24c6190
BC
190252010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
19026
19027 Multiple variable names support to "export" command.
19028
19029 * normal/context.c (grub_cmd_export): "export" command supports
19030 multiple variable names.
19031
04ddcc6a
ST
190322010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
19033
19034 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
19035 --target=drive output to Mach device name.
19036
0c8b61d8
BC
190372010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
19038
19039 New Automake based build system for GRUB.
19040
19041 * ABOUT-NLS: New file.
19042 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
19043 in Makefile.util.def file.
19044 * Makefile.util.def: New file. Autogen build definitions file for
19045 GRUB host utils.
19046 * conf/Makefile.common: New file. Common variables for GRUB host
19047 utils and target modules.
19048 * conf/Makefile.extra-dist: New file. Extra files for make dist.
19049 * docs/Makefile.am: New file. Automake file for docs.
19050 * gentpl.py: New file. Python script to generate Autogen
19051 template.
19052 * grub-core/Makefile.am: New file. GRUB target modules' rules
19053 that doesn't fit in Makefile.core.def file.
19054 * grub-core/Makefile.core.def: New file. Autogen build
19055 definitions file for GRUB target modules.
19056 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
19057 specific setjmp.S file.
19058 * po/Makefile.am: New file.
19059
19060 * .bzrignore: New ignores.
19061 * INSTALL: New requirements, without Ruby.
19062 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
19063 * autogen.sh: Updated to invoke autogen as necessary.
19064 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
19065 and defines for Automake conditionals.
19066 * geninit.sh: Refactoring.
19067
19068 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
19069 necessary.
19070 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
19071 New prototype.
19072
19073 * include/grub/test.h: Fix functional test modules' naming.
19074 * grub-core/tests/example_functional_test.c: Fix test module name.
19075
19076 * util/misc.c: Hosted versions' of grub functions for libgrub.a
19077 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
19078 * util/grub-editenv.c: Likewise.
19079 * util/grub-fstest.c: Likewise.
19080 * util/grub-mkdevicemap.c: Likewise.
19081 * util/grub-mkfont.c: Likewise.
19082 * util/grub-mkimage.c: Likewise.
19083 * util/grub-mkpasswd-pbkdf2.c: Likewise.
19084 * util/grub-probe.c: Likewise.
19085 * util/grub-script-check.c: Likewise.
19086 * util/i386/pc/grub-setup.c: Likewise.
19087 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19088
19089 * tests/util/grub-shell.in: Fix override directory path.
19090 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
19091 * util/import_gcry.py: Create Makefile.gcry.def file instead.
19092
19093 * util/lvm.c: Update #includes.
19094 * util/raid.c: Likewise.
19095 * util/resolve.c: Likewise.
19096 * grub-core/bus/emu/pci.c: Likewise.
19097 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
19098 * grub-core/lib/posix_wrap/string.h: Likewise.
19099 * grub-core/kern/emu/main.c: Likewise.
19100
19101 * grub-core/gensymlist.sh: New file. Script for generating kernel
19102 symbols file.
19103 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
19104
19105 * grub-core/gentrigtables.c: Fix unused variable warnings.
19106
19107 * Makefile.in: Removed.
19108 * conf/any-emu.rmk: Removed.
19109 * conf/common.rmk: Removed.
19110 * conf/i386-coreboot.rmk: Removed.
19111 * conf/i386-efi.rmk: Removed.
19112 * conf/i386-ieee1275.rmk: Removed.
19113 * conf/i386-multiboot.rmk: Removed.
19114 * conf/i386-pc.rmk: Removed.
19115 * conf/i386-qemu.rmk: Removed.
19116 * conf/i386.rmk: Removed.
19117 * conf/mips-yeeloong.rmk: Removed.
19118 * conf/mips.rmk: Removed.
19119 * conf/powerpc-ieee1275.rmk: Removed.
19120 * conf/sparc64-ieee1275.rmk: Removed.
19121 * conf/tests.rmk: Removed.
19122 * conf/x86-efi.rmk: Removed.
19123 * conf/x86_64-efi.rmk: Removed.
19124 * gendistlist.sh: Removed.
19125 * geninitheader.sh: Removed.
19126 * genkernsyms.sh.in: Removed.
19127 * genmk.rb: Removed.
19128 * gensymlist.sh.in: Removed.
19129 * mkinstalldirs: Removed.
19130 * boot: Moved ...
19131 * grub-core/boot: ... to here.
19132 * bus: Moved ...
19133 * grub-core/bus: ... to here.
19134 * commands: Moved ...
19135 * grub-core/commands: ... to here.
19136 * disk: Moved ...
19137 * grub-core/disk: ... to here.
19138 * efiemu: Moved ...
19139 * grub-core/efiemu: ... to here.
19140 * font: Moved ...
19141 * grub-core/font: ... to here.
19142 * fs: Moved ...
19143 * grub-core/fs: ... to here.
19144 * gencmdlist.sh: Moved ...
19145 * grub-core/gencmdlist.sh: ... to here.
19146 * genemuinit.sh: Moved ...
19147 * grub-core/genemuinit.sh: ... to here.
19148 * genemuinitheader.sh: Moved ...
19149 * grub-core/genemuinitheader.sh: ... to here.
19150 * genfslist.sh: Moved ...
19151 * grub-core/genfslist.sh: ... to here.
19152 * genhandlerlist.sh: Moved ...
19153 * grub-core/genhandlerlist.sh: ... to here.
19154 * genmoddep.awk: Moved ...
19155 * grub-core/genmoddep.awk: ... to here.
19156 * genmodsrc.sh: Moved ...
19157 * grub-core/genmodsrc.sh: ... to here.
19158 * genpartmaplist.sh: Moved ...
19159 * grub-core/genpartmaplist.sh: ... to here.
19160 * genparttoollist.sh: Moved ...
19161 * grub-core/genparttoollist.sh: ... to here.
19162 * genterminallist.sh: Moved ...
19163 * grub-core/genterminallist.sh: ... to here.
19164 * gentrigtables.c: Moved ...
19165 * grub-core/gentrigtables.c: ... to here.
19166 * genvideolist.sh: Moved ...
19167 * grub-core/genvideolist.sh: ... to here.
19168 * gettext: Moved ...
19169 * grub-core/gettext: ... to here.
19170 * gfxmenu: Moved ...
19171 * grub-core/gfxmenu: ... to here.
19172 * gnulib: Moved ...
19173 * grub-core/gnulib: ... to here.
19174 * hello: Moved ...
19175 * grub-core/hello: ... to here.
19176 * hook: Moved ...
19177 * grub-core/hook: ... to here.
19178 * io: Moved ...
19179 * grub-core/io: ... to here.
19180 * kern: Moved ...
19181 * grub-core/kern: ... to here.
19182 * lib: Moved ...
19183 * grub-core/lib: ... to here.
19184 * loader: Moved ...
19185 * grub-core/loader: ... to here.
19186 * mmap: Moved ...
19187 * grub-core/mmap: ... to here.
19188 * normal: Moved ...
19189 * grub-core/normal: ... to here.
19190 * partmap: Moved ...
19191 * grub-core/partmap: ... to here.
19192 * parttool: Moved ...
19193 * grub-core/parttool: ... to here.
19194 * script: Moved ...
19195 * grub-core/script: ... to here.
19196 * term: Moved ...
19197 * grub-core/term: ... to here
19198 * tests/example_functional_test.c: Moved ...
19199 * grub-core/tests/example_functional_test.c: ... to here.
19200 * tests/lib/functional_test.c: Moved ...
19201 * grub-core/tests/lib/functional_test.c: ... to here.
19202 * tests/lib/test.c: Moved ...
19203 * grub-core/tests/lib/test.c: ... to here.
19204 * video: Moved ...
19205 * grub-core/video: ... to here.
19206
645586e6
BC
192072010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
19208
19209 Replace --enable-grub-emu-modules with grub-emu-lite.
19210
19211 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
19212 cache.S.
19213
19214 * include/grub/emu/misc.h (grub_emu_init): New prototype.
19215 * kern/emu/full.c: New file. For grub-emu specific initialization.
19216 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
19217 * kern/emu/main.c: Call initialization function grub_emu_init.
19218
19219 * Makefile.in: Include grub-emu-lite in install.
19220 * commands/parttool.c: Use grub_no_autoload to differentiate
19221 between grub-emu and grub-emu-lite.
19222 * include/grub/misc.h: New variable grub_no_autoload.
19223
19224 * conf/any-emu.rmk: New rules for grub-emu-lite.
19225 * configure.ac: Remove --enable-grub-emu-modules.
19226 * genmk.rb: Cleanup unnecessary rules.
19227 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
19228
19229 * normal/main.c: Don't load list files on grub-emu-lite.
19230 * util/misc.c (grub_arch_sync_caches): Removed.
19231
f86a4030
CW
192322010-08-23 Colin Watson <cjwatson@ubuntu.com>
19233
19234 * kern/mips/startup.S (grub_prefix): Update comment to refer to
19235 grub-mkimage rather than grub-mkelfimage.
19236 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
19237
06776944
VS
192382010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
19239
19240 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
19241 a key after CapsLock or NumLock. It's just a qemu bug.
19242
df262419
VS
192432010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
19244
19245 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
19246 needed by libusb wrapper.
19247
b40ea81b
ST
192482010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
19249
19250 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
19251
dee50575
VS
192522010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
19253
19254 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
19255 --nounzip is passed.
19256
fb1d7b79
VS
192572010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
19258
19259 USB hotunplugging and USB serial support.
19260
19261 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
19262 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
19263 (grub_uhci_transfer): Respect timeout and set *actual.
19264 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
19265 non-standard length.
19266 (grub_usb_device_attach): Autoload modules.
19267 (GRUB_MOD_INIT): Set grub_term_poll_usb.
19268 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
19269 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
19270 users updated.
19271 (grub_usb_add_hub): Fill nports and children.
19272 (attach_root_port): Receive hub instead of controller.
19273 All users updated. Fill hub->devices.
19274 (grub_usb_root_hub): Allocate hub->devices.
19275 (detach_device): New function.
19276 (poll_nonroot_hub): Fill children and detach devices.
19277 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
19278 actual arguments. All users updated.
19279 (grub_usb_bulk_read_extended): New function.
19280 * bus/usb/serial/common.c: New file.
19281 * bus/usb/serial/ftdi.c: Likewise.
19282 * bus/usb/serial/pl2303.c: Likewise.
19283 * commands/terminal.c (handle_command): Support wildcard.
19284 * commands/usbtest.c: Output "Unknown" instead of empty string.
19285 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
19286 (usbserial_common_mod_SOURCES): New variable.
19287 (usbserial_common_mod_CFLAGS): Likewise.
19288 (usbserial_common_mod_LDFLAGS): Likewise.
19289 (pkglib_MODULES): Add usbserial_pl2303.mod.
19290 (usbserial_pl2303_mod_SOURCES): New variable.
19291 (usbserial_pl2303_mod_CFLAGS): Likewise.
19292 (usbserial_pl2303_mod_LDFLAGS): Likewise.
19293 (pkglib_MODULES): Add usbserial_ftdi.mod.
19294 (usbserial_ftdi_mod_SOURCES): New variable.
19295 (usbserial_ftdi_mod_CFLAGS): Likewise.
19296 (usbserial_ftdi_mod_LDFLAGS): Likewise.
19297 (pkglib_MODULES): Add serial.mod.
19298 (serial_mod_SOURCES): New variable.
19299 (serial_mod_CFLAGS): Likewise.
19300 (serial_mod_LDFLAGS): Likewise.
19301 * conf/i386-pc.rmk: Likewise.
19302 * conf/mips-yeeloong.rmk: Likewise.
19303 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
19304 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
19305 * disk/usbms.c (first_available_slot): New variable.
19306 (grub_usbms_attach): Don't reuse free slots due to potential cache
19307 problems.
19308 * include/grub/serial.h: Moved to ..
19309 * include/grub/ns8250.h: ...this.
19310 * include/grub/serial.h: New file.
19311 * include/grub/term.h (grub_term_poll_usb): New variable.
19312 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
19313 readkey. All users updated.
19314 (grub_terminfo_output_state): Pass term to put.
19315 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
19316 (grub_usb_controller_dev): Add timeout and actual arguments to
19317 transfer. All users updated.
19318 (grub_usb_interface): New field detach_data.
19319 (grub_usb_device): New fields children and nports.
19320 (grub_usb_ep_type_t): New type.
19321 (grub_usb_get_ep_type): New function.
19322 (grub_usb_bulk_read_extended): Likewise.
19323 * include/grub/usbdesc.h (grub_usb_desc): New type.
19324 * include/grub/usbserial.h: New file.
19325 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
19326 * kern/term.c (grub_term_poll_usb): New variable.
19327 (grub_getkey): Call grub_term_poll_usb if set.
19328 (grub_checkkey): Likewise.
19329 (grub_getkeystatus): Likewise.
19330 * term/serial.c: Moved controller-specific parts to ...
19331 * term/ns8250.c: ... here.
19332 * term/serial.c: Mostly rewritten.
19333 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
19334 according to spec.
19335
21a313de
RM
193362010-08-20 Robert Millan <rmh@gnu.org>
19337
19338 Make kFreeBSD code more generic to support ext2fs as root, ufs as
19339 a separate module and maybe other interesting combinations.
19340
19341 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
19342 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
19343 (kfreebsd_entry): Add generic filesystem module load routine.
19344 Map GRUB `ext2' to kFreeBSD `ext2fs'.
19345
63c734a6
CW
193462010-08-20 Colin Watson <cjwatson@ubuntu.com>
19347
19348 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
19349 "numcenter" (I misunderstood the purpose of this entry).
19350 * docs/grub.texi (sendkey): Likewise.
19351
c4d16542
CW
193522010-08-20 Colin Watson <cjwatson@ubuntu.com>
19353
19354 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
19355 status flag options; simply omitting the option is equivalent and
19356 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
19357 (keysym_table): Rename "num5numlock" to "numlock".
19358 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
19359 can uniformly say that only the last of multiple `sendkey'
19360 invocations has any effect.
19361 * docs/grub.texi (sendkey): New section.
19362
93541d66
CW
193632010-08-19 Colin Watson <cjwatson@ubuntu.com>
19364
19365 * commands/i386/pc/sendkey.c (options): Fix three typos.
19366
b4ece5e1
VS
193672010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
19368
19369 Implement sendkey support.
19370
19371 * commands/i386/pc/sendkey.c: New file.
19372 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
19373 (sendkey_mod_SOURCES): New variable.
19374 (sendkey_mod_CFLAGS): Likewise.
19375 (sendkey_mod_LDFLAGS): Likewise.
19376
51f1f5af
CW
193772010-08-18 Colin Watson <cjwatson@ubuntu.com>
19378
19379 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
19380 fix warnings from Autoconf.
19381
9da94e05
CW
193822010-08-18 Colin Watson <cjwatson@ubuntu.com>
19383
19384 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
19385 to avoid false positives with some assemblers that output things
19386 like "someprefix_func" as part of their output.
19387
729a0f2e
RM
193882010-08-15 Robert Millan <rmh@gnu.org>
19389
19390 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
19391 errors.
19392 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
19393 grub_get_libzfs_handle() errors.
19394
f3710e08
RM
193952010-08-14 Robert Millan <rmh@gnu.org>
19396
19397 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
19398 filesystem is not ZFS.
19399
7a3c13de
BC
194002010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
19401
19402 Fix for misspelled color names defaulting to black/black (bug
19403 reported by Doug Nazar)
19404
19405 * include/grub/normal.h (grub_parse_color_name_pair): Add return
19406 status to prototype.
19407 * normal/color.c (grub_parse_color_name_pair): Return failure
19408 status.
19409 (grub_env_write_color_normal): Ignore bad color names.
19410 (grub_env_write_color_highlight): Likewise.
19411 * normal/main.c (GRUB_MOD_INIT): Set default color names.
19412
ab8ba50d
BC
194132010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
19414
19415 "shift" command support to GRUB script.
19416
19417 * include/grub/script_sh.h (grub_script_shift): New prototype.
19418 * script/execute.c (grub_script_shift): New function.
19419 * script/main.c (grub_script_init): Register shift command.
19420 (grub_script_fini): Unregister shift command.
19421 * util/grub-script-check.c (grub_script_cmd_shift): New function.
19422
19423 * tests/grub_script_shift.in: New testcase.
19424 * conf/tests.rmk: Rules for new testcase.
19425
4d61999e
BC
194262010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
19427
19428 "continue" command support to GRUB script.
19429
19430 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
19431 (grub_script_break): Continue support.
19432 * script/main.c (grub_script_init): Register continue command.
19433 (grub_script_fini): Unregister continue command.
19434
19435 * tests/grub_script_continue.in: New testcase.
19436 * conf/tests.rmk: Rules for new testcase.
19437
4df51e00
BC
194382010-08-12 BVK Chaitanya <bvk@dbook>
19439
19440 "break" command support to GRUB script.
19441
19442 * conf/common.rmk: Rule updates to grub-script-check.
19443 * include/grub/misc.h (grub_min): New function.
19444 * include/grub/script_sh.h (grub_script_init): New prototype.
19445 (grub_script_fini): New prototype.
19446 (grub_script_break): New prototype.
19447 * script/main.c (grub_script_init): New function.
19448 (grub_script_fini): New function.
19449 * script/execute.c (grub_script_break): New function.
19450 * normal/main.c: Calls to grub_script_{init,fini}.
19451 * util/grub-script-check.c (grub_script_break): New function.
19452
19453 * tests/grub_script_break.in: New testcase.
19454 * conf/tests.rmk: Rules for new test case.
19455
f12c8420
BC
194562010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
19457
19458 Function parameters support to GRUB script.
19459
19460 * script/yylex.l (VARIABLE): Regular expression update.
19461 * script/function.c (grub_script_function_call): Moved ...
19462 * script/execute.c (grub_script_function_call): ... to here.
19463 (grub_script_execute_arglist_to_argv): Removed.
19464 (grub_script_arglist_to_argv): New function.
19465 * script/argv.c: New file.
19466 (grub_script_argv_free): New function.
19467 (grub_script_argv_next): Likewise.
19468 (grub_script_argv_append): Likewise.
19469 (grub_script_argv_split_append): Likewise.
19470 * include/grub/script_sh.h (grub_script_argv): New struct.
19471 (grub_script_argv_free): New function.
19472 (grub_script_argv_next): Likewise.
19473 (grub_script_argv_append): Likewise.
19474 (grub_script_argv_split_append): Likewise.
19475
19476 * conf/common.rmk (normal.mod): New source script/argv.c.
19477
19478 * tests/grub_script_echo1.in: More tests.
19479 * tests/grub_script_vars1.in: Likewise.
19480 * tests/grub_script_functions.in: New test case.
19481 * conf/tests.rmk: Rules for new testcase.
19482
8022b748
BC
194832010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
19484
19485 Remove grub_script_cmdblock struct.
19486
19487 * include/grub/script_sh.h: Remove grub_script_cmdblock.
19488 * script/parser.y: Likewise.
19489 * script/execute.c: Rename cmdblock suffix to cmdlist.
19490 * script/script.c: Likewise.
19491 * util/grub-script-check.c: Likewise.
19492
79a6ba61
YB
194932010-08-11 Yves Blusseau <blusseau@zetam.org>
19494
19495 * .bzrignore: add grub-macho2img
19496
d04b9414
VS
194972010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
19498
19499 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
19500
f947ab49
VS
195012010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
19502
19503 Remove the dump of sm712 initialisation sequence.
19504
19505 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
19506 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
19507 (GRUB_VGA_IO_MISC_WRITE): Likewise.
19508 (GRUB_VGA_CR_*): Added many registers.
19509 (GRUB_VGA_SR_*): Likewise.
19510 (GRUB_VGA_GR_*): Likewise.
19511 (grub_vga_write_arx): New function.
19512 (grub_video_hw_config): New struct.
19513 (grub_vga_set_geometry): New function.
19514 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
19515 GRUB_PCI_CLASS_SUBCLASS_VGA.
19516 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
19517 * video/sm712.c (grub_sm712_write_reg): New function
19518 (grub_sm712_read_reg): Likewise.
19519 (grub_sm712_sr_write): Likewise.
19520 (grub_sm712_gr_write): Likewise.
19521 (grub_sm712_cr_write): Likewise.
19522 (grub_sm712_write_arx): Likewise.
19523 (grub_sm712_cr_shadow_write): Likewise.
19524 (grub_sm712_write_dda_lookup): Likewise.
19525 (grub_video_sm712_setup): Initialise the video rather then
19526 blindly replay the dump.
19527 (main) [TEST]: Add a routine to be able to compile as standalone for
19528 tests.
19529 * video/sm712_init.c (sm712_init): Removed.
19530 (sm712_sr_seq1): New array.
19531 (sm712_sr_seq2): Likewise.
19532
f0206638
VS
195332010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
19534
19535 * include/grub/vga.h: Add missing grub/pci.h include.
19536
2764da3b
YB
195372010-08-10 Yves Blusseau <blusseau@zetam.org>
19538
19539 * util/grub-macho2img.c (main): fix typo
19540
cf0c775e
VS
195412010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
19542
19543 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
19544 (grub_vga_gr_read): Likewise.
19545 (grub_vga_cr_write): Likewise.
19546 (grub_vga_cr_read): Likewise.
19547 (grub_vga_sr_write): Likewise.
19548 (grub_vga_sr_read): Likewise.
19549 (grub_vga_palette_read): Likewise.
19550 (grub_vga_palette_write): Likewise.
19551 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
19552 (grub_sm712_sr_read): New function.
19553 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
19554 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
19555
07f360e9
RM
195562010-08-09 Robert Millan <rmh@gnu.org>
19557
19558 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
19559 out unused variables on non-ZFS build.
19560
346c2072
RM
195612010-08-08 Robert Millan <rmh@gnu.org>
19562
19563 Fix path generation for sub-filesystems in ZFS.
19564
19565 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
19566 missing slash.
19567
71175420
RM
195682010-08-08 Robert Millan <rmh@gnu.org>
19569
19570 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
19571
0d8286f3
RM
195722010-08-08 Robert Millan <rmh@gnu.org>
19573
19574 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
19575 exist, issue a proper error message (rely on `ls' for translated
19576 strings).
19577
55dd2924
RM
195782010-08-08 Robert Millan <rmh@gnu.org>
19579
19580 Fix grub-probe invocation.
19581
19582 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
19583
d3dd9e80
RM
195842010-08-04 Robert Millan <rmh@gnu.org>
19585
19586 * configure.ac: Remove checks for getfsstat() and getmntany().
19587 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
19588 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
19589 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
19590 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
19591 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
19592 function.
19593 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
19594 via find_mount_point_from_dir() and getfsstat() / getmntany().
19595
0de22aa9
RM
195962010-08-04 Robert Millan <rmh@gnu.org>
19597
19598 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
19599 (grub_find_zpool_from_mount_point): Merge into ...
19600 (grub_find_zpool_from_dir): ... this.
19601 * kern/emu/misc.c: Likewise.
19602
19603 * kern/emu/misc.c
19604 (grub_make_system_path_relative_to_its_root): Replace
19605 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
19606 with grub_find_zpool_from_dir().
19607 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
19608
62858144
RM
196092010-08-04 Robert Millan <rmh@gnu.org>
19610
19611 Support OpenSolaris in ZFS device resolution.
19612
19613 * configure.ac: Check for getmntany().
19614 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
19615 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
19616 support.
19617
9dd6fd50
RM
196182010-08-03 Robert Millan <rmh@gnu.org>
19619
19620 Fix grub-emu build.
19621
19622 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
19623 * include/grub/emu/misc.h: ... here.
19624
19625 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
19626 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
19627
19628 * util/misc.c: Remove `<grub/util/libzfs.h>'.
19629 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
19630 (grub_get_libzfs_handle): Move to ...
19631 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
19632 (grub_get_libzfs_handle): ... here.
19633
c9f7ff97
BC
196342010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
19635
19636 * script/execute.c (grub_script_execute_cmdline): Check for NULL
19637 as command name case.
19638
a870a783
CW
196392010-08-02 Colin Watson <cjwatson@ubuntu.com>
19640
19641 * disk/raid.c (insert_array): Select unique numbers for named arrays
19642 as well, for use as keys in the disk cache.
19643
c7db243b
RM
196442010-08-01 Robert Millan <rmh@gnu.org>
19645
19646 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
19647 kFreeBSD device name, except on ZFS where the filesystem label is
19648 used.
19649 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
19650 `/boot/zfs/zpool.cache'.
19651 Set mountfrom kernel variable using ${kfreebsd_device}.
19652
f7abdefb
RM
196532010-08-01 Robert Millan <rmh@gnu.org>
19654
19655 Make it even harder to use uninitialized `libzfs_handle' (and
19656 make the interface a bit simpler).
19657
19658 * include/grub/util/misc.h (grub_util_init_libzfs)
19659 (libzfs_handle): Remove.
19660 (grub_get_libzfs_handle): New prototype.
19661
19662 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
19663 attribute.
19664 (grub_util_init_libzfs): Remove.
19665 (grub_get_libzfs_handle): New function.
19666
19667 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
19668 grub_get_libzfs_handle() to obtain a libzfs handle instead of
19669 accessing `libzfs_handle' directly.
19670
c882acc0
RM
196712010-08-01 Robert Millan <rmh@gnu.org>
19672
19673 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
19674 (grub_find_zpool_from_mount_point): New function prototypes.
19675
19676 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
19677 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
19678
19679 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
19680 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
19681 `static' attribute.
19682
19683 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
19684 finding zpool from mount point into ...
19685 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
19686
19687 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
19688 requested path is part of a ZFS pool, use
19689 grub_find_zpool_from_mount_point() to detect its filesystem name,
19690 and generate a path with `/fsname@path' syntax.
19691
8bfe31d8
CW
196922010-08-01 Colin Watson <cjwatson@ubuntu.com>
19693
19694 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
19695 (void) rather than () so that this is a proper prototype.
19696
553df63d
VS
196972010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
19698
19699 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
19700
8687cf07
VS
197012010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
19702
19703 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
19704 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
19705
ea9be8ea
CW
197062010-08-01 Colin Watson <cjwatson@ubuntu.com>
19707
19708 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
19709
6eea041a
CW
197102010-08-01 Colin Watson <cjwatson@ubuntu.com>
19711
19712 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
19713
2cfb45df
CW
197142010-08-01 Colin Watson <cjwatson@ubuntu.com>
19715
19716 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
19717 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
19718 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
19719 disable gfxpayload.
19720 (Shell-like scripting): Add real content.
19721 (Serial terminal): Suggest `terminal_input serial; terminal_output
19722 serial' rather than putting the two commands on separate lines,
19723 since console input will be inoperative after the first command.
19724 (menuentry): Document --class, --users, and --hotkey options.
19725 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
19726 Vladimir Serbinenko).
19727
7decd202
VS
197282010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
197292010-08-01 Colin Watson <cjwatson@ubuntu.com>
19730
19731 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
19732
c882acc0
RM
197332010-08-01 Robert Millan <rmh@gnu.org>
19734
19735 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
19736 (grub_find_zpool_from_mount_point): New function prototypes.
19737
19738 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
19739 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
19740
19741 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
19742 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
19743 `static' attribute.
19744
19745 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
19746 finding zpool from mount point into ...
19747 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
19748
19749 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
19750 requested path is part of a ZFS pool, use
19751 grub_find_zpool_from_mount_point() to detect its filesystem name,
19752 and generate a path with `/fsname@path' syntax.
19753
deb0caa3
RM
197542010-08-01 Robert Millan <rmh@gnu.org>
19755
19756 Prevent accidental use of uninitialized libzfs_handle.
19757
19758 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
19759 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
19760 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
19761
ce04ef47
CW
197622010-08-01 Colin Watson <cjwatson@ubuntu.com>
19763
19764 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
19765 util/grub.d/10_linux.in). Fixes Debian bug #591093.
19766
ebf53056
RM
197672010-08-01 Robert Millan <rmh@gnu.org>
19768
19769 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 19770
3710bb6b
RM
197712010-07-31 Robert Millan <rmh@gnu.org>
19772
19773 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
19774
8072efeb
RM
197752010-07-31 Robert Millan <rmh@gnu.org>
19776
19777 * kern/emu/misc.c: Add missing license header.
19778
3169f4c7
RM
197792010-07-31 Robert Millan <rmh@gnu.org>
19780
19781 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
19782
19783 * include/grub/util/libnvpair.h: Include `<config.h>'.
19784 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
19785 declaring libnvpair prototypes ourselves.
19786 * include/grub/util/libzfs.h: Include `<config.h>'.
19787 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
19788 declaring libzfs prototypes ourselves.
19789
19790 (libzfs_handle): Moved to ...
19791 * include/grub/util/misc.h (libzfs_handle): ... here.
19792 Include `<grub/util/libzfs.h>'.
19793
c9a00aee
RM
197942010-07-30 Robert Millan <rmh@gnu.org>
19795
19796 * include/grub/emu/misc.h: Add missing license header.
19797
a184f9c8
RM
197982010-07-30 Robert Millan <rmh@gnu.org>
19799
19800 Enable `grub-probe -t device' resolution on ZFS.
19801
19802 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
19803 * include/grub/util/libnvpair.h: New file.
19804 * include/grub/util/libzfs.h: New file.
19805
19806 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
19807 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
19808 `<grub/util/libnvpair.h>'.
19809 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
19810
19811 (find_mount_point_from_dir): New static function.
19812 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
19813 function.
19814 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
19815 find_root_device_from_libzfs() before ressorting to find_root_device().
19816
19817 * include/grub/util/misc.h (grub_util_init_libzfs): New function
19818 prototype.
19819 * util/misc.c: Include `<grub/util/libzfs.h>'.
19820 (grub_util_init_libzfs): New function.
19821 [HAVE_LIBZFS] (libzfs_handle): New global variable.
19822 [HAVE_LIBZFS] (fini_libzfs): New static function.
19823 (grub_util_init_libzfs): New function.
19824 * util/grub-probe.c (main): Call grub_util_init_libzfs().
19825
f7790cdd
RM
198262010-07-30 Robert Millan <rmh@gnu.org>
19827
19828 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
19829 (xmalloc, xrealloc, xstrdup, xasprintf): Add
19830 `warn_unused_result' attribute.
19831 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
19832 (grub_xasprintf, grub_xvasprintf): Likewise.
19833 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
19834
0806b63c
RM
198352010-07-29 Robert Millan <rmh@gnu.org>
19836
19837 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
19838 (probe): Handle `PRINT_FS_LABEL'.
19839 (main): Handle `-t fs_label'.
19840
9f841f5c
RM
198412010-07-29 Robert Millan <rmh@gnu.org>
19842
19843 * configure.ac: Remove grub-mkisofs checks.
19844
46371121
VS
198452010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
19846
19847 * util/ieee1275/grub-install.in: Don't use empty grub_device.
19848 Reported by: Lennart Sorensen.
19849
198502010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19851
19852 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
19853 prior to terminal_input/terminal_output separation. It's been over 1.5
19854 years and those versions weren't widely deployed.
19855
a9600892
CW
198562010-07-22 Colin Watson <cjwatson@ubuntu.com>
19857
19858 * disk/raid.c (insert_array): Don't count named arrays when looking
19859 for unused array numbers.
697e053c 19860 Reported and tested by: Michael Guntsche.
a9600892 19861
c03507df
CW
198622010-07-20 Colin Watson <cjwatson@ubuntu.com>
19863
19864 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
19865 implementation of this so that grub-emu links again, with a note
19866 that this should support hotplugging in the future.
19867
b26f1c11
CW
198682010-07-20 Colin Watson <cjwatson@ubuntu.com>
19869
19870 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
19871
efc9d7f1
CW
198722010-07-20 Colin Watson <cjwatson@ubuntu.com>
19873
19874 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
19875 handle on failure.
19876 (grub_loopback_close): Remove empty function.
19877 (grub_loopback_dev): Remove close method.
19878
dd8ff5c9
CW
198792010-07-20 Colin Watson <cjwatson@ubuntu.com>
19880
19881 Disable EFI cursor when the EFI console becomes inactive.
19882
19883 * term/efi/console.c (grub_efi_console_init): New function.
19884 (grub_efi_console_fini): New function.
19885 (grub_console_term_output): Register init and fini methods.
19886
5e3bec67
VS
198872010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19888
19889 * tests/util/grub-shell-tester.in: Remove bashism and declare as
19890 sh script.
19891
afaec079
VS
198922010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19893
19894 * disk/loopback.c (grub_loopback): Replace filename with file.
19895 (delete_loopback): Handle new semantics.
19896 (grub_cmd_loopback): Likewise.
19897 (grub_loopback_iterate): Likewise.
19898 (grub_loopback_close): Likewise.
19899
a6a11f3c
VS
199002010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19901
19902 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
19903 with -p "".
19904 Reported by: Tito Keitel.
19905
64a638b0
VS
199062010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19907
19908 * docs/grub.texi (Naming convention): Document new naming convention.
19909
ab8ba957
VS
199102010-07-20 Vadim Solomin <vadic052@gmail.com>
199112010-07-20 Colin Watson <cjwatson@ubuntu.com>
19912
19913 Generate device.map in something closer to the old ordering.
19914
19915 * util/deviceiter.c (struct device): New declaration.
19916 (compare_file_names): Rename to ...
19917 (compare_devices): ... this. Sort by kernel name in preference to
19918 the stable by-id name, but keep the latter as a fallback comparison.
19919 Update header comment.
19920 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
19921 of `struct device' rather than of plain file names.
19922
a29d6a4b
TF
199232010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
19924
19925 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
19926 on i386.
19927
39d824e8
VS
199282010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19929
19930 * commands/acpi.c (setup_common_tables): Use sizeof instead of
19931 hardcoding size.
19932 (setv1table): Likewise.
19933
f058276b
FZ
199342010-07-20 Colin Watson <cjwatson@ubuntu.com>
19935
19936 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
19937 removing the homehost if present.
19938 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
19939 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
19940 removing the homehost if present.
19941 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
19942 if possible.
19943 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
19944
19945 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
19946 parameter. Set its pointer target to 0.
19947 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
19948 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
19949 `data_offset' value from the superblock for 1.x metadata.
19950 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
19951 data on the device.
19952 (insert_array): Record the start sector of data on the device.
19953 (grub_raid_register): Pass start_sector parameters to
19954 grub_raid_list->detect and insert_array.
19955 * include/grub/raid.h (struct grub_raid_array): Add start_sector
19956 member.
19957 (struct grub_raid): Add start_sector parameter to `detect'.
19958
19959 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
19960 __attribute__ ((packed)), leaving a comment.
19961 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
19962 (grub_mdraid_detect_09): ... here and ...
19963 (grub_mdraid_detect_1x): ... here.
19964
199652010-07-20 Peter Henn <peter.henn@web.de>
19966
19967 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
19968 chunk size and disk size, which are already given as sector counts
19969 as distinct from the 0.90 units. Fetch the correct device number
19970 from the role table instead of using the table index.
19971
199722010-07-20 Felix Zielcke <fzielcke@z-51.de>
19973
19974 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
19975 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
19976 (WriteMostly1): New macro.
19977 Set array->name to NULL for metadata format 0.90. Add support for
19978 metadata 1.x. Fix some comments.
19979 * disk/raid.c (): Add support for name based RAID arrays. Fix a
19980 few comments.
19981 * util/getroot.c (grub_util_get_grub_dev): Add support for
19982 /dev/md/name style devices.
19983
4b761da9
CW
199842010-07-20 Colin Watson <cjwatson@ubuntu.com>
19985
19986 * .bzrignore: Ignore 20_linux_xen.
19987
5771289a
CW
199882010-07-17 Colin Watson <cjwatson@ubuntu.com>
19989
19990 * util/import_unicode.py: Remove unnecessary imports.
19991
5dab68df
AN
199922010-07-17 Aleš Nesrsta <starous@volny.cz>
19993
19994 Hotplugging and USB hub support.
19995
19996 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
19997 (grub_ohci): Likewise.
19998 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
19999 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
20000 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
20001 (GRUB_OHCI_CTRL_EDS): Likewise.
20002 (GRUB_OHCI_BULK_EDS): Likewise.
20003 (GRUB_OHCI_TDS): Likewise.
20004 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
20005 (grub_ohci_ed_phys2virt): New function.
20006 (grub_ohci_virt_to_phys): Likewise.
20007 (grub_ohci_td_phys2virt): Likewise.
20008 (grub_ohci_td_virt2phys): Likewise.
20009 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
20010 attachment.
20011 (grub_ohci_find_ed): New function.
20012 (grub_ohci_alloc_td): Likewise.
20013 (grub_ohci_free_td): Likewise.
20014 (grub_ohci_free_tds): Likewise.
20015 (grub_ohci_transfer): Use previously allocated memory.
20016 (grub_ohci_portstatus): Reset status changed bit.
20017 (grub_ohci_detect_dev): Supply status changed.
20018 (grub_ohci_fini_hw): Free memory.
20019 (grub_ohci_restore_hw): Reallocate memory.
20020 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
20021 Reset status change.
20022 (grub_uhci_detect_dev): Supply status_change.
20023 * bus/usb/usb.c (attach_hooks): New var.
20024 (grub_usb_device_attach): New function.
20025 (grub_usb_register_attach_hook_class): Likewise.
20026 (grub_usb_unregister_attach_hook_class): Likewise.
20027 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
20028 (grub_usb_add_hub): Reset connection changed bit.
20029 (attach_root_port): New function.
20030 (grub_usb_root_hub): Likewise.
20031 (poll_nonroot_hub): Likewise.
20032 (grub_usb_poll_devices): Likewise.
20033 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
20034 * disk/usbms.c (grub_usbms_open): Use device hooks.
20035 (grub_usbms_iterate) :Poll devices.
20036 (grub_usbms_finddevs): Split into ...
20037 (grub_usbms_attach): ... this ...
20038 (grub_usbms_attach): ... and this.
20039 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
20040 in detect_dev.
20041 (grub_usb_interface): New fields attached and detach_hook.
20042 (grub_usb_attach_hook_class): New type.
20043 (grub_usb_attach_desc): New struct.
20044 (grub_usb_register_attach_hook_class): New function.
20045 (grub_usb_unregister_attach_hook_class): Likewise.
20046 (grub_usb_poll_devices): Likewise.
20047 (grub_usb_device_attach): Likewise.
20048 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
20049 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
20050
3222efaf
VS
200512010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
20052
20053 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
20054 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
20055 delta determination style. Works with most NetBSD partitions too.
20056
139b714a
VS
200572010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
20058
20059 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
20060 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
20061
986aad56
VS
200622010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
20063
20064 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
20065
99be513c
AB
200662010-07-14 Anton Blanchard <anton@samba.org>
20067
20068 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
20069 ET_DYN files.
20070
18075f62
GS
200712010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
20072
20073 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
20074
8d9a5b15
GS
200752010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
20076
20077 * kern/partition.c (grub_partition_check_containment): New function to
20078 check that a partition is physically contained in a parent. Since
20079 offsets are relative (and non-negative), this reduces to checking that
20080 the partition ends before its parent.
20081 (grub_partition_map_probe): Discard out-of-range sub-partitions.
20082 (grub_partition_iterate): Likewise.
20083 * include/grub/partition.h (grub_partition_map): Slightly more detailed
20084 comments.
20085 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
20086 partitions that start before their parent, and add debug printfs.
20087
19563c25
CW
200882010-07-13 Colin Watson <cjwatson@ubuntu.com>
20089
20090 * Makefile.in (.SUFFIX): Spell correctly, as ...
20091 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
20092 bare module name without `.mod', e.g. `test') tried to invoke a
20093 Modula-2 compiler.
20094
1a1f1e67
CW
200952010-07-13 Colin Watson <cjwatson@ubuntu.com>
20096
20097 * README: Point to the Info manual.
20098
811b0dca
JS
200992010-07-13 Jiro SEKIBA <jir@unicus.jp>
20100
20101 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
20102 2nd superblock position from partition size.
20103
e4f4eafc
CW
201042010-07-10 Colin Watson <cjwatson@ubuntu.com>
20105
20106 * Makefile.in (MAINTAINER_CLEANFILES): Remove
20107 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
20108 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
20109 outputs.
20110
4274c30f
VS
201112010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
20112
20113 Restructure SCSI .id handling.
20114 Reported and tested by: Aleš Nesrsta.
20115
20116 * disk/ata.c (grub_atapi_close): Removed. All users updated.
20117 (grub_atapi_dev): Changed .name to "ata". New field .id.
20118 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
20119 (grub_usbms_dev): New field .id.
20120 * disk/scsi.c (grub_scsi_iterate): Generate name.
20121 (grub_scsi_open): Parse name.
20122 * include/grub/scsi.h (grub_make_scsi_id): New function.
20123 (grub_scsi_dev): Change iterate and open to number instead of naming
20124 busses. All users updated.
20125 (grub_scsi): Remove name. Add .bus.
20126
5bc24388
VS
201272010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
20128
20129 * commands/help.c (grub_cmd_help): Fix a typo.
20130
249975ba
VS
201312010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
20132
20133 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
20134 Reported and tested by: Colin Watson.
20135
3eaac1a1
VS
201362010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
20137
20138 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
20139 in this context.
20140
becce1b1
VS
201412010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
20142
20143 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
20144
f7bf0918
CW
201452010-07-07 Colin Watson <cjwatson@ubuntu.com>
20146
20147 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
20148 indentation.
20149
0b0f9620
CW
201502010-07-06 Colin Watson <cjwatson@ubuntu.com>
20151
20152 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
20153 and disk/raid6_recover.c.
20154 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
20155 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
20156
1e545469
CW
201572010-07-06 Colin Watson <cjwatson@ubuntu.com>
20158
20159 * term/gfxterm.c (repaint_schedulded): Rename to ...
20160 (repaint_scheduled): ... this. Update all callers.
20161 (repaint_was_schedulded): Rename to ...
20162 (repaint_was_scheduled): ... this. Update all callers.
20163
5357687a
CW
201642010-07-06 Colin Watson <cjwatson@ubuntu.com>
20165
20166 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
20167 which we expect to be handled by upper layers.
20168
29d7e783
BC
201692010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
20170
20171 * bus/usb/usbhub.c: #include time.h header.
20172
37582066
CW
201732010-07-06 Colin Watson <cjwatson@ubuntu.com>
20174
20175 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
20176 entry_name also for entries without stat blocks (e.g. ".."); fixes
20177 corruption of the first entry in a directory.
20178
c8c06953
CW
201792010-07-06 Colin Watson <cjwatson@ubuntu.com>
20180
20181 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
20182 after setting gfxterm as the active terminal. GRUB_BACKGROUND
20183 doesn't work otherwise.
20184
e75056f1
CW
201852010-07-05 Colin Watson <cjwatson@ubuntu.com>
20186
20187 * docs/grub.texi (Features): Update list of supported file systems.
20188 (GNU/Linux): Update for GRUB 2.
20189 (Serial terminal): Remove mention of --disable-serial, which was a
20190 GRUB Legacy configure option. Update instructions to use
20191 `terminal_input' and `terminal_output' rather than `terminal'.
20192 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
20193 configuration' and `Installing GRUB using grub-install'.
20194 (Menu entry editor): Update for GRUB 2.
20195 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
20196 Document new -a, -u, and -v options.
20197 (initrd): New section.
20198 (initrd16): New section.
20199 (linux): New section.
20200 (linux16): New section.
20201 (search): The `var' argument to `--set' is optional.
20202 (GRUB only offers a rescue shell): Go into a little more detail on
20203 drive ordering.
20204
5cf69151
CW
202052010-07-05 Colin Watson <cjwatson@ubuntu.com>
20206
20207 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
20208
e3f90044
CW
202092010-07-05 Colin Watson <cjwatson@ubuntu.com>
20210
20211 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
20212 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
20213
38d8f4f3
CW
202142010-07-05 Colin Watson <cjwatson@ubuntu.com>
20215
20216 * util/i386/pc/grub-setup.c (setup): Rename prefix to
20217 install_prefix, in line with install_dos_part and install_bsd_part.
20218 Add new prefix variable, which is copied to install_prefix after
20219 comparing core.img in memory with the one read from disk in the
20220 no-embedding case, and use that rather than overwriting
20221 install_prefix immediately when installing to a partition.
20222 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
20223 Bicakci.
20224
57ebd41e
GS
202252010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
20226
20227 * configure.ac: Avoid == in test command, it's not portable.
20228 * util/grub.d/30_os-prober.in: Likewise.
20229
cb7f64b2
CW
202302010-07-04 Colin Watson <cjwatson@ubuntu.com>
20231
20232 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
20233
6b654bb0
GS
202342010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
20235
20236 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
20237 multiple (top-level) partmaps.
20238
72a2026d
VS
202392010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20240
20241 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 20242 Reported by: Tino Keitel.
72a2026d 20243
df3eb88f
VS
202442010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20245
20246 Bidi and diacritics support.
20247
20248 * Makefile.in (widthspec.bin): New target.
20249 (widthspec.h): Likewise.
20250 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
20251 * autogen.sh: Generate unidata.c.
20252 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
20253 * commands/ls.c (grub_ls_list_devices): Likewise.
20254 (grub_ls_list_files): Likewise.
20255 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
20256 (grub_mini_cmd_lsmod): Likewise.
20257 * commands/read.c: Likewise.
20258 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
20259 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
20260 * lib/arg.c (grub_arg_show_help): Likewise.
20261 * lib/crypto.c (grub_password_get): Likewise.
20262 * normal/auth.c (grub_username_get): Likewise.
20263 * normal/misc.c (grub_normal_print_device_info): Likewise.
20264 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
20265 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
20266 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
20267 (normal/charset.c_DEPENDENCIES): New variable.
20268 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
20269 (pkglib_MODULES): Remove charset.mod.
20270 (charset_mod_SOURCES): Removed.
20271 (charset_mod_CFLAGS): Likewise.
20272 (charset_mod_LDFLAGS): Likewise.
20273 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
20274 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
20275 and term/tparm.c.
20276 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20277 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
20278 (kernel_img_HEADERS): Add terminfo.h.
20279 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
20280 Fill ->font. Reverse ascii bitmaps.
20281 (grub_font_get_xheight): New function.
20282 * font/font.c (grub_font_get_string_width): Moved from here ...
20283 * gfxmenu/font.c (grub_font_get_string_width): ... here.
20284 * font/font.c (grub_font_draw_string): Moved from here ...
20285 * gfxmenu/font.c (grub_font_draw_string): ... here.
20286 * font/font.c (grub_font_dup_glyph): New function.
20287 (grub_font_blit_glyph): Likewise.
20288 (grub_font_blit_glyph_mirror): Likewise.
20289 (blit_comb): Likewise.
20290 (grub_font_construct_dry_run): Likewise.
20291 (grub_font_get_constructed_device_width): Likewise.
20292 (grub_font_construct_glyph): Likewise.
20293 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
20294 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
20295 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
20296 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
20297 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
20298 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
20299 (grub_font_get_xheight): New proto.
20300 (grub_font_get_constructed_device_width): Likewise.
20301 (grub_font_construct_glyph): Likewise.
20302 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
20303 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
20304 * include/grub/font.h (grub_font_draw_string): Moved from here ...
20305 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
20306 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
20307 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
20308 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
20309 (grub_console_getcharwidth): Likewise.
20310 * include/grub/misc.h (grub_xputs): New proto.
20311 (grub_puts): Inlined.
20312 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
20313 (grub_normal_get_line_counter): Removed.
20314 (grub_install_newline_hook): Likewise.
20315 (grub_normal_get_char_counter): New proto.
20316 (grub_normal_reset_more): Likewise.
20317 (grub_xputs_normal): Likewise.
20318 * include/grub/powerpc/ieee1275/console.h: Removed.
20319 * include/grub/sparc64/ieee1275/console.h: Likewise.
20320 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
20321 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
20322 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
20323 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
20324 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
20325 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
20326 (grub_term_input): Pass reference to self. All users updated.
20327 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
20328 Pass reference to self. New fields normal_color, highlight_color and
20329 data. All users updated.
20330 (grub_putchar): Removed.
20331 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
20332 (grub_unicode_estimate_width): New function.
20333 (grub_term_getcharwidth): Add defaults.
20334 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
20335 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
20336 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
20337 (grub_cls): Remove EXPORT_FUNC.
20338 (grub_setcolorstate): Inline.
20339 (grub_newline_hook): Removed.
20340 * include/grub/terminfo.h: Rewritten. All users updated.
20341 * include/grub/unicode.h: New file.
20342 * include/grub/video.h (grub_video_signed_rect): New type.
20343 * kern/emu/console.c (grub_console_highlight_color): Removed.
20344 (grub_console_normal_color): Likewise.
20345 (grub_console_standard_color): Made static.
20346 (grub_ncurses_putchar): Remove mapping.
20347 (grub_ncurses_getcharwidth): Removed.
20348 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
20349 (grub_ncurses_setcolor): Removed.
20350 (grub_ncurses_getcolor): Likewise.
20351 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
20352 (grub_console_putchar): ... this.
20353 (grub_console_putchar): Handle argument difference.
20354 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
20355 console_init_early and console_init_lately.
20356 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
20357 * kern/misc.c (grub_puts): Removed.
20358 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
20359 (grub_vsnprintf_real): Remove str = NULL support.
20360 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
20361 * normal/charset.c (grub_utf8_to_ucs4): ... here.
20362 * kern/term.c (grub_putcode): Renamed to ...
20363 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
20364 (grub_putchar): Removed.
20365 (grub_xputs_dumb): New function.
20366 (grub_xputs): New variable.
20367 * lib/charset.c: Move from here ...
20368 * normal/charset.c: ... to here.
20369 (grub_ucs4_to_utf8): New function.
20370 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
20371 (join_types): New variable.
20372 (unpack_join): New function.
20373 (bidi_types): New variable.
20374 (unpack_bidi): New function.
20375 (get_bidi_type): Likewise.
20376 (get_join_type): Likewise.
20377 (is_mirrored): Likewise.
20378 (grub_unicode_get_comb_type): Likewise.
20379 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
20380 (is_type_after): Likewise.
20381 (grub_unicode_aglomerate_comb): Likewise.
20382 (bidi_line_wrap): Likewise.
20383 (grub_bidi_line_logical_to_visual): Likewise.
20384 (grub_bidi_logical_to_visual): Likewise.
20385 (grub_unicode_mirror_code): Likewise.
20386 (grub_unicode_shape_code): Likewise.
20387 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
20388 Don't use grub_putchar.
20389 * normal/main.c (grub_normal_init_page): Use grub_putcode.
20390 (grub_normal_reader_init): Likewise.
20391 (grub_xputs_saved): New variable.
20392 (GRUB_MOD_INIT): Set grub_xputs.
20393 (GRUB_MOD_FINI): Restore grub_xputs.
20394 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
20395 (menu_init): Avoid printing gfxmenu error.
20396 (show_menu): Use grub_normal_get_char_counter.
20397 * normal/menu_entry.c (update_screen): Fix out-of-array.
20398 (complete): Avoid NULL dereferencing.
20399 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
20400 * normal/menu_text.c (print_spaces): Removed.
20401 (grub_print_ucs4): Likewise.
20402 (grub_print_message_indented): Use grub_print_ucs4.
20403 (print_message): Use grub_putcode.
20404 (print_entry): Hanlde diacritics.
20405 * normal/term.c (term_state): New type.
20406 (grub_more_lines): Removed.
20407 (term_states): New variable.
20408 (grub_normal_line_counter): Renamed to ..
20409 (grub_normal_char_counter): ...this. All users updated.
20410 (grub_normal_get_line_counter): Renamed to ...
20411 (grub_normal_get_char_counter): ... this.
20412 (grub_normal_reset_more): New function.
20413 (process_newline): Removed.
20414 (print_more): New function.
20415 (grub_install_newline_hook): Removed.
20416 (map_code): New function.
20417 (grub_puts_terminal): Use grub_print_ucs4.
20418 (putglyph): New function.
20419 (putcode_real): Likewise.
20420 (grub_putcode): Use putcode_real.
20421 (get_maxwidth): New function.
20422 (get_startwidth): Likewise.
20423 (print_ucs4_terminal): Likewise.
20424 (find_term_state): Likewise.
20425 (put_glyphs_terminal): Likewise.
20426 (print_backlog): Likewise.
20427 (print_ucs4_real): Likewise.
20428 (grub_print_ucs4): Likewise.
20429 (grub_xputs_normal): Likewise.
20430 * term/efi/console.c (grub_console_putchar): Output diacritics.
20431 (grub_console_getcharwidth): Removed.
20432 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
20433 * term/gfxterm.c (clear_char): Free chars.
20434 (scroll_up): Avoid leaking memory.
20435 (grub_gfxterm_putchar): Support diacritics.
20436 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
20437 * term/i386/pc/console.c (grub_console_term_output): Declare as
20438 GRUB_TERM_CODE_TYPE_VGA.
20439 * term/i386/pc/vga.c (grub_vga_term): Declare as
20440 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
20441 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
20442 GRUB_TERM_CODE_TYPE_VGA.
20443 * term/i386/vga_common.c (map_char): Removed.
20444 (grub_console_putchar): Likewise.
20445 (grub_console_getcharwidth): Likewise.
20446 * term/ieee1275/ofconsole.c: Simplify using terminfo.
20447 (colors): Reordered to match terminfo.
20448 (grub_ofconsole_normal_color): Removed.
20449 (grub_ofconsole_writeesc): Likewise.
20450 (grub_ofconsole_highlight_color): Likewise.
20451 (grub_ofconsole_getcharwidth): Likewise.
20452 (grub_ofconsole_setcolorstate): Likewise.
20453 (grub_ofconsole_setcolor): Likewise.
20454 (grub_ofconsole_getcolor): Likewise.
20455 (grub_ofconsole_readkey): Renamed to ...
20456 (readkey): ... this. Remove escape sequence handling. Return -1 on no
20457 key.
20458 (grub_ofconsole_checkkey): Removed.
20459 (grub_ofconsole_getkey): Likewise.
20460 (grub_ofconsole_getxy): Likewise.
20461 (grub_ofconsole_gotoxy): Likewise.
20462 (grub_ofconsole_cls): Likewise.
20463 (grub_ofconsole_refresh): Likewise.
20464 (grub_ofconsole_terminfo_input): New struct.
20465 (grub_ofconsole_terminfo_output): Likewise.
20466 (grub_ofconsole_term_input): Use terminfo.
20467 (grub_ofconsole_term_output): Likewise.
20468 (grub_console_init): Split into ...
20469 (grub_console_init_early): ...this and ...
20470 (grub_console_init_lately): ...this. Use terminfo.
20471 (grub_ofconsole_putchar): Renamed to ...
20472 (put): ... this. Remove mapping.
20473 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
20474 * term/serial.c: Simplify using terminfo.
20475 (xpos): Removed.
20476 (ypos): Likewise.
20477 (keep_track): Likewise.
20478 (registered): Likewise.
20479 (input_buf): Likewise.
20480 (npending): Likewise.
20481 (serial_translate_key_sequence): Likewise.
20482 (fill_input_buf): Likewise.
20483 (grub_serial_checkkey): Likewise.
20484 (grub_serial_getkey): Likewise.
20485 (grub_serial_getxy): Likewise.
20486 (grub_serial_gotoxy): Likewise.
20487 (grub_serial_putchar): Likewise.
20488 (grub_serial_cls): Likewise.
20489 (grub_serial_setcolorstate): Likewise.
20490 (grub_serial_setcursor): Likewise.
20491 (serial_hw_init): Use serial_hw_fetch.
20492 (grub_serial_terminfo_input): New variable.
20493 (grub_serial_terminfo_output): Likewise.
20494 (grub_serial_term_input): Use terminfo.
20495 (grub_serial_term_output): Likewise.
20496 * term/terminfo.c (putstr): Use put.
20497 (grub_terminfo_all_free): New function
20498 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
20499 (grub_terminfo_output_register): New function.
20500 (grub_terminfo_output_unregister): Likewise.
20501 (grub_terminfo_getxy): Likewise.
20502 (grub_terminfo_readkey): Likewise.
20503 (grub_terminfo_checkkey): Likewise.
20504 (grub_terminfo_getkey): Likewise.
20505 (grub_terminfo_input_init): Likewise.
20506 (print_terminfo): Likewise.
20507 (grub_cmd_terminfo): Handle encoding.
20508 (grub_terminfo_gotoxy): Track position.
20509 (grub_terminfo_cls): Likewise.
20510 (grub_terminfo_putchar): Likewise.
20511 (grub_terminfo_setcolorstate): Handle colors
20512 (grub_terminfo_cursor_on): This ...
20513 (grub_terminfo_cursor_off): ... and this merged into ...
20514 (grub_terminfo_setcursor): ... this.
20515 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
20516 * unicode/ArabicShaping.txt: New file (imported from Unicode).
20517 * unicode/BidiMirroring.txt: Likewise.
20518 * unicode/UnicodeData.txt: Likewise.
20519 * unicode/COPYING: Likewise.
20520 * util/grub-editenv.c (grub_putchar): Removed.
20521 (grub_xputs_real): New function.
20522 (grub_xputs): New variable.
20523 * util/grub-fstest.c (grub_putchar): Removed.
20524 (grub_xputs_real): New function.
20525 (grub_xputs): New variable.
20526 * util/grub-mkdevicemap.c (grub_putchar): Removed.
20527 (grub_xputs_real): New function.
20528 (grub_xputs): New variable.
20529 * util/grub-probe.c (grub_putchar): Removed.
20530 (grub_xputs_real): New function.
20531 (grub_xputs): New variable.
20532 * util/grub-script-check.c (grub_putchar): Removed.
20533 (grub_xputs_real): New function.
20534 (grub_xputs): New variable.
20535 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
20536 (grub_xputs_real): New function.
20537 (grub_xputs): New variable.
20538 * util/import_unicode.py: New file.
20539 * util/grub-mkfont.c (ft_errmsgs): New array.
20540 (grub_glyph_info): Make bitmap a pointer.
20541 (file_formats): New type WIDTH_SPEC.
20542 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
20543 (options): Add width-spec.
20544 (help): Likewise.
20545 (add_char): Renamed to ...
20546 (add_glyph): ... this.
20547 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
20548 (glyph_replace): New type.
20549 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
20550 (add_char): New function.
20551 (add_subst): Likewise.
20552 (process_cursive): Likewise.
20553 (add_font): Handle GSUB.
20554 (write_font_width_spec): New function.
20555 (main): Sort glyphs.
20556 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
20557 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
20558 * kern/term.c (grub_cls): Moved from here...
20559 * normal/term.c (grub_cls): ... here.
20560
50f0bcda
CW
205612010-07-02 Colin Watson <cjwatson@ubuntu.com>
20562
20563 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
20564 suitable for using within the format argument of printf when
20565 converting grub_size_t.
20566 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
20567 "x" to convert grub_size_t arguments.
20568
40372103
VS
205692010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20570
20571 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
20572 too long captions.
20573 (list_get_minimal_size): Take selection box into account.
20574
942a10c7
VS
205752010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20576
20577 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
20578 NULL font.
20579
2bdb2892
CW
205802010-07-02 Colin Watson <cjwatson@ubuntu.com>
20581
20582 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
20583 devices when iterating over /dev/disk/by-id; they will be handled
20584 later if appropriate, which they aren't always (e.g. LVM).
20585
e03ed6c1
CW
205862010-07-02 Colin Watson <cjwatson@ubuntu.com>
20587
20588 * include/grub/misc.h (grub_reboot): Declare as noreturn.
20589 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
20590 fails.
20591 (grub_halt): Likewise.
20592 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
20593 reset-all fails.
20594 (grub_halt): Don't return, even if all of shut-down, power-off, and
20595 poweroff fail.
20596
47695765
CW
205972010-07-02 Colin Watson <cjwatson@ubuntu.com>
20598
20599 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
20600 arguments, not three.
20601
507736c8
CW
206022010-07-02 Colin Watson <cjwatson@ubuntu.com>
20603
20604 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
20605 * util/grub.d/10_linux.in: Use it to check for LVM, so that
20606 LVM-on-RAID is handled correctly.
20607
e3c8cd37
CW
206082010-07-02 Colin Watson <cjwatson@ubuntu.com>
20609
20610 * docs/grub.texi (Changes from GRUB Legacy): New section.
20611 (Future): Fix typo.
20612
8d4a2fec
CW
206132010-07-02 Colin Watson <cjwatson@ubuntu.com>
20614
20615 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
20616 grub.d/README accidentally ends up executable for one reason or
20617 another. Ignore it.
20618
1c4827be
VS
206192010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20620
20621 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
20622 (gpt_partition_map_iterate): Support non-512B sectors.
20623
d9a0c941
VS
206242010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20625
20626 * kern/efi/init.c (grub_efi_init): Disable watchdog.
20627 Tested by: Seth Goldberg.
20628
48f27e87
VS
206292010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
20630
20631 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
20632 Properly align mbi.
20633 Reported by: Seth Goldberg.
20634
b0c4f956
VS
206352010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
20636
20637 * util/grub-mkrescue.in: Avoid module duplication.
20638
105a2e8c
SF
206392010-07-01 Sean Finney <seanius@seanius.net>
20640
20641 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
20642
5944958c
SF
206432010-07-01 Sean Finney <seanius@seanius.net>
20644
20645 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
20646
206472010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
20648
20649 * disk/lvm.c (grub_lvm_checkvalue): New function.
20650 (grub_lvm_check_flag): Likewise.
20651
b79889ba
RM
206522010-07-01 Robert Millan <rmh@gnu.org>
20653
20654 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
20655 Support 'p' as partition separator on kernel of FreeBSD (used
20656 with GPT labels).
20657 (grub_util_biosdisk_get_grub_dev): Likewise.
20658
ec1d04f1
VS
206592010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
20660
20661 Yeeloong firmware port.
20662
20663 * boot/mips/yeeloong/fwstart.S: New file.
20664 * bus/cs5536.c (gpiodump): New const.
20665 (set_io_space): New function.
20666 (set_iod): Likewise.
20667 (set_p2d): Likewise.
20668 (grub_cs5536_init_geode): Likewise.
20669 * commands/mips/yeeloong/lsspd.c: New file.
20670 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
20671 (serial_mod_SOURCES): New variable.
20672 (serial_mod_CFLAGS): Likewise.
20673 (serial_mod_LDFLAGS): Likewise.
20674 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
20675 term/terminfo.c and term/tparm.c.
20676 (pkglib_IMAGES): Add fwstart.img.
20677 (fwstart_img_SOURCES): New variable.
20678 (fwstart_img_CFLAGS): Likewise.
20679 (fwstart_img_ASFLAGS): Likewise.
20680 (fwstart_img_LDFLAGS): Likewise.
20681 (fwstart_img_FORMAT): Likewise.
20682 (pkglib_MODULES): Add lsspd.mod.
20683 (lsspd_mod_SOURCES): New variable.
20684 (lsspd_mod_CFLAGS): Likewise.
20685 (lsspd_mod_LDFLAGS): Likewise.
20686 (pkglib_MODULES): Add halt.mod.
20687 (halt_mod_SOURCES): New variable.
20688 (halt_mod_CFLAGS): Likewise.
20689 (halt_mod_LDFLAGS): Likewise.
20690 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
20691 (serial_mod_SOURCES): Removed.
20692 (serial_mod_CFLAGS): Likewise.
20693 (serial_mod_LDFLAGS): Likewise.
20694 * disk/ata.c (check_device): New function.
20695 (grub_ata_device_initialize): Use check_device.
20696 (grub_ata_iterate): Recheck devices.
20697 (grub_ata_open): Likewise.
20698 (grub_atapi_iterate): Likewise.
20699 (grub_atapi_open): Likewise.
20700 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
20701 (GRUB_ATA_CH1_PORT1): Likewise.
20702 (GRUB_ATA_CH0_PORT2): Likewise.
20703 (GRUB_ATA_CH1_PORT2): Likewise.
20704 * include/grub/mips/loongson.h: New file.
20705 * include/grub/mips/yeeloong/ec.h: Likewise.
20706 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
20707 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
20708 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
20709 * include/grub/misc.h (grub_halt): Declare as noreturn.
20710 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
20711 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
20712 (UART_ENABLE_FIFO_TRIGGER1): New definition.
20713 (UART_ENABLE_DTRRTS): Likewise.
20714 (UART_ENABLE_MODEM): Removed.
20715 (UART_ENABLE_OUT2): New const.
20716 * include/grub/term.h (grub_term_register_input_active): New function.
20717 (grub_term_register_output_active): Likewise.
20718 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
20719 argument.
20720 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
20721 (init_pci): New function.
20722 (grub_machine_init): Execute platform init when firmware. Init serial.
20723 (grub_halt): Implement.
20724 (grub_exit): Likewise.
20725 (grub_reboot): Likewise.
20726 * term/serial.c (serial_hw_init): Update macros.
20727 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
20728 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
20729 (image_targets): New target mipsel-yeeloong-flash.
20730 (generate_image): Support IMAGE_YEELOONG_FLASH.
20731 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
20732 (grub_video_sm712_setup): Init card.
20733 (grub_video_sm712_set_palette): Removed.
20734 * video/sm712_init.c: New file.
20735
ff4a70d2
CW
207362010-06-30 Colin Watson <cjwatson@ubuntu.com>
20737
20738 * Makefile.in (install-local): Temporarily prepend $(builddir) to
20739 PATH when running help2man and then run it on the unadorned
20740 executable names, rather than passing $(builddir)/* paths to
20741 help2man. This avoids the build directory ending up in generated
20742 manual pages.
20743
1246efeb
CW
207442010-06-29 Colin Watson <cjwatson@ubuntu.com>
20745
20746 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
20747 to avoid accidents when debugging with 'sh -x'.
20748 * util/grub-mkrescue.in: Likewise.
20749 * util/grub.d/00_header.in: Likewise.
20750 * util/grub.d/10_hurd.in: Likewise.
20751 * util/grub.d/10_kfreebsd.in: Likewise.
20752 * util/grub.d/10_linux.in: Likewise.
20753 * util/grub.d/10_netbsd.in: Likewise.
20754 * util/grub.d/10_windows.in: Likewise.
20755 * util/grub.d/20_linux_xen.in: Likewise.
20756 * util/grub.d/30_os-prober.in: Likewise.
20757 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20758
1ba9b889
CW
207592010-06-29 Colin Watson <cjwatson@ubuntu.com>
20760
20761 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
20762 last character in the buffer.
20763 Reported by: Vladimir Serbinenko.
20764
dccaf99d
RM
207652010-06-29 Robert Millan <rmh@gnu.org>
20766
20767 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
20768 (Command-line and menu entry commands): Document `badram' command.
20769
d500ed12
RM
207702010-06-28 Robert Millan <rmh@gnu.org>
20771
20772 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
20773 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
20774 command using ${GRUB_BADRAM} as parameter.
20775
20bc84a6
CW
207762010-06-28 Colin Watson <cjwatson@ubuntu.com>
20777
20778 * docs/grub.texi (Device map): New section.
20779 (Themes): New section (stub).
20780 * Makefile.in (docs/grub.info): The info documentation now builds
20781 without errors. Make sure it stays that way.
20782
4045dee1
VS
207832010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
20784
20785 Use normal parser for menu entries.
20786 Reported by: Thomas Frauendorfer
20787
20788 * include/grub/parser.h (grub_parser_execute): Don't export.
20789 * normal/menu.c (grub_menu_execute_entry_real): New function.
20790 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
20791
bca58c7b
CW
207922010-06-28 Colin Watson <cjwatson@ubuntu.com>
20793
20794 * docs/grub.texi (Embedded configuration): New section (replacing
20795 old "Preset Menu" stub).
20796 (Images): New section.
20797 (configfile): Note that any menu entries defined in `file' are shown
20798 immediately.
20799
dec53e63
JT
208002010-06-28 Josh Triplett <josh@joshtriplett.org>
20801
20802 * mmap/i386/pc/mmap_helper.S: Set CF on return.
20803
c06e40f7
CW
208042010-06-28 Colin Watson <cjwatson@ubuntu.com>
20805
20806 * util/grub-install.in: Add --debug-image= option.
20807
cb88052b
CW
208082010-06-28 Colin Watson <cjwatson@ubuntu.com>
20809
20810 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
20811 possible on Linux.
20812
20813 * util/deviceiter.c (check_device): Rename to ...
20814 (check_device_readable_unique): ... this. Update all callers.
20815 Maintain and check a list of which devices (by canonicalized name)
20816 have already been seen.
20817 (clear_seen_devices): New function.
20818 (compare_file_names) [__linux__]: New function.
20819 (grub_util_iterate_devices): Clear the list of seen devices on exit
20820 and (just in case) on entry.
20821 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
20822 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
20823 seen-devices list, superseded by general code in check_device.
20824
bbe34652
CW
208252010-06-28 Colin Watson <cjwatson@ubuntu.com>
20826
20827 * commands/cat.c (options): New variable.
20828 (grub_cmd_cat): Parse options. If the --dos option is given, print
20829 DOS-style "\r\n" line endings as simple newlines (Debian bug
20830 #586358).
20831 (GRUB_MOD_INIT): Use extcmd.
20832 (GRUB_MOD_FINI): Likewise.
20833 * docs/grub.texi (cat): Document --dos.
20834
412e09f3
VS
208352010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
20836
20837 XEN with Linux grub-mkconfig support.
20838
20839 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
20840 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
20841 GRUB_CMDLINE_XEN_DEFAULT.
20842 * util/grub.d/20_linux_xen.in: New file.
20843
53f3ef38 208442010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
20845
20846 Initialise VGA video on qemu ourselves.
20847
20848 * boot/i386/qemu/boot.S: Don't call 0xc000.
20849 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
20850 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
20851 (kernel_img_HEADERS): Add pci.h.
20852 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
20853 * configure.ac: Force unifont on qemu and yeeloong.
20854 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
20855 (grub_vga_palette_write): Use correct register.
20856 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
20857 Call grub_qemu_init_cirrus.
20858 * kern/i386/qemu/init.c: New file.
20859 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
20860
20861 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
20862
c75be4fb
PR
208632010-06-26 Pavel Roskin <proski@gnu.org>
20864
20865 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
20866 13.
20867
d8034603
CW
208682010-06-26 Colin Watson <cjwatson@ubuntu.com>
20869
20870 * docs/grub.texi (Simple configuration): Explain that
20871 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
20872 set to `true' to disable their respective recovery entries, not
20873 merely set.
20874
3fa06487
CW
208752010-06-26 Colin Watson <cjwatson@ubuntu.com>
20876
20877 Make the `source' command slightly faster.
20878
20879 * normal/main.c (grub_normal_execute): Don't re-read list files when
20880 nested.
20881
e9b29642
CW
208822010-06-23 Colin Watson <cjwatson@ubuntu.com>
20883
20884 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
20885 field position and mask size to red fields from mode_info, not
20886 green.
20887 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
20888 Remove redundant tag->common.framebuffer_type assignment.
20889 Reported by: Seth Goldberg.
20890
e726542f
CW
208912010-06-23 Colin Watson <cjwatson@ubuntu.com>
20892
20893 Sync up other versions of the Linux loader with Robert Millan's
20894 change of 2010-01-09, "Make loader output a bit more user-friendly".
20895
20896 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
20897 grub_dprintf().
20898 (grub_cmd_linux): Likewise.
20899 (grub_cmd_initrd): Likewise.
20900 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
20901 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20902
d6e98a17
CW
209032010-06-21 Colin Watson <cjwatson@ubuntu.com>
20904
20905 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
20906 larger than MEMORY_MAP_SIZE.
20907
14d3f08e
BC
209082010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
20909
20910 Fix parallel build.
20911
20912 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
20913 dependency.
20914 * script/parser.y: #include grub_script.tab.h header.
20915
4f9613a3
VS
209162010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
20917
20918 Support >3GiB and <16MiB RAM in i386-qemu.
20919
20920 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
20921 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
20922 (grub_lower_mem): Removed.
20923 (grub_upper_mem): Likewise.
20924 (mem_size): Made static.
20925 (above_4g): New variable.
20926 (grub_machine_mmap_init): Detect small mem_size and above_4g.
20927 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
20928 support.
20929
05e51879
VS
209302010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
20931
20932 Cirrus 5446 and Bochs video cards support.
20933
20934 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
20935 video_bochs.mod
20936 (video_cirrus_mod_SOURCES): New variable.
20937 (video_cirrus_mod_CFLAGS): Likewise.
20938 (video_cirrus_mod_LDFLAGS): Likewise.
20939 (video_bochs_mod_SOURCES): Likewise.
20940 (video_bochs_mod_CFLAGS): Likewise.
20941 (video_bochs_mod_LDFLAGS): Likewise.
20942 * include/grub/vga.h: New file.
20943 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
20944 (grub_video_fb_set_page_t): New type.
20945 (grub_video_fb_setup): New prototype.
20946 (grub_video_fb_swap_buffers): Likewise.
20947 (grub_video_fb_get_info_and_fini): Likewise.
20948 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
20949 (CRTC_DATA_PORT): Likewise.
20950 (CRTC_CURSOR): Likewise.
20951 (CRTC_CURSOR_ADDR_HIGH): Likewise.
20952 (CRTC_CURSOR_ADDR_LOW): Likewise.
20953 (CRTC_CURSOR_DISABLE): Likewise.
20954 (update_cursor): Use grub_vga_cr_write.
20955 (grub_vga_text_setcursor): Likewise.
20956 * video/bochs.c: New file.
20957 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
20958 (palette): Likewise.
20959 (palette_size): Likewise.
20960 (framebuffer): New variable.
20961 (grub_video_fb_init): Use 'framebuffer'.
20962 (grub_video_fb_fini): Likewise.
20963 (grub_video_fb_get_info): Likewise.
20964 (grub_video_fb_get_palette): Likewise.
20965 (grub_video_fb_set_palette): Likewise.
20966 (grub_video_fb_set_viewport): Likewise.
20967 (grub_video_fb_get_viewport): Likewise.
20968 (grub_video_fb_map_color): Likewise.
20969 (grub_video_fb_map_rgb): Likewise.
20970 (grub_video_fb_map_rgba): Likewise.
20971 (grub_video_fb_unmap_color): Likewise.
20972 (grub_video_fb_unmap_color_int): Likewise.
20973 (grub_video_fb_fill_rect): Likewise.
20974 (grub_video_fb_blit_bitmap): Likewise.
20975 (grub_video_fb_blit_render_target): Likewise.
20976 (grub_video_fb_scroll): Likewise.
20977 (grub_video_fb_create_render_target): Likewise.
20978 (grub_video_fb_doublebuf_blit_init): Likewise.
20979 (grub_video_fb_set_active_render_target): Handle doublebuffering.
20980 (doublebuf_pageflipping_update_screen): New function.
20981 (doublebuf_pageflipping_init): Likewise.
20982 (grub_video_fb_setup): Likewise.
20983 (grub_video_fb_swap_buffers): Likewise.
20984 (grub_video_fb_get_info_and_fini): Likewise.
20985 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
20986 All users updated.
20987 (doublebuf_pageflipping_commit): Restructured into ...
20988 (doublebuf_pageflipping_set_page): ... this.
20989 (doublebuf_pageflipping_update_screen): Removed.
20990 (doublebuf_pageflipping_init): Likewise.
20991 (double_buffering_init): Likewise.
20992 (grub_video_vbe_setup): Use grub_video_fb_setup.
20993 (grub_video_vbe_swap_buffers): Removed.
20994 (grub_video_vbe_set_active_render_target): Likewise.
20995 (grub_video_vbe_get_active_render_target): Likewise.
20996 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
20997 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
20998 grub_video_fb_set_active_render_target and
20999 grub_video_fb_get_active_render_target.
21000 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
21001 (SEQUENCER_DATA_PORT): Likewise.
21002 (MAP_MASK_REGISTER): Likewise.
21003 (CRTC_ADDR_PORT): Likewise.
21004 (CRTC_DATA_PORT): Likewise.
21005 (START_ADDR_HIGH_REGISTER): Likewise.
21006 (START_ADDR_LOW_REGISTER): Likewise.
21007 (GRAPHICS_ADDR_PORT): Likewise.
21008 (GRAPHICS_DATA_PORT): Likewise.
21009 (READ_MAP_REGISTER): Likewise.
21010 (INPUT_STATUS1_REGISTER): Likewise.
21011 (INPUT_STATUS1_VERTR_BIT): Likewise.
21012 (get_map_mask): Use grub_vga_sr_read.
21013 (set_map_mask): Use grub_vga_sr_write.
21014 (set_read_map): Use grub_vga_gr_write.
21015 (set_start_address): Use grub_vga_cr_write.
21016 * video/sm712.c (framebuffer): Remove leftover fields.
21017
4321c64a
CW
210182010-06-20 Colin Watson <cjwatson@ubuntu.com>
21019
21020 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
21021 setting GRUB_VIDEO_BACKEND. Make it available as a user override
21022 instead. Replace the gfxterm backend check with a check that
21023 ${GRUB_PREFIX}/video.lst is non-empty.
21024 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
21025 again.
21026 (load_video): New generated function. Call it before loading
21027 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
21028 * util/grub.d/10_linux.in (linux_entry): Call load_video.
21029 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
21030 * docs/grub.texi (Simple configuration): Document
21031 GRUB_VIDEO_BACKEND.
21032
210332010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
21034
21035 Use video functions in linux and xnu loaders.
21036
21037 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
21038 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
21039 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
21040 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
21041 loader/i386/pc/linux.c.
21042 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
21043 (find_line_len): Removed.
21044 (find_framebuf): Likewise.
21045 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
21046 * loader/i386/efi/xnu.c: Removed.
21047 * loader/i386/pc/xnu.c: Moved from here...
21048 * loader/i386/xnu.c: ...here.
21049
21050 Enable priorities in video drivers.
21051
21052 * include/grub/video.h (grub_video_adapter_prio_t): New type.
21053 (grub_video_adapter): New field prio.
21054 (grub_video_register): Respect prio when inserting.
21055 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
21056 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
21057 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
21058 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
21059 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
21060 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
21061 * video/sm712.c (grub_video_sm712_adapter): Likewise.
21062
21063 Fix SDL driver ID.
21064
21065 * include/grub/video.h (grub_video_driver_id_t): New value
21066 GRUB_VIDEO_DRIVER_SDL.
21067 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
21068
7d24e434
CW
210692010-06-17 Colin Watson <cjwatson@ubuntu.com>
21070
21071 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
21072 argument to printf.
21073 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
21074
c88a83f6
CW
210752010-06-17 Colin Watson <cjwatson@ubuntu.com>
21076
21077 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
21078 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
21079
094dfb69
CW
210802010-06-17 Colin Watson <cjwatson@ubuntu.com>
21081
21082 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
21083 directly, and recommend grub-install instead.
21084 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
21085
2164da6b
CW
210862010-06-17 Colin Watson <cjwatson@ubuntu.com>
21087
21088 Fix i386-pc prefix handling with nested partitions (Debian bug
21089 #585068). Note that the case where the core image is booted using
21090 multiboot and relocated from its original location still requires
21091 more work.
21092
21093 * kern/i386/pc/init.c (make_install_device): If the prefix starts
21094 with "(,", fill the boot drive in between those two characters, but
21095 expect that a full partition specification including partition map
21096 names will follow.
21097 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
21098 specified, write a prefix without the drive name but including a
21099 full partition specification.
21100
044e2e60
CW
211012010-06-16 Colin Watson <cjwatson@ubuntu.com>
21102
21103 * util/grub-mkconfig.in: Ignore non-option arguments, for
21104 compatibility with older versions (before 2010-06-12) which did the
21105 same. In particular, this makes it easier to ship an update-grub
21106 wrapper which is compatible with that used with GRUB Legacy (Debian
21107 bug #586056).
21108
5591324f
GS
211092010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21110
21111 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
21112 for manual page generation.
21113
662e24d5
GS
211142010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
21115
21116 * po/POTFILES: Remove leftover commands/handler.c.
21117
8d70754e
CW
211182010-06-14 Colin Watson <cjwatson@ubuntu.com>
21119
21120 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
21121 left this script non-functional.
21122
41160e2e
CW
211232010-06-14 Colin Watson <cjwatson@ubuntu.com>
21124
21125 * docs/man/grub-emu.h2m: New file.
21126
b5309cc1
CW
211272010-06-13 Colin Watson <cjwatson@ubuntu.com>
21128
21129 * docs/grub.texi (Commands): Document reduced command set in rescue
21130 mode.
21131 (cpuid): New section.
21132
fcb2d090
GS
211332010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
21134
21135 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
21136 new partition naming style.
21137 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
21138
96e5c556
BC
211392010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
21140
21141 Add "-o grub.iso" like cmdline options support.
21142
21143 * util/grub-install.in: Improve cmdline option parsing.
21144 * util/grub-mkconfig.in: Likewise.
21145 * util/grub-mkrescue.in: Likewise.
21146 * util/grub-reboot.in: Likewise.
21147 * util/grub-set-default.in: Likewise.
21148 * util/i386/efi/grub-install.in: Likewise.
21149 * util/ieee1275/grub-install.in: Likewise.
21150 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21151
c16be99b
CW
211522010-06-12 Colin Watson <cjwatson@ubuntu.com>
21153
21154 * .bzrignore: Ignore 41_custom.
21155
ce08a9fb
TS
211562010-06-12 Thomas Schmitt <scdbackup@gmx.net>
21157
21158 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
21159
7beac90c
CW
211602010-06-12 Colin Watson <cjwatson@ubuntu.com>
21161
21162 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
21163 prototype declarations.
21164
21165 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
21166 generating fs, partmap, and video lists.
21167 * include/grub/fs.h (grub_fs_register): Omit prototype if
21168 GRUB_LST_GENERATOR is defined.
21169 * include/grub/partition.h (grub_partition_map_register): Likewise.
21170 * include/grub/video.h (grub_video_register): Likewise.
21171
1c8f0f8d
JM
211722010-06-12 Javier Martín <lordhabbit@gmail.com>
21173
21174 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
21175
a6085973
TS
211762010-06-12 Thomas Schmitt <scdbackup@gmx.net>
21177
21178 * util/grub-mkrescue.in: Support --xorriso argument.
21179
25c56d29
VS
211802010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
21181
21182 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
21183 Suggested by: Thomas Schmitt.
21184
e03e4b24
VS
211852010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
21186
21187 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
21188 Suggested by: Thomas Schmitt.
21189
57711df6
VS
211902010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
21191
21192 custom.cfg support.
21193
21194 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
21195 * util/grub.d/41_custom.in: New file.
21196
ee62c427
CW
211972010-06-12 Colin Watson <cjwatson@ubuntu.com>
21198
21199 * util/grub-mkrescue.in (make_image): Remove sh module, which has
21200 been merged back into normal.
21201
283af07a
CW
212022010-06-11 Colin Watson <cjwatson@ubuntu.com>
21203
21204 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
21205 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
21206
56a0d956
CW
212072010-06-11 Colin Watson <cjwatson@ubuntu.com>
21208
21209 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
21210 when generating manual pages.
21211 * docs/man/grub-bin2h.h2m: New file.
21212 * docs/man/grub-editenv.h2m: New file.
21213 * docs/man/grub-fstest.h2m: New file.
21214 * docs/man/grub-install.h2m: New file.
21215 * docs/man/grub-macho2img.h2m: New file.
21216 * docs/man/grub-mkconfig.h2m: New file.
21217 * docs/man/grub-mkdevicemap.h2m: New file.
21218 * docs/man/grub-mkfont.h2m: New file.
21219 * docs/man/grub-mkimage.h2m: New file.
21220 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
21221 * docs/man/grub-mkrelpath.h2m: New file.
21222 * docs/man/grub-mkrescue.h2m: New file.
21223 * docs/man/grub-ofpathname.h2m: New file.
21224 * docs/man/grub-pe2elf.h2m: New file.
21225 * docs/man/grub-probe.h2m: New file.
21226 * docs/man/grub-reboot.h2m: New file.
21227 * docs/man/grub-script-check.h2m: New file.
21228 * docs/man/grub-set-default.h2m: New file.
21229 * docs/man/grub-setup.h2m: New file.
21230
3a37e322
VS
212312010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
21232
21233 Use FOR_* macros instead of *_iterate whenever possible.
21234
21235 * commands/handler.c: Removed.
21236 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
21237 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
21238 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21239 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
21240 (grub_probe_SOURCES): Remove kern/parser.c.
21241 (util/grub-script-check.c_DEPENDENCIES): Removed.
21242 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
21243 and grub_script_check_init.c.
21244 (grub_script_check_init.lst): Removed.
21245 (grub_script_check_init.h): Likewise.
21246 (grub_script_check_init.c): Likewise.
21247 (pkglib_MODULES): Remove handler.mod and sh.mod.
21248 (handler_mod_SOURCES): Removed.
21249 (handler_mod_CFLAGS): Likewise.
21250 (handler_mod_LDFLAGS): Likewise.
21251 (normal_mod_SOURCES): Remove normal/handler.c.
21252 Add script/main.c, script/script.c, script/execute.c,
21253 script/function.c, script/lexer.c, grub_script.tab.c
21254 and grub_script.yy.c.
21255 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21256 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21257 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
21258 (grub_setup_SOURCES): Remove kern/parser.c.
21259 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21260 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
21261 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
21262 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21263 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
21264 (grub_setup_SOURCES): Remove kern/parser.c.
21265 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
21266 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
21267 * include/grub/command.h (grub_command_iterate): Removed.
21268 (FOR_COMMANDS): New macro.
21269 * include/grub/dl.h (grub_dl): New member next.
21270 (grub_dl_iterate): Removed.
21271 (grub_dl_head): New variable declaration.
21272 (FOR_DL_MODULES): New macro.
21273 * include/grub/fs.h: Include list.h.
21274 (grub_fs): Make next first element.
21275 (grub_fs_list): New variable declaration.
21276 (grub_fs_register): Make inline.
21277 (grub_fs_unregister): Likewise.
21278 (grub_fs_iterate): Removed.
21279 (FOR_FILESYSTEMS): New macro.
21280 * include/grub/handler.h: Removed.
21281 * include/grub/list.h (grub_list_hook_t): Removed.
21282 (grub_list_test_t): Likewise.
21283 (grub_list_pop): Likewise.
21284 (grub_list_iterate): Likewise.
21285 (grub_list_insert): Likewise.
21286 (FOR_LIST_ELEMENTS): New macro.
21287 * include/grub/parser.h (grub_parser_class): Removed.
21288 (grub_parser_register): Likewise.
21289 (grub_parser_unregister): Likewise.
21290 (grub_parser_get_current): Likewise.
21291 (grub_parser_set_current): Likewise.
21292 (grub_register_rescue_parser): Likewise.
21293 (grub_rescue_parse_line): New function.
21294 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
21295 * include/grub/script_sh.h (grub_script_function_list): New variable
21296 declaration.
21297 (FOR_SCRIPT_FUNCTIONS): New macro.
21298 (grub_script_function_iterate): Removed.
21299 (grub_normal_parse_line): New prototype.
21300 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
21301 (FOR_DISABLED_TERM_INPUTS): Likewise.
21302 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
21303 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
21304 * include/grub/video.h (grub_video_adapter): Move 'next' to first
21305 element.
21306 (grub_video_register): Inline.
21307 (grub_video_unregister): Likewise.
21308 (grub_video_adapter_list): New variable declaration.
21309 (grub_video_iterate): Removed.
21310 (FOR_VIDEO_ADAPTERS): New macro.
21311 * kern/dl.c (grub_dl_list): Removed. All users updated.
21312 (grub_dl_iterate): Removed.
21313 * kern/fs.c (grub_fs_list): Make global.
21314 (grub_fs_register): Removed.
21315 (grub_fs_unregister): Likewise.
21316 (grub_fs_iterate): Likewise.
21317 * kern/handler.c: Removed.
21318 * kern/list.c (grub_list_pop): Removed.
21319 (grub_list_iterate): Likewise.
21320 (grub_list_insert): Likewise.
21321 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
21322 (grub_prio_list_insert): Don't use grub_list_insert.
21323 * kern/main.c (grub_register_rescue_parser): Don't call
21324 grub_register_rescue_parser.
21325 * kern/parser.c (grub_parser_class): Removed.
21326 (grub_parser_execute): Use grub_rescue_parse_line.
21327 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
21328 (grub_rescue_parser): Removed.
21329 (grub_register_rescue_parser): Likewise.
21330 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
21331 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
21332 (grub_auth_check_authentication): Likewise.
21333 * normal/completion.c (iterate_command): Removed.
21334 (grub_normal_do_completion): Use FOR_COMMANDS.
21335 * normal/handler.c: Removed.
21336 * normal/main.c (read_config_file): Remove parser changing.
21337 (grub_normal_execute): Don't call read_handler_list.
21338 (grub_normal_read_line_real): Statically allocate prompt.
21339 (grub_cmdline_run): Use grub_normal_parse_line.
21340 (GRUB_MOD_FINI): Don't call free_handler_list.
21341 * normal/menu_entry.c (run): Likewise.
21342 * script/function.c (grub_script_function_list): Make global.
21343 (grub_script_function_iterate): Removed.
21344 * script/main.c (grub_normal_parse_line): Make global.
21345 (grub_sh_parser): Removed.
21346 (GRUB_MOD_INIT): Likewise.
21347 (GRUB_MOD_FINI): Likewise.
21348 * tests/lib/functional_test.c (grub_functional_test): Use
21349 FOR_LIST_ELEMENTS.
21350 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
21351 (grub_test_run): Use FOR_LIST_ELEMENTS.
21352 * tests/lib/unit_test.c (main): Likewise.
21353 * util/deviceiter.c (grub_util_iterate_devices): Don't use
21354 grub_list_pop.
21355 * util/grub-fstest.c (grub_term_input_class): Removed.
21356 (grub_term_output_class): Likewise.
21357 * util/grub-probe.c: Likewise.
21358 * util/i386/pc/grub-setup.c: Likewise.
21359 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21360 * util/grub-script-check.c (main): Don't call grub_init_all and
21361 grub_fini_all.
21362 * video/video.c (grub_video_adapter_list): Make global.
21363 (grub_video_register): Removed.
21364 (grub_video_unregister): Likewise.
21365 (grub_video_iterate): Likewise.
21366
6289c3a7
VS
213672010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
21368
21369 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
21370 reported by Henrique Ferreiro.
21371
91460247
RM
213722010-06-09 Robert Millan <rmh@gnu.org>
21373
21374 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
21375 ones, when both are available.
21376
0ea7c4f9
GS
213772010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21378
21379 Make --version uniform and avoid hard-coded program name.
21380
21381 * util/grub-mkimage.c (main): Use `program_name' instead of
21382 hard-coded string.
21383 * util/i386/pc/grub-setup.c (main): Likewise.
21384 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
21385 * util/grub-install.in: Save the basename of $0 in $self, and use the
21386 latter in informational messages. Use the same format for --version
21387 as the binary programs.
21388 * util/grub-mkconfig.in: Likewise.
21389 * util/grub-mkrescue.in: Likewise.
21390 * util/grub-reboot.in: Likewise.
21391 * util/grub-set-default.in: Likewise.
21392 * util/i386/efi/grub-install.in: Likewise.
21393 * util/ieee1275/grub-install.in: Likewise.
21394 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
21395
e8a6f3b6
GS
213962010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21397
21398 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
21399 embedding area. Use <= instead of == when checking for non-emptiness.
21400
f4d095d7
GS
214012010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
21402
21403 * configure.ac: Add `.' to the directories searched for unifont.
21404
50e532ca
CW
214052010-06-08 Colin Watson <cjwatson@ubuntu.com>
21406
21407 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
21408 grub_script.yy.h.
21409
d39f3dec
CW
214102010-06-08 Colin Watson <cjwatson@ubuntu.com>
21411
21412 * docs/grub.texi (History): Expand to cover GRUB 2.
21413 (Serial terminal): Refer to `terminal_input' and `terminal_output'
21414 commands, not `terminal'.
21415 (serial): Likewise.
21416 (terminal_input): New section.
21417 (terminal_output): New section.
21418 (uppermem): New section (stub).
21419 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
21420
6ef0ddb4
CW
214212010-06-08 Colin Watson <cjwatson@ubuntu.com>
21422
21423 * docs/grub.texi (Security): Menu entries are unrestricted by
21424 default, not restricted to superusers as I had previously thought.
21425 Reword to account for this.
21426
e0f4c438
CW
214272010-06-07 Colin Watson <cjwatson@ubuntu.com>
21428
21429 * kern/emu/misc.c (device_mapper_null_log): New function.
21430 (grub_device_mapper_supported): New function.
21431 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
21432 prototype.
21433 * kern/emu/hostdisk.c (find_partition_start): Check whether
21434 device-mapper is supported before trying to use it.
21435 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
21436
da908200
CW
214372010-06-07 Colin Watson <cjwatson@ubuntu.com>
21438
21439 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
21440 (File name syntax): Likewise.
21441 (help): --all is no longer supported in GRUB 2. Be more precise
21442 about pattern matching.
21443
fb55c3ac
CW
214442010-06-07 Colin Watson <cjwatson@ubuntu.com>
21445
21446 * normal/completion.c (grub_normal_do_completion): When completing
21447 arguments to "set" and the current word contains an equals sign,
21448 skip to after the equals sign before starting completion.
21449
258c2573
CW
214502010-06-07 Colin Watson <cjwatson@ubuntu.com>
21451
21452 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
21453
ee75515e
CW
214542010-06-07 Colin Watson <cjwatson@ubuntu.com>
21455
21456 * docs/grub.texi (Network): New section.
21457 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
21458 `(nd)' as in GRUB Legacy.
21459 (pxe_unload): New section.
21460
a6a700aa
CW
214612010-06-07 Colin Watson <cjwatson@ubuntu.com>
21462
21463 * docs/grub.texi (Troubleshooting): `echo' is not usually available
21464 in the rescue shell, so recommend using `set' instead. Thanks,
21465 Jordan Uggla.
21466
4003dd38
CW
214672010-06-07 Colin Watson <cjwatson@ubuntu.com>
21468
21469 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
21470 (password): New section.
21471 (password_pbkdf2): New section.
21472 (search): New section.
21473 (Security): New section.
21474 (Troubleshooting): New section, currently very incomplete.
21475 (Invoking grub-mkpasswd-pbkdf2): New section.
21476 (Internals): New section, currently very incomplete.
21477
e1cbcc40
CW
214782010-06-07 Colin Watson <cjwatson@ubuntu.com>
21479
21480 * util/grub.d/00_header.in: Add some more quoting (of
21481 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
21482 work again.
21483 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
21484
db8fa1ad
CW
214852010-06-07 Colin Watson <cjwatson@ubuntu.com>
21486
21487 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
21488 to `count', fixing variable shadowing that broke the -c option.
21489
214902010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
21491
21492 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
21493 in case they contain spaces.
21494
f28a9212
CW
214952010-06-04 Colin Watson <cjwatson@ubuntu.com>
21496
21497 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
21498 "part_" to partmap module names, in line with grub-install.
21499 Reported by: Jindřich Makovička (Debian bug #584426).
21500
9cdfe32f
CW
215012010-06-04 Colin Watson <cjwatson@ubuntu.com>
21502
21503 * util/grub-mkimage.c: Make target-related error messages slightly
21504 more helpful; -O talks about "format". Explicitly point to the use
21505 of -O if no target is specified.
21506 Reported by: Didier Raboud (Debian bug #584415).
21507
795b593a
CW
215082010-06-03 Colin Watson <cjwatson@ubuntu.com>
21509
21510 * INSTALL: Document several build requirements for optional features
21511 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
21512
9d9b5833
GS
215132010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
21514
21515 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
21516 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
21517 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
21518
0819fec8
CW
215192010-06-02 Colin Watson <cjwatson@ubuntu.com>
21520
21521 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
21522 Thanks to Jordan Uggla for spotting this.
21523
49396b4f
VS
215242010-06-02 Aleš Nesrsta <starous@volny.cz>
21525
21526 Finally make USB usable.
21527
21528 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
21529 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
21530 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
21531 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
21532 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
21533 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
21534 (GRUB_OHCI_FSMPS): Likewise.
21535 (GRUB_OHCI_PERIODIC_START): Likewise.
21536 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
21537 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
21538 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
21539 (GRUB_OHCI_SET_PORT_RESET): Likewise.
21540 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
21541 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
21542 (grub_ohci_transaction): Likewise.
21543 (grub_ohci_transfer): Improve condition detection algorithms.
21544 Handle toggle property. Program the transactions correctly.
21545 Improve error handling. Various important fixups.
21546 (grub_ohci_portstatus): Put register writes in right order.
21547 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
21548 (grub_uhci_transfer): Don't show "failed" message on success.
21549 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
21550 array.
21551 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
21552 determine its size.
21553 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
21554 before initialization is completed. Use IN direction for empty
21555 transfers. Use last_trans and compute toggle.
21556 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
21557 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
21558 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
21559 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
21560 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
21561 (grub_usb_device): Increase toggle to 256.
21562 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
21563 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
21564 GRUB_USBMS_SUBCLASS_SFF8070.
21565 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
21566 (grub_scsi_inquiry): New member page and alloc_length.
21567 (grub_scsi_request_sense): New structure.
21568 (grub_scsi_request_sense_data): Likewise.
21569 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
21570 control.
21571 * disk/scsi.c (grub_scsi_request_sense): New function.
21572 (grub_scsi_test_unit_ready): Likewise.
21573 (grub_scsi_inquiry): Fill new fields.
21574 (grub_scsi_read_capacity): Likewise.
21575 (grub_scsi_read10): Add request sense at the end.
21576 (grub_scsi_read12): Likewise.
21577 (grub_scsi_write10): Likewise.
21578 (grub_scsi_write12): Likewise.
21579 (grub_scsi_open): Add Test Unit Ready.
21580 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
21581 Support additional subclasses. Con't clear halt yet. Activate the
21582 proper config. Calculate LUNs correctly.
21583 (grub_usbms_transfer): Various important fixups.
21584
215852010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
21586
21587 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
21588 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
21589 (grub_ohci_fini_hw): New function.
21590 (grub_ohci_restore_hw): Likewise.
21591 (GRUB_MOD_INIT(ohci)): Register preboot hook.
21592 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
21593 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
21594
215952010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
21596
21597 Dedicated DMA allocations.
21598
21599 * bus/pci.c (grub_memalign_dma32): New function
21600 (grub_dma_free): Likewise.
21601 (grub_dma_get_virt): Likewise.
21602 (grub_dma_get_phys): Likewise.
21603 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
21604 (grub_ohci_pci_iter): Use dma32_alloc.
21605 (grub_ohci_transfer): Likewise.
21606 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
21607 (grub_usb_bulk_readwrite): Likewise.
21608 * include/grub/pci.h: Add declarations.
21609
216102010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
21611
21612 CS5536 support.
21613
21614 * bus/cs5536.c: New file.
21615 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
21616 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
21617 (cs5536_mod_SOURCES): New variable.
21618 (cs5536_mod_CFLAGS): Likewise.
21619 (cs5536_mod_LDFLAGS): Likewise.
21620 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
21621 machine/pci.h.
21622 (kernel_img_SOURCES): Add bus/cs5536.c.
21623 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
21624 usb_keyboard.mod.
21625 (usb_mod_SOURCES): New variable.
21626 (usb_mod_CFLAGS): New variable.
21627 (usb_mod_LDFLAGS): New variable.
21628 (usbtest_mod_SOURCES): New variable.
21629 (usbtest_mod_CFLAGS): New variable.
21630 (usbtest_mod_LDFLAGS): New variable.
21631 (ohci_mod_SOURCES): New variable.
21632 (ohci_mod_CFLAGS): New variable.
21633 (ohci_mod_LDFLAGS): New variable.
21634 (usbms_mod_SOURCES): New variable.
21635 (usbms_mod_CFLAGS): New variable.
21636 (usbms_mod_LDFLAGS): New variable.
21637 (usb_keyboard_mod_SOURCES): New variable.
21638 (usb_keyboard_mod_CFLAGS): New variable.
21639 (usb_keyboard_mod_LDFLAGS): New variable.
21640 * include/grub/smbus.h: New file.
21641 * include/grub/cs5536.h: New file.
21642
0b35b2a9
CW
216432010-06-02 Colin Watson <cjwatson@ubuntu.com>
21644
21645 * util/grub.d/00_header.in: Add safety check to make sure that
21646 ${locale_dir} exists before trying to probe it.
21647
ca0afd5b
CW
216482010-06-02 Colin Watson <cjwatson@ubuntu.com>
21649
21650 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
21651 per the GNU Coding Standards; this is now too obscure to be worth
21652 documenting.
21653 (QNX): Likewise.
21654 (chainloader): Remove cross-reference to `SCO UnixWare'.
21655
1c41aa78
CW
216562010-06-02 Colin Watson <cjwatson@ubuntu.com>
21657
21658 * docs/grub.texi (Chain-loading): New section.
21659 (DOS/Windows): New section, borrowed from GRUB Legacy with details
21660 adjusted for GRUB 2.
21661 (SCO UnixWare): Likewise.
21662 (QNX): Likewise.
21663 (chainloader): Add reference to `Block list syntax'.
21664 (drivemap): New section.
21665 (parttool): New section.
21666
bb8ea0f5
CW
216672010-06-02 Colin Watson <cjwatson@ubuntu.com>
21668
21669 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
21670 the grub shell'.
21671 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
21672 (Installing GRUB using grub-install): Remove reference to the grub
21673 shell; mention `grub-mkimage' and `grub-setup' instead.
21674 (Invoking grub-install): Likewise.
21675 (Interface): Add reference to `Menu entry editor'.
21676 (serial): Remove `--device' option.
21677
288dd6ed
CW
216782010-06-02 Colin Watson <cjwatson@ubuntu.com>
21679
21680 * docs/grub.texi (Configuration): New section, documenting
21681 configuration file generation using grub-mkconfig. I've left a slot
21682 for documenting the full shell scripting format but have not yet
21683 started on writing that up.
21684 (Invoking grub-mkconfig): New section.
21685
34c9f0e9
CW
216862010-06-02 Colin Watson <cjwatson@ubuntu.com>
21687
21688 * docs/grub.texi (direntry): Remove grub-terminfo reference.
21689 (GNU GRUB manual): Likewise.
21690 (General commands): Update description of `terminfo' for GRUB 2.
21691
9121567e
CW
216922010-06-02 Colin Watson <cjwatson@ubuntu.com>
21693
21694 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
21695 (GRUB_MOD_INIT): Fix capitalisation.
21696 * docs/grub.texi (Command-line and menu entry commands): Document
21697 gettext and gptsync commands.
21698
ab631611
CW
216992010-06-02 Colin Watson <cjwatson@ubuntu.com>
21700
21701 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
21702 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
21703
bde4a9ac
CW
217042010-06-01 Colin Watson <cjwatson@ubuntu.com>
21705
21706 Add btrfs probing support, currently only in the single-device case.
21707
21708 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
21709 function.
21710 (grub_guess_root_device): Call find_root_device_from_mountinfo
21711 before looking in /dev.
21712
b1d17e10
VS
217132010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21714
21715 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
21716 GRUB_DISK_SIZE_UNKNOWN.
21717 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
21718
dfbfe004
JS
217192010-05-31 Jiro SEKIBA <jir@unicus.jp>
21720
21721 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
21722 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
21723 corrupted or not synced properly.
21724
c2ffc8e9
VS
217252010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21726
21727 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
21728 Reported by: Seth Goldberg.
21729
56293166
VS
217302010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21731
21732 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
21733 addition of dest.
21734 Reported by: Seth Goldberg.
21735
7620e7de
VS
217362010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21737
21738 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
21739 Reported by: Seth Goldberg.
21740
c837af3f
VS
217412010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
21742
21743 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
21744 64-bit address as signed on MIPS.
21745
c7c75cf4
CW
217462010-05-28 Colin Watson <cjwatson@ubuntu.com>
21747
21748 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
21749 to the empty string.
21750
fa4b8490
BC
217512010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
21752
21753 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
21754
21755 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
21756 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
21757 * kern/misc.c (__enable_execute_stack): Disable on
21758 GRUB_MACHINE_EMU.
21759
a33075b9
CW
217602010-05-28 Colin Watson <cjwatson@ubuntu.com>
21761
21762 Make grub-probe work with symbolic links under /dev/mapper as well
21763 as with real block devices. The Linux world seems to be (at best)
21764 in transition here, and GRUB shouldn't get caught in the middle.
21765
21766 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
21767 /dev/mapper.
21768
d8708134
CW
217692010-05-27 Colin Watson <cjwatson@ubuntu.com>
21770
21771 * util/grub-script-check.c (main): Ensure defined behaviour on empty
21772 input files (in which case exit zero).
21773
db2102a0
CW
217742010-05-27 Colin Watson <cjwatson@ubuntu.com>
21775
21776 * kern/emu/misc.c (canonicalize_file_name): realpath can still
21777 return NULL for various reasons even if it has a maximum-length
21778 buffer: for example, there might be a symlink loop, or the path
21779 might exceed PATH_MAX. If this happens, return NULL.
21780
5fdba519
RM
217812010-05-27 Robert Millan <rmh@gnu.org>
21782
21783 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
21784 partmap module to handle cross-partmap setups.
21785 Reported by Orestes Mas. Gràcies!
21786
d1d368e4
CW
217872010-05-27 Colin Watson <cjwatson@ubuntu.com>
21788
21789 * util/grub-mkrescue.in: Initialise override_dir rather than
21790 assuming that it's unset or empty in the environment.
21791
95ac3c73
GS
217922010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
21793
21794 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
21795 variable index into p_index to suppress a warning with -Wshadow.
21796
7d8c0213
BC
217972010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
21798
21799 * INSTALL: Added flex >= 2.5.35 requirement.
21800
db4d5813
VS
218012010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21802
21803 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
21804
f24f4300
VS
218052010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21806
21807 cmostest support.
21808
21809 * commands/i386/cmostest.c: New file.
21810 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
21811 (cmostest_mod_SOURCES): New variable.
21812 (cmostest_mod_CFLAGS): Likewise.
21813 (cmostest_mod_LDFLAGS): Likewise.
21814 * conf/i386-pc.rmk: Likewise.
21815 * docs/grub.texi (Vendor power-on keys): New section.
21816 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
21817 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
21818 and GRUB_BUTTON_CMOS_ADDRESS.
21819 * util/grub.d/00_header.in: Handle powering-on by separate button.
21820
ad603f61
VS
218212010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21822
21823 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
21824 Removed drawing_scrollbar argument. All users updated
21825 Fixes #29792.
21826 Reported by Jo Shields
21827
3ecb080a
VS
218282010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21829
21830 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
21831 buffer since gfxterm handles double repaint.
21832
5f2316c1
VS
218332010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
21834
21835 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
21836 * term/gfxterm.c (real_scroll): Likewise.
21837
9a25f885
VS
218382010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
21839
21840 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
21841 before calling BIOS.
21842
39fbb79a
VS
218432010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
21844
21845 * include/grub/i18n.h: Always enable grub_gettext.
21846
228cfa97
VS
218472010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
21848
21849 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
21850 partition naming style.
21851
21717c8f
CW
218522010-05-21 Colin Watson <cjwatson@ubuntu.com>
21853
21854 * util/grub-mkconfig.in: Fix handling of -o so that it works when
21855 not the first option.
21856
c0f48e65
CW
218572010-05-20 Colin Watson <cjwatson@ubuntu.com>
21858
21859 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
21860
96779aec
CW
218612010-05-20 Colin Watson <cjwatson@ubuntu.com>
21862
21863 * util/misc.c: Move inclusion of <limits.h> to ...
21864 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
21865
fa9d256e
GS
218662010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
21867
21868 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
21869 Fix merge error in NetBSD code.
21870 (find_partition_start) [__NetBSD__]: Likewise.
21871
123b7a85
BC
218722010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
21873
21874 Fix grub-mkrescue usage unit testing.
21875
21876 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
21877
74276c0d
CF
218782010-05-18 Christian Franke <franke@computer.org>
21879
21880 * util/grub.d/10_windows.in: Use path names instead of
21881 drive letters to prevent warning from Cygwin 1.7.
21882 Add drivemap command to menuentry if needed.
21883
c4f7b523
ST
218842010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
21885
21886 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
21887 gnumach and gnumach.gz.
21888
95b97950
VS
218892010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21890
21891 * include/grub/i18n.h (gettext): Inline instead of using #define.
21892 (grub_gettext): Likewise.
21893 (_): Likewise.
21894
01b8d2d7
VS
218952010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21896
21897 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
21898 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
21899 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
21900 (main): Add a slash after pkglibdirroot.
21901
654e1d1e
VS
219022010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21903
21904 * util/grub-install.in: Add missing "in" keyword.
21905
26966aeb
VS
219062010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21907
21908 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
21909 Reported by: Seth Goldberg.
21910
75006747
VS
219112010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
21912
21913 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
21914
74cbf5bd
CW
219152010-05-18 Colin Watson <cjwatson@ubuntu.com>
21916
21917 * configure.ac: Check for Linux device-mapper support.
21918
21919 * util/hostdisk.c (device_is_mapped): New function.
21920 (find_partition_start): New function, partly broken out from
21921 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
21922 device-mapper support added.
21923 (linux_find_partition): Use find_partition_start.
21924 (convert_system_partition_to_system_disk): Add `st' argument.
21925 Support Linux /dev/mapper/* devices if device-mapper support is
21926 available; only DM-RAID devices are understood at present.
21927 (find_system_device): Add `st' argument. Pass it to
21928 convert_system_partition_to_system_disk.
21929 (grub_util_biosdisk_get_grub_dev): Pass stat result to
21930 find_system_device and convert_system_partition_to_system_disk. Use
21931 find_partition_start.
21932
21933 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
21934 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
21935 * util/deviceiter.c [__linux__]: Define MINOR.
21936 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
21937 * util/mkdevicemap.c (grub_putchar): New function.
21938 (grub_getkey): New function.
21939 (grub_refresh): New function.
21940 (main): Set debug=all if -v -v is used.
21941
355b51e9
CW
219422010-05-18 Colin Watson <cjwatson@ubuntu.com>
21943
21944 Fix build with non-GNU libcs.
21945
21946 * util/misc.c (canonicalize_file_name): Move to ...
21947 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
21948 grub_make_system_path_relative_to_its_root.
21949
7fb5c25f
CW
219502010-05-18 Colin Watson <cjwatson@ubuntu.com>
21951
21952 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
21953 we handle finding grub-mkimage. Default to finding grub-mkimage in
21954 ${bindir} with program_transform_name applied, and provide a
21955 --grub-mkimage option to override this.
21956
1d3293d6
VS
219572010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
21958
21959 Remove grub-mkisofs.
21960
21961 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
21962 (grub_mkisofs_SOURCES): Removed.
21963 (grub_mkisofs_CFLAGS): Removed.
21964 * util/mkisofs/defaults.h: Removed.
21965 * util/mkisofs/eltorito.c: Likewise.
21966 * util/mkisofs/exclude.h: Likewise.
21967 * util/mkisofs/hash.c: Likewise.
21968 * util/mkisofs/include/: Likewise.
21969 * util/mkisofs/include/fctldefs.h: Likewise.
21970 * util/mkisofs/include/mconfig.h: Likewise.
21971 * util/mkisofs/include/prototyp.h: Likewise.
21972 * util/mkisofs/include/statdefs.h: Likewise.
21973 * util/mkisofs/iso9660.h: Likewise.
21974 * util/mkisofs/joliet.c: Likewise.
21975 * util/mkisofs/match.c: Likewise.
21976 * util/mkisofs/match.h: Likewise.
21977 * util/mkisofs/mkisofs.c: Likewise.
21978 * util/mkisofs/mkisofs.h: Likewise.
21979 * util/mkisofs/msdos_partition.h: Likewise.
21980 * util/mkisofs/multi.c: Likewise.
21981 * util/mkisofs/name.c: Likewise.
21982 * util/mkisofs/rock.c: Likewise.
21983 * util/mkisofs/tree.c: Likewise.
21984 * util/mkisofs/write.c: Likewise.
21985
5dde9afe
VS
219862010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
21987
21988 Unify grub-mkimage accross platforms.
21989
21990 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
21991 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
21992 (grub_mkelfimage_SOURCES): Removed.
21993 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
21994 (util/grub-mkimage.c_DEPENDENCIES): .. this.
21995 (bin_UTILITIES): Add grub-mkimage.
21996 (grub_mkimage_SOURCES): New variable.
21997 (kernel_img_HEADERS): Remove machine/kernel.h.
21998 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
21999 (pkglib_PROGRAMS): Add kernel.img.
22000 (kernel_img_HEADERS): Add machine/kernel.h.
22001 (kernel_img_FORMAT): Removed.
22002 (bin_UTILITIES): Remove grub-mkimage.
22003 (grub_mkimage_SOURCES): Removed.
22004 (grub_mkimage_CFLAGS): Likewise.
22005 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22006 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
22007 (pkglib_PROGRAMS): Add kernel.img.
22008 (bin_UTILITIES): Remove grub-mkimage.
22009 (grub_mkimage_SOURCES): Removed.
22010 (grub_mkimage_CFLAGS): Likewise.
22011 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22012 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
22013 (pkglib_PROGRAMS): Add kernel.img.
22014 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
22015 (pkglib_PROGRAMS): Add kernel.img.
22016 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
22017 (grub_mkimage_SOURCES): Removed.
22018 (grub_mkimage_CFLAGS): Likewise.
22019 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22020 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
22021 (pkglib_PROGRAMS): Add kernel.img.
22022 (bin_UTILITIES): Remove grub-mkimage.
22023 (grub_mkimage_SOURCES): Removed.
22024 (grub_mkimage_CFLAGS): Likewise.
22025 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22026 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
22027 (grub_mkimage_SOURCES): Removed.
22028 (grub_mkimage_CFLAGS): Likewise.
22029 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
22030 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
22031 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
22032 (grub_pe32_optional_header): ... this.
22033 (grub_pe64_optional_header): ... and this. All users updated.
22034 (GRUB_PE32_PE32_MAGIC): Split into ..
22035 (GRUB_PE32_PE32_MAGIC): .. this.
22036 (GRUB_PE32_PE64_MAGIC): .. and this.
22037 (GRUB_PE32_SIGNATURE_SIZE): New definition.
22038 * include/grub/elf.h (PT_GNU_STACK): New definition.
22039 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
22040 * include/grub/i386/efi/kernel.h: Likewise.
22041 * include/grub/i386/kernel.h: Likewise.
22042 * include/grub/i386/pc/kernel.h: Likewise.
22043 * include/grub/i386/qemu/boot.h: Likewise.
22044 * include/grub/mips/kernel.h: Likewise.
22045 * include/grub/mips/qemu-mips/kernel.h: Likewise.
22046 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
22047 * include/grub/powerpc/kernel.h: Likewise.
22048 * include/grub/sparc64/ieee1275/boot.h: Likewise.
22049 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22050 * include/grub/sparc64/kernel.h: Likewise.
22051 * include/grub/x86_64/efi/kernel.h: Likewise.
22052 * include/grub/x86_64/kernel.h: Likewise.
22053 * include/grub/offsets.h: New file.
22054 * include/grub/kernel.h (grub_module_info): Split into ...
22055 (grub_module_info32): ... this.
22056 (grub_module_info64): ... and this.
22057 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
22058 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
22059 (grub_boot_blocklist): Moved from here ...
22060 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
22061 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
22062 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
22063 * include/grub/types.h (grub_target_to_host16): Removed.
22064 (grub_target_to_host32): Likewise.
22065 (grub_target_to_host64): Likewise.
22066 (grub_host_to_target16): Likewise.
22067 (grub_host_to_target32): Likewise.
22068 (grub_host_to_target64): Likewise.
22069 (grub_host_to_target_addr): Likewise.
22070
22071 Support grub-mkrescue for efi, coreboot and qemu.
22072
22073 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
22074 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
22075 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
22076 * util/grub-mkrawimage.c: Moved from here ...
22077 * util/grub-mkimage.c: ... here. All users updated.
22078 (ALIGN_ADDR): Use image_target.
22079 (TARGET_NO_FIELD): New const.
22080 (image_target_desc): New type.
22081 (image_targets): New array.
22082 (grub_target_to_host64): Use image_target.
22083 (grub_target_to_host32): Likewise.
22084 (grub_target_to_host16): Likewise.
22085 (grub_host_to_target64): Likewise.
22086 (grub_host_to_target32): Likewise.
22087 (grub_host_to_target16): Likewise.
22088 (grub_host_to_target_addr): Likewise.
22089 (generate_image): Handle multiimage.
22090 (main): Require -O parameter. All users updated.
22091 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
22092 util/efi/grub-mkimage.c
22093 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
22094 New option --rom-directory.
22095 Use xorriso.
22096 * util/i386/efi/grub-mkimage.c: Removed.
22097 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
22098 (grub_target_to_host32): Likewise.
22099 (grub_target_to_host64): Likewise.
22100 (grub_host_to_target16): Likewise.
22101 (grub_host_to_target32): Likewise.
22102 (grub_host_to_target64): Likewise.
22103 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
22104 (grub_target_to_host32): Likewise.
22105 (grub_target_to_host64): Likewise.
22106 (grub_host_to_target16): Likewise.
22107 (grub_host_to_target32): Likewise.
22108 (grub_host_to_target64): Likewise.
22109
f4fc97d0
BC
221102010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
22111
22112 Source tree is reorganized for emu build.
22113
22114 * include/grub/util/console.h: Move from here...
22115 * include/grub/emu/console.h: ...to here.
22116 * include/grub/util/getroot.h: Move from here...
22117 * include/grub/emu/getroot.h: ...to here.
22118 * include/grub/util/hostdisk.h: Move from here...
22119 * include/grub/emu/hostdisk.h: ...to here.
22120 * util/console.c: Move from here...
22121 * kern/emu/console.c: ...to here.
22122 * util/getroot.c: Move from here...
22123 * kern/emu/getroot.c: ...to here.
22124 * util/grub-emu.c: Move from here...
22125 * kern/emu/main.c: ...to here.
22126 * util/hostdisk.c: Move from here...
22127 * kern/emu/hostdisk.c: ...to here.
22128 * util/hostfs.c: Move from here...
22129 * kern/emu/hostfs.c: ...to here.
22130 * util/mm.c: Move from here...
22131 * kern/emu/mm.c: ...to here.
22132 * util/pci.c: Move from here...
22133 * bus/emu/pci.c: ...to here.
22134 * util/sdl.c: Move from here...
22135 * video/emu/sdl.c: ...to here.
22136 * util/time.c: Move from here...
22137 * kern/emu/time.c: ...to here.
22138 * util/usb.c: Move from here...
22139 * bus/usb/emu/usb.c: ...to here.
22140
22141 * include/grub/emu/misc.h: New header for grub-emu functions.
22142 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
22143
22144 * conf/any-emu.rmk: Rule updates for above renames.
22145 * conf/common.rmk: Likewise.
22146 * conf/i386-pc.rmk: Likewise.
22147 * conf/i386-qemu.rmk: Likewise.
22148 * conf/mips.rmk: Likewise.
22149 * conf/sparc64-ieee1275.rmk: Likewise.
22150 * conf/x86-efi.rmk: Likewise.
22151
22152 * disk/lvm.h: #include updates for above renames.
22153 * util/grub-mkrelpath.c: Likewise.
22154 * util/grub-probe.c: Likewise.
22155 * util/i386/pc/grub-setup.c: Likewise.
22156 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22157 * kern/emu/console.c: Likewise.
22158 * kern/emu/getroot.c: Likewise.
22159 * kern/emu/hostdisk.c: Likewise.
22160 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
22161
22162 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
22163 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
22164 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
22165 * util/misc.c: Remove grub-emu functions.
22166
cced9145
VS
221672010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
22168
22169 Fix gfxmenu crash.
22170 Reported by: Thorsten Grützmacher.
22171
22172 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
22173 timeout hook.
22174 (circprog_set_property): Register and unregister timeout hook.
22175 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
22176 (label_destroy): Free template. and unregister hook.
22177 (label_set_state): New function.
22178 (label_set_property): Handle templates and hooks.
22179 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
22180 timeout hook.
22181 (progress_bar_set_property): Register and unregister timeout hook.
22182 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
22183 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
22184 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
22185 (update_timeout_visit): Removed.
22186 (update_timeouts): New function.
22187 (redraw_timeouts): Likewise.
22188 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
22189 (grub_gfxmenu_clear_timeout): Likewise.
22190 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
22191 (grub_gfxmenu_timeout_notify): Likewise.
22192 (grub_gfxmenu_timeout_notifications): New external variable.
22193 (grub_gfxmenu_timeout_register): New function.
22194 (grub_gfxmenu_timeout_unregister): Likewise.
22195
c6e5caab
VS
221962010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
22197
22198 Transform (broken) vga terminal into (working) vga video driver.
22199
22200 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
22201 video/i386/pc/vga.c.
22202 * include/grub/video.h (grub_video_driver_id):
22203 Add GRUB_VIDEO_DRIVER_VGA.
22204 * term/i386/pc/vga.c: Renamed to ...
22205 * video/i386/pc/vga.c: ...this
22206 (DEBUG_VGA): Removed.
22207 (CHAR_WIDTH): Likewise.
22208 (CHAR_HEIGHT): Likewise.
22209 (TEXT_WIDTH): Likewise.
22210 (TEXT_HEIGHT): Likewise.
22211 (DEFAULT_FG_COLOR): Likewise.
22212 (DEFAULT_BG_COLOR): Likewise.
22213 (colored_char): Likewise.
22214 (xpos): Likewise.
22215 (ypos): Likewise.
22216 (cursor_state): Likewise.
22217 (fg_color): Likewise.
22218 (bg_color): Likewise.
22219 (text_buf): Likewise.
22220 (page): Likewise.
22221 (font): Likewise.
22222 (framebuffer): New variable.
22223 (set_read_map): Disabled.
22224 (setup): New variable.
22225 (is_target): Likewise.
22226 (grub_vga_mod_init): Likewise.
22227 (grub_vga_mod_fini): Likewise.
22228 (check_vga_mem): Likewise.
22229 (write_char): Likewise.
22230 (write_cursor): Likewise.
22231 (scroll_up): Likewise.
22232 (grub_vga_putchar): Likewise.
22233 (grub_vga_getcharwidth): Likewise.
22234 (grub_vga_getwh): Likewise.
22235 (grub_vga_getxy): Likewise.
22236 (grub_vga_gotoxy): Likewise.
22237 (grub_vga_cls): Likewise.
22238 (grub_vga_setcolorstate): Likewise.
22239 (grub_vga_setcursor): Likewise.
22240 (grub_video_vga_init): New function.
22241 (grub_video_vga_setup): Likewise.
22242 (grub_video_vga_fini): Likewise.
22243 (update_target): Likewise.
22244 (grub_video_vga_blit_bitmap): Likewise.
22245 (grub_video_vga_blit_render_target): Likewise.
22246 (grub_video_vga_set_active_render_target): Likewise.
22247 (grub_video_vga_get_active_render_target): Likewise.
22248 (grub_video_vga_swap_buffers): Likewise.
22249 (grub_video_vga_set_palette): Likewise.
22250 (grub_video_vga_get_info_and_fini): Likewise.
22251 (grub_vga_term): Removed.
22252 (grub_video_vga_adapter): New variable.
22253 (GRUB_MOD_INIT): Register a video driver instead of terminal.
22254 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
22255
2bf61a98
VS
222562010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22257
22258 * video/readers/jpeg.c: Indented.
22259
09ddcd11
VS
222602010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22261
22262 Various jpeg cleanups.
22263
22264 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
22265 (grub_jpeg_decode_quan_table): Use sizeof.
22266 (grub_jpeg_decode_du): Use ARRAY_SIZE.
22267
e5507505
PH
222682010-05-05 Peter Hurley <No e-mail available> (tiny change)
22269
22270 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
22271 tables. Ignore non-last ac bit.
22272 (grub_jpeg_decode_quan_table): Likewise.
22273
7e720a9b
VS
222742010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22275
22276 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
22277 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
22278 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22279 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
22280 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
22281 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
22282
a7fc080b
VS
222832010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22284
22285 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
22286 error.
22287
2bf6012d
VS
222882010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
22289
22290 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
22291
265d68cd
VS
222922010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
22293
22294 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
22295 condition.
22296
222972010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
22298
22299 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
22300 part.
22301
265d68cd 223022010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
22303
22304 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
22305 pointers.
22306
265d68cd 223072010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
22308
22309 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
22310
d1b61374
CF
223112010-05-01 Christian Franke <franke@computer.org>
22312
22313 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
22314 Remove broken Cygwin path conversion.
22315 * util/misc.c: [__CYGWIN__] Add include and define.
22316 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
22317 for Cygwin 1.7.
22318 (make_system_path_relative_to_its_root): Simplify loop, replace early
22319 return by break.
22320 [__CYGWIN__] Add conversion to win32 path.
22321 Include "/" case in trailing slash removal.
22322
3558c6e9
VS
223232010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22324
22325 * kern/main.c (grub_load_config): Fix copy-pasted comment.
22326 Reported by: Seth Goldberg
22327
f5f3ff93
VS
223282010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22329
22330 * commands/help.c (grub_cmd_help): Fix a typo.
22331 Reported by: Seth Goldberg
22332
d8b5cd40
VS
223332010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22334
22335 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
22336 name and add N_.
22337 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
22338 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
22339 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
22340 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
22341 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
22342 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
22343 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
22344 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
22345 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
22346 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
22347 * normal/context.c (GRUB_MOD_INIT): Likewise.
22348 * normal/main.c (GRUB_MOD_INIT): Likewise.
22349 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
22350 * term/serial.c (GRUB_MOD_INIT): Likewise.
22351 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
22352
88c14915
VS
223532010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22354
22355 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
22356 extra == 0.
22357
165134bc
VS
223582010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22359
22360 * commands/iorw.c: New file.
22361 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
22362 (iorw_mod_SOURCES): New variable.
22363 (iorw_mod_CFLAGS): Likewise.
22364 (iorw_mod_LDFLAGS): Likewise.
22365
c5ac9b32
VS
223662010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22367
22368 Hotkey support
22369
22370 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
22371 * normal/main.c (hotkey_aliases): New variable.
22372 (grub_normal_add_menu_entry): Parse "--hotkey".
22373 * normal/menu_text.c (run_menu): Handle hotkeys.
22374
ce60689c
VS
223752010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22376
22377 * kern/i386/coreboot/init.c (grub_machine_init): Call
22378 grub_machine_mmap_init on qemu.
22379
0359d006
VS
223802010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22381
22382 * boot/i386/qemu/boot.S: Add a missing .code16.
22383
7819a456
VS
223842010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22385
22386 Use LBIO on coreboot.
22387
22388 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
22389 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
22390 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
22391 New declaration.
22392 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
22393 grub_machine_mmap_init on coreboot.
22394 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
22395 GRUB_LINUXBIOS_MEMBER_LINK.
22396 (grub_machine_mmap_iterate): Fix declaration.
22397 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
22398
7210dca9
VS
223992010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22400
22401 Split coreboot and multiboot ports.
22402
22403 * conf/i386-multiboot.rmk: New file.
22404 * configure.ac: Add multiboot port.
22405 * include/grub/i386/multiboot/boot.h: New file.
22406 * include/grub/i386/multiboot/console.h: Likewise.
22407 * include/grub/i386/multiboot/init.h: Likewise.
22408 * include/grub/i386/multiboot/kernel.h: Likewise.
22409 * include/grub/i386/multiboot/loader.h: Likewise.
22410 * include/grub/i386/multiboot/memory.h: Likewise.
22411 * include/grub/i386/multiboot/serial.h: Likewise.
22412 * include/grub/i386/multiboot/time.h: Likewise.
22413 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
22414 * loader/multiboot.c: Likewise.
22415 * loader/multiboot_mbi2.c: Likewise.
22416 * util/grub-mkrescue.in: Generate multiboot rescue.
22417
6f8aaf68
VS
224182010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22419
3080f7a7
VS
22420 * kern/parser.c (grub_parser_execute): Cope with read-only config.
22421
224222010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
22423
22424 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
22425
22426 * commands/terminal.c (abstract_terminal): New struct.
22427 (handle_command): New function. Based on grub_cmd_terminal_input.
22428 (grub_cmd_terminal_input): Use handle_command.
22429 (grub_cmd_terminal_output): Use handle_command.
22430
a8ebb841
BC
224312010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
22432
22433 Fix comment handling.
22434
22435 * tests/grub_script_comments.in: New testcase.
22436 * conf/tests.rmk: Rules for new testcase.
22437 * script/yylex.l: Updated flex rules.
22438
bb06ba08
ST
224392010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
22440
22441 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
22442 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
22443 if argc is 1.
bb06ba08 22444
cc9d2425
VS
224452010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
22446
22447 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
22448 autogen issues.
22449
460d8402
CF
224502010-04-26 Christian Franke <franke@computer.org>
22451
22452 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
22453 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
22454 (grub_get_prefix): Remove function.
22455 * util/grub-emu.c (main): Replace grub_get_prefix () call by
22456 make_system_path_relative_to_its_root ().
22457 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
22458
553c01f9
CF
224592010-04-24 Christian Franke <franke@computer.org>
22460
22461 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
22462 (kernel_img_LDFLAGS): Remove -static-libgcc.
22463
2aec1692
CF
224642010-04-24 Christian Franke <franke@computer.org>
22465
22466 * configure.ac: Do not CHECK_BSS_START_SYMBOL
22467 and CHECK_END_SYMBOL if grub-emu is built.
22468 Unset TARGET_OBJ2ELF if grub-emu is built
22469 without module support.
22470
f67dc308
JS
224712010-04-24 Jiro SEKIBA <jir@unicus.jp>
22472
22473 Nilfs2 support.
22474
22475 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
22476 (grub_fstest_SOURCES): Likewise.
22477 (pkglib_MODULES): Add nilfs2.mod.
22478 (nilfs2_mod_SOURCES): New variable.
22479 (nilfs2_mod_CFLAGS): Likewise.
22480 (nilfs2_mod_LDFLAGS): Likewise.
22481 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
22482 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
22483 * fs/nilfs2.c: New file.
22484
4ba8d354
VS
224852010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
22486
22487 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
22488 is not supported.
22489
0d2c20c6
GS
224902010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
22491
22492 Add grub-mkconfig support for NetBSD.
22493
22494 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
22495 * util/grub-mkconfig.in: export new NetBSD specific variables.
22496 * po/POTFILES-shell: added 10_netbsd.in.
22497 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
22498
bc4a2d83
BC
224992010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
22500
22501 Fix emu build with grub-emu-pci and grub-emu-modules.
22502
22503 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
22504 functions.
22505 * include/grub/libpciaccess.h: New file.
22506 * conf/any-emu.rmk: Update kernel headers for emu build.
22507
f48c87aa
VS
225082010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
22509
22510 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
22511
18959385
VS
225122010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
22513
22514 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
22515
0037de3f
VS
225162010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
22517
22518 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
22519 Retrieve chosen/bootpath if bootpath isn't hardcoded.
22520 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
22521 util/ieee1275/ofpath.c.
22522 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
22523 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
22524 * include/grub/sparc64/ieee1275/boot.h
22525 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
22526 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
22527 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
22528 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
22529 const char *.
22530 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
22531 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
22532 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
22533 install.
22534
38e55e90
GS
225352010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
22536
22537 * util/grub-mkconfig.in: Corrected two == equality tests.
22538 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
22539 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
22540 expect a number appended to it.
22541 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
22542 expects a number appended to it.
22543
a9e6ff28
VS
225442010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
22545
22546 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
22547
0b830b8f
VS
225482010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
22549
22550 * util/hostdisk.c (make_device_name): Change to new partition naming.
22551
0973daeb
VS
225522010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
22553
22554 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
22555
460d8402 225562010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
22557
22558 * Makefile.in: Add missing localedir setting.
22559
0b456309
CW
225602010-04-14 Colin Watson <cjwatson@ubuntu.com>
22561
22562 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
22563 mistake in r2156. Noticed by Anthony Fok.
22564
22565 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
22566 @localedir@.
22567 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
22568
08f46d62
BC
225692010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
22570
22571 Fix a spurious, uninitialized variable warning.
22572
22573 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
22574 Initialize variable, shdr.
22575 (grub_freebsd_load_elfmodule): Likewise.
22576 (grub_freebsd_load_elf_meta): Likewise.
22577
8c4a72d4
BC
225782010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
22579
22580 Fix for escaped dollar in double quoted strings.
22581
22582 * script/yylex.l: Updated flex rules.
22583 * conf/tests.rmk: Rule for new testcase.
22584 * tests/grub_script_dollar.in: New testcase.
22585
ce44826e
CPE
225862010-04-13 Carles Pina i Estany <carles@pina.cat>
225872010-04-13 Colin Watson <cjwatson@ubuntu.com>
22588
22589 Enclose all translated strings in grub.cfg in single quotes, and
22590 escape them appropriately (Ubuntu bug #552921).
22591
22592 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
22593 * util/grub.d/10_hurd.in: Use it.
22594 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
22595 * util/grub.d/10_linux.in (linux_entry): Likewise.
22596
4b0cd8f8
VS
225972010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
22598
22599 Fix cygwin compilation.
22600
22601 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
22602 * include/grub/misc.h (__register_frame_info)
22603 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
22604 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
22605 * kern/misc.c (__register_frame_info)
22606 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
22607 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
22608
01fcf061
VS
226092010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
22610
22611 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
22612
5d04b11e
VS
226132010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
22614
22615 Unify libgcc processing.
22616
22617 * Makefile.in (kernel_img_LDFLAGS): New variable.
22618 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
22619 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
22620 overwriting.
22621 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
22622 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
22623 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
22624 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
22625 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
22626 overwriting. Remove -lgcc and -static-libgcc
22627 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
22628 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
22629 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
22630 (kernel_img_LDFLAGS): Append instead of overwriting.
22631 Remove -lgcc and -static-libgcc
22632 * conf/sparc64-ieee1275.rmk: Likewise.
22633 * include/grub/powerpc/libgcc.h: Move to ...
22634 * include/grub/libgcc.h: .. this.
22635 * include/grub/libgcc.h: Don't export most of the function on x86.
22636 (__bswapsi2): New export.
22637 (__bswapdi2): Likewise.
22638 * include/grub/mips/libgcc.h: Removed.
22639 * include/grub/sparc64/libgcc.h: Likewise.
22640
b7f3ac29
VS
226412010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22642
22643 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
22644 disk_info_msg (conflicts with gettexting into languages with cases).
22645
2c7031b1
GS
226462010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
22647
22648 Add grub-probe support for NetBSD.
22649
22650 * util/getroot.c (find_root_device): Convert block device to
22651 character device on NetBSD.
22652 * util/probe.c (probe): Require character device on NetBSD.
22653 * util/hostdisk.c: NetBSD specific headers.
22654 (configure_device_driver): new function to tune device driver
22655 parameters (currently only for NetBSD floppy driver).
22656 (grub_util_biosdisk_open): NetBSD specific code (get disk size
22657 via disklabel ioctl).
22658 (open_device): call configure_device_driver on NetBSD.
22659 (convert_system_partition_to_system_disk): NetBSD specific code.
22660 (device_is_wholedisk): Likewise.
22661 (grub_util_biosdisk_get_grub_dev): Likewise.
22662 (make_device_name): Fixed a typo in bsd_part_str.
22663 * configure.ac: check for opendisk() and getrawpartition() on
22664 NetBSD and set LIBUTIL.
22665 * Makefile.in: add LIBUTIL to LIBS.
22666
f516290c
BC
226672010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
22668
22669 Documentation fix.
22670
22671 * util/grub-script-check.c: Better help message.
22672
d8dcc0df
BC
226732010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
22674
22675 Fix FreeBSD build.
22676
22677 * configure.ac: Flex version check.
22678 * conf/common.rmk: Add -Wno-error to sh.mod.
22679 * script/yylex.l: Remove all #pragma.
22680
6734334a
VS
226812010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22682
22683 * include/grub/util/misc.h (canonicalise_file_name): Add missing
22684 prototype.
22685 Reported by: Seth Goldberg.
22686
daea6abd
VS
226872010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22688
22689 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
22690 Rename "module" to "module2".
22691 Reported by: Seth Goldberg.
22692
f2fd9d2b
VS
226932010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22694
22695 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
22696 EXPORT_FUNC.
22697 Reported by: Seth Goldberg.
22698
be124579
VS
226992010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22700
22701 * lib/posix_wrap/locale.h: Add missing file.
22702 Reported by: Seth Goldberg.
22703
ef5da797
VS
227042010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22705
22706 grub-emu module load support.
22707
22708 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
22709 NO_DYNAMIC_MODULES switched to this.
22710 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
22711 (CFLAGS): Likewise.
22712 * conf/any-emu.rmk: Generate symlist.
22713 (kernel_img_HEADERS): Add util/datetime.h.
22714 (kernel_img_HEADERS) [sdl]: Add sdl.h.
22715 (kernel_img_HEADERS) [libusb]: Add libusb.h.
22716 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
22717 kern/$(target_cpu)/cache.S.
22718 * configure.ac (grub-emu-modules): New option.
22719 * genmk.rb: Handle multiple source lists.
22720 * include/grub/sdl.h: New file.
22721 * include/grub/libusb.h: Likewise.
22722 * util/grub-emu.c (main): Hanle (host) root.
22723 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
22724 GRUB_ERR_UNKNOWN_DEVICE.
22725 * util/misc.c: Move mm functions to ...
22726 * util/mm.c: ... here. All users updated.
22727
47822096
VS
227282010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22729
22730 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
22731 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
22732 missing files.
22733 (maintainer-clean): Remove libgcrypt-grub.
22734
5d7e7445
VS
227352010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22736
22737 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
22738
25f4e252
EC
227392010-04-09 EFI Coder <eficoder@hotmail.com>
22740
22741 * normal/menu_text.c (print_message): Clean up the message and show
22742 the Fn information when on EFI
22743 * term/efi/console.c (grub_console_checkkey): Add F4 support.
22744
027de555
VS
227452010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22746
22747 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
22748 All users updated.
22749 * normal/crypto.c (read_crypto_list): Likewise.
22750 * normal/dyncmd.c (read_command_list): Likewise.
22751 * normal/term.c (read_terminal_list): Likewise.
22752 * normal/main.c (read_lists): Use explicit prefix.
22753 (read_lists_hook): Use read_lists.
22754 (grub_normal_execute): Likewise.
22755
47779711
VS
227562010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22757
22758 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
22759 Reported by: Thomas Schmitt.
22760 Add -no-emul-boot to grub-mkisofs parameters.
22761
1118c32e
VS
227622010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22763
22764 * font/font.c: Indented.
22765
7d652447
BC
227662010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
22767
22768 Elif support to GRUB script (by Deepak Vankadaru).
22769
22770 * tests/grub_script_if.in: New testcase.
22771 * conf/tests.rmk: Rule for new testcase.
22772 * script/parser.y: Grammar rules for elif.
22773
34bb22df
BC
227742010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
22775
22776 While and until loops support to GRUB script.
22777
22778 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
22779 (grub_script_create_cmdwhile): New function prototype.
22780 (grub_script_execute_cmdwhile): New function prototype.
22781 * script/execute.c (grub_script_execute_cmdwhile): New function.
22782 * script/parser.y (command): New commands.
22783 (whilecmd): New grammar rule.
22784 (untilcmd): New grammar rule.
22785 * script/script.c (grub_script_create_cmdwhile): New function.
22786 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
22787 function.
22788
22789 * tests/grub_script_while1.in: New testcase.
22790 * conf/tests.rmk: Rule for new testcase.
22791
e215d8e0
VS
227922010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22793
22794 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
22795 as *.jpg.
22796
d7c43ba1
MV
227972010-04-09 Mario Vazquez <mariovazq@gmail.com>
22798
22799 GRUB_BACKGROUND support.
22800
22801 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
22802 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
22803
d64795c0
VS
228042010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22805
22806 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 22807 Idea by: Mario Vazquez
d64795c0
VS
22808
22809 * util/grub.d/00_header.in: Load pf2 and image modules.
22810
f267f83a
VS
228112010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22812
22813 grub-mkconfig multiple terminal support.
22814
22815 * util/grub-mkconfig.in: Handle multiple terminals correctly.
22816 * util/grub.d/00_header.in: Likewise.
22817
b7841ceb
VS
228182010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
22819
22820 * Makefile.in: Specify files explicitly instead of using $< and $@ since
22821 we use cd $(srcdir).
22822
df60998c
CW
228232010-04-08 Colin Watson <cjwatson@ubuntu.com>
22824
22825 * util/grub.d/10_linux.in: Only use the first word of
22826 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
22827 spaces in GRUB_DISTRIBUTOR.
22828 * util/grub.d/10_kfreebsd.in: Likewise.
22829 * util/grub.d/10_hurd.in: Likewise.
22830
fa09c82e
BC
228312010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
22832
14e18ae3 22833 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
22834
22835 * tests/util/grub-shell.in: Remove -serial stdio option.
22836
daf892b3
BC
228372010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
22838
22839 POSIX header file wrappers.
22840
22841 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
22842 equivalents.
22843 * lib/posix_wrap/ctype.h: Likewise.
22844 * lib/posix_wrap/errno.h: Likewise.
22845 * lib/posix_wrap/langinfo.h: Likewise.
22846 * lib/posix_wrap/limits.h: Likewise.
22847 * lib/posix_wrap/localcharset.h: Likewise.
22848 * lib/posix_wrap/stdint.h: Likewise.
22849 * lib/posix_wrap/stdio.h: Likewise.
22850 * lib/posix_wrap/stdlib.h: Likewise.
22851 * lib/posix_wrap/string.h: Likewise.
22852 * lib/posix_wrap/sys/types.h: Likewise.
22853 * lib/posix_wrap/unistd.h: Likewise.
22854 * lib/posix_wrap/wchar.h: Likewise.
22855 * lib/posix_wrap/wctype.h: Likewise.
22856 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
22857 (grub_script.yy.h): Likewise.
22858 * script/yylex.l: Remove POSIX emulation #defines.
22859 * Makefile.in (POSIX_CFLAGS): New variable.
22860 (GNULIB_UTIL_CFLAGS): Likewise.
22861
22862 Regexp support.
22863
22864 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
22865 (regexp_mod_SOURCES): New variable.
22866 (regexp_mod_CFLAGS): Likewise.
22867 (regexp_mod_LDFLAGS): Likewise.
22868 * commands/regexp.c: New file.
22869 * gnulib/regcomp.c: New file. Imported from gnulib.
22870 * gnulib/regex.c: Likewise.
22871 * gnulib/regex_internal.c: Likewise.
22872 * gnulib/regex_internal.h: Likewise.
22873 * gnulib/regexec.c: Likewise.
22874 * gnulib/regex.h: Likewise.
22875
974ac4f7
VS
228762010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22877
22878 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
22879 unsupported video mode types.
22880
2622c3ff
VS
228812010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22882
22883 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
22884
064cb524
VS
228852010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22886
22887 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
22888 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
22889
a8c3b552
VS
228902010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
22891
22892 Remove unused grub_vga_get_font.
22893
22894 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
22895 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
22896
187bbe3d
GS
228972010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22898
22899 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
22900 * include/grub/misc.h: Likewise.
22901
b9396631
GS
229022010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22903
22904 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
22905 for which failure is fatal.
22906
50479feb
GS
229072010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22908
22909 * util/grub-install.in: Use mkdir -p to create grub directory.
22910 * util/i386/efi/grub-install.in: Likewise.
22911 * util/ieee1275/grub-install.in: Likewise.
22912
b1654fdf
GS
229132010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22914
22915 * Makefile.in (LEX): new variable.
22916
bd5a6415
GS
229172010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
22918
22919 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
22920 `=' and added double quotes on operands of this equality test.
22921
3db3a82b
VS
229222010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
22923
22924 * Makefile.in (uninstall): Remove a leftover debug echo.
22925 Reported by: Grégoire Sutre
22926
38023412
VS
229272010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
22928
22929 MIPS multiboot2 support.
22930
22931 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
22932 (multiboot2_mod_SOURCES): New variable.
22933 (multiboot2_mod_CFLAGS): Likewise.
22934 (multiboot2_mod_LDFLAGS): Likewise.
22935 (multiboot2_mod_ASFLAGS): Likewise.
22936 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
22937 definition.
22938 (MULTIBOOT_ENTRY_REGISTER): Likewise.
22939 (MULTIBOOT_MBI_REGISTER): Likewise.
22940 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
22941 (MULTIBOOT_ELF32_MACHINE): Likewise.
22942 (MULTIBOOT_ELF64_MACHINE): Likewise.
22943 * include/grub/mips/multiboot.h: New file.
22944 * include/grub/video.h (grub_video_driver_id): New type
22945 GRUB_VIDEO_DRIVER_SM712.
22946 (grub_video_get_info_and_fini): Export.
22947 (grub_video_get_palette): Likewise.
22948 (grub_video_get_driver_id): Likewise.
22949 * include/multiboot2.h: Resynced with spec.
22950 * loader/i386/multiboot.c: Moved from here ...
22951 * loader/multiboot.c: ... here. All users updated.
22952 (grub_multiboot_boot): Use platform-specific macros.
22953 * loader/i386/multiboot_elfxx.c: Moved from here ...
22954 * loader/multiboot_elfxx.c: ... here. All users updated.
22955 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
22956 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
22957 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
22958
47674667
VS
229592010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
22960
22961 Import gnulib argp module.
22962
22963 * gnulib/argp-ba.c: New file.
22964 * gnulib/argp-eexst.c: Likewise.
22965 * gnulib/argp-fmtstream.c: Likewise.
22966 * gnulib/argp-fmtstream.h: Likewise.
22967 * gnulib/argp-fs-xinl.c: Likewise.
22968 * gnulib/argp-help.c: Likewise.
22969 * gnulib/argp-namefrob.h: Likewise.
22970 * gnulib/argp-parse.c: Likewise.
22971 * gnulib/argp-pin.c: Likewise.
22972 * gnulib/argp-pv.c: Likewise.
22973 * gnulib/argp-pvh.c: Likewise.
22974 * gnulib/argp-version-etc.c: Likewise.
22975 * gnulib/argp-version-etc.h: Likewise.
22976 * gnulib/argp-xinl.c: Likewise.
22977 * gnulib/argp.h: Likewise.
22978
495442ed
VS
229792010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
22980
22981 * kern/device.c (grub_device_iterate): Clear errors after failed
22982 opening device.
22983
f9fd65df
VS
229842010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
22985
22986 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
22987 returned by firmware.
22988
af09641e
VS
229892010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
22990
22991 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
22992 compilation on coreboot and qemu
22993
016883a5
VS
229942010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
22995
22996 * include/multiboot2.h: Resync with spec.
22997
f97e1f7d
VS
229982010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
22999
23000 Multiboot2 tag support
23001
23002 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
23003 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
23004 Remove loader/multiboot_loader.c.
23005 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
23006 (grub_multiboot2_real_boot): Likewise.
23007 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
23008 (grub_get_multiboot_mmap_count): New proto.
23009 (grub_fill_multiboot_mmap): Likewise.
23010 (grub_multiboot_set_video_mode): Likewise.
23011 (grub_multiboot_set_console): Likewise.
23012 (grub_multiboot_load): Likewise.
23013 (grub_multiboot_load_elf): Likewise.
23014 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
23015 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
23016 * include/multiboot.h: Resynced with specification.
23017 * include/multiboot2.h: Resynced with specification.
23018 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
23019 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
23020 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
23021 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
23022 users updated.
23023 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
23024 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
23025 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
23026 Removed.
23027 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
23028 Moved from here...
23029 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
23030 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
23031 Moved from here...
23032 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
23033 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
23034 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
23035 All users updated.
23036 * loader/i386/multiboot_mbi2.c: New file.
23037
3506b90b
VS
230382010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
23039
23040 Resync with gnulib.
23041
23042 * Makefile.in (GNULIB_CFLAGS): New variable.
23043 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
23044 (grub_script_check_CFLAGS): New variable.
23045 * gnulib/alloca.h: Resync with gnulib.
23046 * gnulib/error.c: Likewise.
23047 * gnulib/error.h: Likewise.
23048 * gnulib/fnmatch.c: Likewise.
23049 * gnulib/fnmatch_loop.c: Likewise.
23050 * gnulib/getdelim.c: Likewise.
23051 * gnulib/getline.c: Likewise.
23052 * gnulib/getopt.c: Likewise.
23053 * gnulib/getopt1.c: Likewise.
23054 * gnulib/getopt_int.h: Likewise.
23055 * gnulib/gettext.h: Likewise.
23056 * gnulib/progname.c: Likewise.
23057 * gnulib/progname.h: Likewise.
23058
394a3120
GS
230592010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
23060
23061 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
23062 which is the case with --disabled-nls.
23063
23064 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
23065 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
23066 * util/misc.c: Likewise.
23067 * util/mkisofs/mkisofs.c: Likewise.
23068 * util/mkisofs/mkisofs.h: Likewise.
23069
969d1c78
VS
230702010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
23071
23072 Simplify Apple CC support.
23073
23074 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
23075 Add 0 byte at the end not to have a symbol with empty target.
23076 * mmap/i386/pc/mmap_helper.S: Likewise.
23077 * genmk.rb: Ignore errors 2030 and 2050.
23078 * kern/i386/pc/startup.S: Use LOCAL when possible.
23079
8d2977bb
BC
230802010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
23081
23082 Testcase and the fix for final semicolon on cmdline.
23083
23084 * tests/grub_script_final_semicolon.in: New testcase.
23085 * conf/tests.rmk: Rules for the new testcase.
23086 * script/parser.y: Grammar fix.
23087
a7bd6915
BC
230882010-03-26 BVK Chaitanya <bvk@localhost>
23089
23090 Blank lines testcase for GRUB script.
23091
23092 * tests/grub_script_blanklines.in: New testcase.
23093 * conf/tests.rmk: Rules for the new testcase.
23094
e4ff6628
VS
230952010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
23096
23097 Don't use __FILE__.
23098
23099 * genmk.rb: Add -DGRUB_FILE to all C targets.
23100 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
23101 * include/grub/list.h: Likewise.
23102 * include/grub/misc.h: Likewise.
23103 * include/grub/mm.h: Likewise.
23104 * include/grub/test.h: Likewise.
23105 * kern/mm.c: Likewise.
23106 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
23107
6a5cf6b6
VS
231082010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
23109
23110 Sunpc partitions support.
23111
23112 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
23113 (grub_fstest_SOURCES): Likewise.
23114 (pkglib_MODULES): Add part_sunpc.mod.
23115 (part_sunpc_mod_SOURCES): New variable.
23116 (part_sunpc_mod_CFLAGS): Likewise.
23117 (part_sunpc_mod_LDFLAGS): Likewise.
23118 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
23119 * partmap/sunpc.c: New file.
23120
746d9045
BC
231212010-03-26 BVK Chaitanya <bvk@localhost>
23122
23123 For loop support to GRUB script.
23124
23125 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
23126 (grub_script_create_cmdfor): New function prototype.
23127 (grub_script_execute_cmdfor): New function prototype.
23128 * script/execute.c (grub_script_execute_cmdfor): New function.
23129 * script/parser.y (command): New for command.
23130 (forcmd): New grammar rule.
23131 * script/script.c (grub_script_create_cmdfor): New function.
23132 * util/grub-script-check.c (grub_script_execute_cmdfor): New
23133 function.
23134 * tests/grub_script_for1.in: New testcase.
23135 * conf/tests.rmk: Rules for new testcase.
23136
18486b18
VS
231372010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
23138
23139 Nested partitions
23140
23141 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
23142 'partition' is NULL, grub_partition_get_start already does that.
23143 * commands/loadenv.c (check_blocklists): Likewise.
23144 (write_blocklists): Likewise.
23145 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
23146 (grub_fstest_SOURCES): Likewise.
23147 (pkglib_MODULES): Add part_bsd.mod.
23148 (part_bsd_mod_SOURCES): New variable.
23149 (part_bsd_mod_CFLAGS): Likewise.
23150 (part_bsd_mod_LDFLAGS): Likewise.
23151 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
23152 (grub_emu_SOURCES): Likewise.
23153 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23154 * include/grub/bsdlabel.h: New file.
23155 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
23156 'get_name'.
23157 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
23158 (grub_partition_map_list): New variable.
23159 (grub_partition_map_register): Inline.
23160 (grub_partition_map_unregister): Likewise.
23161 (FOR_PARTITION_MAPS): New macro.
23162 (grub_partition_map_iterate): Removed.
23163 (grub_partition_get_start): Handle nested partitions.
23164 * include/grub/msdos_partition.h: Remove bsd-related entries.
23165 (grub_pc_partition): Remove.
23166 * kern/disk.c (grub_disk_close): Free partition data.
23167 (grub_disk_adjust_range): Handle nested partitions.
23168 * kern/partition.c (grub_partition_map_probe): New function.
23169 (grub_partition_probe): Parse name to number, handle subpartitions.
23170 (get_partmap): New function.
23171 (grub_partition_iterate): Handle subpartitions.
23172 (grub_partition_get_name): Likewise.
23173 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
23174 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
23175 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
23176 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
23177 Set 'number'.
23178 (acorn_partition_map_probe): Remove.
23179 (acorn_partition_map_get_name): Likewise.
23180 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
23181 Set 'number'.
23182 Set 'index' to 0 since there can be only one partition entry per sector.
23183 (amiga_partition_map_probe): Remove.
23184 (amiga_partition_map_get_name): Likewise.
23185 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
23186 Set 'number'.
23187 Set 'offset' and 'index' to real positions of partitions.
23188 (apple_partition_map_probe): Remove.
23189 (apple_partition_map_get_name): Likewise.
23190 * partmap/bsdlabel.c: New file.
23191 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
23192 Set 'number'.
23193 Allocate 'data' so it can be correctly freed.
23194 Set 'index' to offset inside sector.
23195 (gpt_partition_map_probe): Remove.
23196 (gpt_partition_map_get_name): Likewise.
23197 * partmap/msdos.c (grub_partition_parse): Remove.
23198 (pc_partition_map_iterate): Don't force raw access.
23199 Set 'number'.
23200 Make 'ext_offset' a local variable.
23201 (pc_partition_map_probe): Remove.
23202 (pc_partition_map_get_name): Remove.
23203 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
23204 Set 'number'.
23205 (sun_partition_map_probe): Remove.
23206 (sun_partition_map_get_name): Likewise.
23207 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
23208 (grub_pcpart_type): Likewise.
23209 * util/hostdisk.c (open_device): Handle new numbering scheme.
23210 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
23211 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
23212 * util/grub-probe.c (probe_partmap): Handle nested paritions.
23213 * util/grub-install.in: Insert all subpartition modules.
23214 * util/ieee1275/grub-install.in: Likewise.
23215
a3940f88
AG
232162010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
23217
23218 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
23219 grammar.
23220
21b99926 232212010-03-24 Colin Watson <cjwatson@ubuntu.com>
23222
23223 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
23224
bed1d352
CW
232252010-03-21 Colin Watson <cjwatson@ubuntu.com>
23226
23227 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
23228 match where 'make install' puts them.
23229 * util/i386/efi/grub-install.in: Likewise.
23230
c9f58427
CW
232312010-03-19 Colin Watson <cjwatson@ubuntu.com>
23232
23233 * .bzrignore: Add gentrigtables, grub-script-check,
23234 grub_script_check_init.c, grub_script_check_init.h, and
23235 trigtables.c.
23236
f84afb27
VS
232372010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
23238
23239 * kern/parser.c: Indented.
23240
ed0e3d30
VS
232412010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
23242
23243 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
23244
0ea81d98
VS
232452010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
23246
23247 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
23248 alpha_mask_size == 0 case.
23249
0cdc2a09
BC
232502010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
23251
23252 GRUB shell lexer and parser improvements.
23253
23254 * conf/any-emu.rmk: Build rule updates.
23255 * conf/common.rmk: Likewise.
23256 * conf/i386-coreboot.rmk: Likewise.
23257 * conf/i386-efi.rmk: Likewise.
23258 * conf/i386-ieee1275.rmk: Likewise.
23259 * conf/i386-pc.rmk: Likewise.
23260 * conf/powerpc-ieee1275.rmk: Likewise.
23261 * conf/x86_64-efi.rmk: Likewise.
23262
23263 * configure.ac: Configure check for flex.
23264
23265 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
23266 types.
23267 (grub_lexer_param): Struct member updates.
23268 (grub_parser_param): Likewise.
23269 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
23270 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
23271 (grub_script_lexer_init): Prototype update.
23272 (grub_script_lexer_record_start): Likewise.
23273 (grub_script_lexer_record_stop): Likewise.
23274 (grub_script_lexer_yywrap): New function prototype.
23275 (grub_script_lexer_fini): Likewise.
23276 (grub_script_execute_argument_to_string): Removed by...
23277 (grub_script_execute_argument_to_argv): ...better version.
23278
23279 * script/execute.c (ROUND_UPTO): New macro.
23280 (grub_script_execute_cmdline): Out of memory fixes.
23281 (grub_script_execute_menuentry): Likewise.
23282 (grub_script_execute_argument_to_string): Removed. Update all
23283 users by...
23284 (grub_script_execute_argument_to_argv): ...better version.
23285 * script/function.c (grub_script_function_create): Use
23286 grub_script_execute_argument_to_argv instead of
23287 grub_script_execute_argument_to_string.
23288
23289 * script/lexer.c (check_varstate): Removed.
23290 (check_textstate): Removed.
23291 (grub_script_lexer_record_start): Likewise.
23292 (grub_script_lexer_record_stop): Likewise.
23293 (recordchar): Replaced with...
23294 (grub_script_lexer_record): ...new function.
23295 (nextchar): Removed.
23296 (grub_script_lexer_init): Rewritten.
23297 (grub_script_yylex): Rewritten.
23298 (append_newline): New function.
23299 (grub_script_lexer_yywrap): New function.
23300 (grub_script_lexer_fini): New function.
23301 (grub_script_yyerror): Sets error flag.
23302
23303 * script/yylex.l: New file.
23304 (grub_lexer_yyfree): Wrapper for flex yyffre.
23305 (grub_lexer_yyalloc): Likewise.
23306 (grub_lexer_yyrealloc): Likewise.
23307 * script/parser.y: Refactored.
23308
23309 * script/script.c (grub_script_arg_add): Out of memory fixes.
23310 (grub_script_add_arglist): Likewise.
23311 (grub_script_create_cmdline): Likewise.
23312 (grub_script_create_cmdmenu): Likewise.
23313 (grub_script_add_cmd): Likewise.
23314 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
23315 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
23316 unnecessary code.
23317
23318 * tests/grub_script_echo1.in: New testcase.
23319 * tests/grub_script_vars1.in: New testcase.
23320 * tests/grub_script_echo_keywords.in: New testcase.
23321
1d63a066
VS
233222010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23323
23324 Remove some redundancy in build system.
23325
23326 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
23327 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
23328 (TARGET_LDFLAGS): Add -nostdlib.
23329 (TARGET_IMG_LDFLAGS): Likewise.
23330 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
23331 anything since mmap isn't available.
23332 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
23333 Add util/time.c.
23334 (pkglib_MODULES): Remove reboot.mod.
23335 (reboot_mod_SOURCES): Removed.
23336 (reboot_mod_CFLAGS): Likewise.
23337 (reboot_mod_LDFLAGS): Likewise.
23338 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
23339 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
23340 (DEFSYMFILES): Add kernel_syms.lst.
23341 (kernel_img_HEADERS): Add common headers.
23342 (symlist.c): New target.
23343 (kernel_syms.lst): Likewise.
23344 (pkglib_MODULES): Add memdisk.mod.
23345 (memdisk_mod_SOURCES): New variable.
23346 (memdisk_mod_CFLAGS): Likewise.
23347 (memdisk_mod_LDFLAGS): Likewise.
23348 (pkglib_MODULES): Add reboot.mod.
23349 (reboot_mod_SOURCES): New variable.
23350 (reboot_mod_CFLAGS): Likewise.
23351 (reboot_mod_LDFLAGS): Likewise.
23352 (pkglib_MODULES): Add date.mod.
23353 (date_mod_SOURCES): New variable.
23354 (date_mod_CFLAGS): Likewise.
23355 (date_mod_LDFLAGS): Likewise.
23356 (pkglib_MODULES): Add datehook.mod.
23357 (datehook_mod_SOURCES): New variable.
23358 (datehook_mod_CFLAGS): Likewise.
23359 (datehook_mod_LDFLAGS): Likewise.
23360 (pkglib_MODULES): Add lsmmap.mod.
23361 (lsmmap_mod_SOURCES): New variable.
23362 (lsmmap_mod_CFLAGS): Likewise.
23363 (lsmmap_mod_LDFLAGS): Likewise.
23364 (pkglib_MODULES): Add boot.mod.
23365 (boot_mod_SOURCES): New variable.
23366 (boot_mod_CFLAGS): Likewise.
23367 (boot_mod_LDFLAGS): Likewise.
23368 * conf/i386-coreboot.rmk: Removed redundant parts.
23369 * conf/i386-ieee1275.rmk: Likewise.
23370 * conf/i386-pc.rmk: Likewise.
23371 * conf/mips-yeeloong.rmk: Likewise.
23372 * conf/mips.rmk: Likewise.
23373 * conf/powerpc-ieee1275.rmk: Likewise.
23374 * conf/sparc64-ieee1275.rmk: Likewise.
23375 * conf/x86_64-efi.rmk: Likewise.
23376 * conf/i386-coreboot.rmk: Moved qemu parts ..
23377 * conf/i386-qemu.rmk: ... here
23378 * conf/i386-efi.rmk: Moved common parts to...
23379 * conf/x86-efi.rmk: ... here.
23380 * conf/i386.rmk: Added modules common to all x86 variants.
23381 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
23382 * disk/memdisk.c: Remove grub/machine/kernel.h.
23383 * gensymlist.sh.in: Include symbol.h.
23384 * hook/datehook.c: Correct module name.
23385 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
23386 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
23387 * include/grub/i386/efi/serial.h: New file.
23388 * include/grub/x86_64/efi/serial.h: Likewise.
23389 * util/time.c: Likewise.
23390 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
23391
463ac55f
CK
233922010-03-14 Colin King <colin.king@ubuntu.com>
233932010-03-14 Colin Watson <cjwatson@ubuntu.com>
23394
23395 Shrink the pre-partition-table part of boot.img by eight bytes.
23396
23397 * boot/i386/pc/boot.S (ERR): New macro.
23398 (chs_mode): Use ERR.
23399 (geometry_error): Likewise.
23400 (hd_probe_error): Remove. This is only used once, so we wrwite
23401 it inline instead.
23402 (read_error): Instead of printing read_error_string, just set up
23403 %si and fall through to ...
23404 (error_message): ... this new function, also used by ERR.
23405
08e46ede
CW
234062010-03-14 Colin Watson <cjwatson@ubuntu.com>
23407
23408 Speed up consecutive hostdisk operations on the same device.
23409
23410 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
23411 (grub_util_biosdisk_open): Initialise disk->data.
23412 (struct linux_partition_cache): New structure.
23413 (linux_find_partition): Cache partition start positions; these are
23414 expensive to compute on every read and write.
23415 (open_device): Cache open file descriptor in disk->data, so that we
23416 don't have to reopen it and flush the buffer cache for consecutive
23417 operations on the same device.
23418 (grub_util_biosdisk_close): New function.
23419 (grub_util_biosdisk_dev): Set `close' member.
23420
23421 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
23422 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
23423 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23424 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
23425 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
23426
4a6d2d06
VS
234272010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23428
23429 Compile parts of grub-emu as modules.
23430
23431 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
23432 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
23433 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
23434 (all-local): Add $(GRUB_EMU).
23435 (install-local): Install $(GRUB_EMU).
23436 (uninstall): Uninstall $(GRUB_EMU).
23437 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
23438 * kern/dl.c: Likewise.
23439 * commands/sleep.c: Not include machine/time.h.
23440 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
23441 (COMMON_CFLAGS): Likewise.
23442 (sbin_UTILITIES): Remove grub-emu.
23443 (grub_emu_SOURCES): Removed.
23444 (kernel_img_RELOCATABLE): New variable.
23445 (pkglib_PROGRAMS): Add kernel.img.
23446 (kernel_img_SOURCES): New variable
23447 (kernel_img_CFLAGS): Likewise.
23448 (kernel_img_LDFLAGS): Likewise.
23449 (TARGET_NO_STRIP): Likewise.
23450 (TARGET_NO_DYNAMIC_MODULES): Likewise.
23451 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
23452 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
23453 (grub-emu): New target.
23454 (GRUB_EMU): New variable.
23455 * configure.ac: Whitelist -emu as possible x86_64 architecture.
23456 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
23457 * loader/xnu.c: Likewise.
23458 * include/grub/pci.h: Likewise.
23459 * genemuinit.sh: New file.
23460 * genemuinitheader.sh: Likewise.
23461 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
23462 Support TARGET_NO_DYNAMIC_MODULES.
23463 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
23464 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
23465 * disk/loopback.c: Likewise.
23466 * font/font_cmd.c: Likewise.
23467 * partmap/acorn.c: Likewise.
23468 * partmap/amiga.c: Likewise.
23469 * partmap/apple.c: Likewise.
23470 * partmap/gpt.c: Likewise.
23471 * partmap/msdos.c: Likewise.
23472 * partmap/sun.c: Likewise.
23473 * parttool/msdospart.c: Likewise.
23474 * term/gfxterm.c: Likewise.
23475 * video/bitmap.c: Likewise.
23476 * video/readers/jpeg.c: Likewise.
23477 * video/readers/png.c: Likewise.
23478 * video/readers/tga.c: Likewise.
23479 * video/video.c: Likewise.
23480 * util/grub-emu.c (read_command_list): Removed.
23481 (main): Don't call util_init_nls.
23482 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
23483 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
23484
91fdd2ed
VS
234852010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23486
23487 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
23488 date.mod, datehook.mod.
23489 (datetime_mod_SOURCES): New variable.
23490 (datetime_mod_CFLAGS): Likewise.
23491 (datetime_mod_LDFLAGS): Likewise.
23492 (date_mod_SOURCES): Likewise.
23493 (date_mod_CFLAGS): Likewise.
23494 (date_mod_LDFLAGS): Likewise.
23495 (datehook_mod_SOURCES): Likewise.
23496 (datehook_mod_CFLAGS): Likewise.
23497 (datehook_mod_LDFLAGS): Likewise.
23498 * conf/sparc64-ieee1275.rmk: Likewise.
23499 * lib/ieee1275/datetime.c: New file.
23500
873ccae6
VS
235012010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23502
23503 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
23504 (ieee1275_fb_mod_SOURCES): New variable.
23505 (ieee1275_fb_mod_CFLAGS): Likewise.
23506 (ieee1275_fb_mod_LDFLAGS): Likewise.
23507 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
23508 New proto.
23509 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
23510 (HEAP_MAX_ADDR): Likewise.
23511 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
23512 type.
23513 Correct stop condition.
23514 (grub_ieee1275_devices_iterate): New function.
23515 * video/ieee1275.c: New file.
23516
601c97c0
VS
235172010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
23518
23519 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
23520
23521 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
23522 as scratch.
23523 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
23524 SCRATCH_PAD_DISKBOOT as scratch.
23525 (bootit): Pass Openfirmware pointer in %o4.
23526 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
23527 of 0x200000.
23528 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
23529 with util/grub-mkrawimage.c.
23530 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
23531 * include/grub/aout.h (AOUT_MID_SUN): New definition.
23532 (grub_aout_get_type) [GRUB_UTIL]: Removed.
23533 (grub_aout_load) [GRUB_UTIL]: Likewise.
23534 * include/grub/kernel.h (grub_modules_get_end): New proto.
23535 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
23536 (SCRATCH_PAD_BOOT): New definition.
23537 (SCRATCH_PAD_DISKBOOT): Likewise.
23538 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
23539 * include/grub/sparc64/ieee1275/ieee1275.h
23540 (grub_ieee1275_original_stack): New variable
23541 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
23542 New definition
23543 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
23544 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
23545 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
23546 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
23547 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
23548 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
23549 (grub_platform_image_format_t): New type.
23550 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
23551 * kern/main.c (grub_modules_get_end)
23552 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
23553 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
23554 (codestart): Switch stacks.
23555 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
23556 variable.
23557 (grub_heap_init): Use grub_modules_get_end.
23558 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
23559 stack.
23560 * util/grub-mkrawimage.c (generate_image): Support sparc64.
23561 (main): Likewise.
23562 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
23563
d68b491e
TG
235642010-03-14 Thorsten Glaser <tg@mirbsd.org>
23565
23566 * util/grub-mkrescue.in: Base ISO UUID on UTC.
23567
4e02ed50
MK
235682010-03-08 Matt Kraai <kraai@ftbfs.org>
23569
23570 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
23571 bug #559005).
23572
1f15fc1e
VS
235732010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
23574
23575 * genmoddep.awk: Output all missing symbols and not only first.
23576
fce5d8ff
VS
235772010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23578
23579 * NEWS: Put the date of 1.98 release.
23580
d1e8a02f
VS
235812010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23582
23583 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
23584 ft2build.h.
23585
696fd607
VS
235862010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23587
23588 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
23589 completition in the middle of string.
23590
33e2e6f3
VS
235912010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23592
23593 * util/grub-mkrescue.in: Use mktemp with explicit template.
23594
b1f6d291
VS
235952010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23596
23597 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
23598
2ac227c7
VS
235992010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
23600
23601 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
23602 right pointer.
23603
8f9a632b
VS
236042010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
23605
23606 Fix FreeBSD compilation.
23607
23608 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
23609 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
23610
60b03859
VS
236112010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
23612
23613 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
23614
48a5a769
VS
236152010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23616
23617 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
23618
3ab4bd77
VS
236192010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23620
23621 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
23622
d116e0d8
RM
236232010-03-04 Robert Millan <rmh.grub@aybabtu.com>
23624
23625 Support relative image path in theme file.
23626
23627 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
23628 (image_set_property): Handle theme_dir and relative path.
23629
c7ef54aa
VS
236302010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23631
23632 * configure.ac: Alias amd64 to x86_64.
23633
fcee14ed
VS
236342010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23635
23636 * NEWS: mention multiboot on EFI.
23637
d0780363
VS
236382010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23639
23640 * kern/main.c (grub_load_modules): Handle errors from init functions of
23641 embeded modules.
23642
41168ea4
VS
236432010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23644
23645 * normal/autofs.c (autoload_fs_module): Handle errors.
23646
b54d93ac
VS
236472010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23648
23649 Disable linux.mod on qemu-mips since it's not functional and leads
23650 to compilation failure.
23651
23652 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
23653 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
23654 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
23655 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
23656 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
23657 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
23658 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
23659 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
23660 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
23661 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
23662 Reported by: BVK Chaitanya
23663
fc8345da
JU
236642010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
23665
23666 * INSTALL: Add gettext as a dependency and add qemu to a new section
23667 "Prerequisites for make-check".
23668
4760f979
CF
236692010-03-04 Christian Franke <franke@computer.org>
23670
23671 * util/grub-pe2elf.c: Add missing include "progname.h".
23672
f209b5b2
VS
236732010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23674
23675 * normal/crypto.c (read_crypto_list): Fix a typo.
23676 Reported by: Seth Goldberg.
23677
b4b7be98
VS
236782010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23679
23680 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 23681 Reported by: Seth Goldberg.
b4b7be98 23682
c0ee0385
VS
236832010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23684
23685 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
23686 ascii.bitmaps.
23687
a8efbf64
VS
236882010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23689
23690 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 23691 Reported by: Seth Goldberg.
a8efbf64 23692
08dcd913
VS
236932010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
23694
23695 * util/i386/efi/grub-install.in: Copy gettext files.
23696
c4d0b332
VS
236972010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23698
23699 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
23700
c6f2fe52
VS
237012010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23702
23703 Wait for user entry basing on presence of output rather than on errors.
23704
23705 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
23706 (grub_install_newline_hook): Likewise.
23707 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
23708 * normal/menu.c (show_menu): Check line_counter to determine presence
23709 of output.
23710 * normal/term.c (grub_normal_line_counter): New variable.
23711 (grub_normal_get_line_counter): New function.
23712 (grub_install_newline_hook): Likewise.
23713
5382b1e4
VS
237142010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23715
23716 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
23717
5519963b
VS
237182010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
23719
23720 * configure.ac: Update version to 1.98.
23721
72b28631
VS
237222010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
23723
23724 * util/grub.d/10_linux.in (linux_entry): Don't default to
23725 gfxpayload=keep if Linux doesn't support video handover.
23726
c140a180
VS
237272010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
23728
23729 Don't compile video modules on yeeloong since video subsystem is part
23730 of kernel.
23731
23732 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
23733 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
23734 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
23735 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
23736 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
23737 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
23738 * include/grub/bitmap_scale.h: Likewise.
23739 * include/grub/bufio.h: Likewise.
23740 * include/grub/font.h: Likewise.
23741 * include/grub/gfxterm.h: Likewise.
23742 * include/grub/video.h: Likewise.
23743 * include/grub/vbe.h: Don't include video_fb.h.
23744 * video/i386/pc/vbe.c: Include video_fb.h.
23745 * commands/i386/pc/vbetest.c: Include video.h.
23746
a0ca21c2
CW
237472010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
23748
23749 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
23750 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
23751 default entry if GRUB_SAVEDEFAULT=true. This allows using
23752 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
23753 saving a new default on every boot.
23754
4a8a763c
VS
237552010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
23756
23757 * normal/crypto.c (read_crypto_list): Fix a memory leak.
23758 * normal/term.c (read_terminal_list): Likewise.
23759 * normal/main.c (grub_normal_init_page): Likewise.
23760 (grub_normal_read_line_real): Likewise.
23761
607ffde2
VS
237622010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
23763
23764 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
23765 memory leak.
23766 Reported by: Seth Goldberg.
23767
2b8fa975
CW
237682010-02-24 Joey Korkames <joey+lists@kidfixit.com>
23769
23770 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
23771 duplicate declaration of `start'.
23772
618307dd
VS
237732010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
23774
23775 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
23776 filename.
23777 Reported by: Georgy Buranov
23778
7dd05b96 237792010-02-20 Carles Pina i Estany <carles@pina.cat>
23780
23781 * util/grub-mkrawimage.c (usage): Change string formatting to
23782 improve gettext.
23783
d1484a42
MRA
237842010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
23785
23786 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
23787 backspace keys.
23788
42b1d186
VS
237892010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
23790
23791 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
23792 Reported by: Michael Suchanek.
23793
237942010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
23795
23796 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
23797 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
23798
d9f31a41
VS
237992010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
23800
23801 Remove any reference to non-free fonts.
23802
23803 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
23804 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
23805 uses non-free components.
23806 * font/font.c (grub_font_get_name): Remove example name.
23807 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
23808 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
23809 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
23810 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
23811
2793c71e
GB
238122010-02-16 Georgy Buranov <gburanov@gmail.com>
23813
23814 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
23815
402e3779
VS
238162010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
23817
23818 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
23819 Double divisor.
23820 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
23821 features.
23822 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
23823
0dd1e0dd
VS
238242010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
23825
23826 * gensymlist.sh.in: Use TARGET_CC instead of CC.
23827
6fa7cfce
ST
238282010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
23829
23830 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
23831 * docs/grub.texi (Command-line and menu entry commands): Document play
23832 command.
23833
37c8483b
ST
238342010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
23835
23836 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
23837 parse arguments as inline tempo and notes. Move code for playing notes
23838 to...
23839 (play): ... new function.
23840
14da0fb7
ST
238412010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
23842
23843 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
23844 grub_uint16_t instead of short.
23845 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
23846 disk from little endian to cpu endianness.
23847
04459e70
ST
238482010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
23849
23850 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
23851 GRUB_TICKS_PER_SECOND instead of 120.
23852
a0876943
VS
238532010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23854
23855 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
23856 escape sequence after \e.
23857
e29f95dc
VS
238582010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23859
23860 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
23861 non-ASCII characters.
23862
d27859b2
VS
238632010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23864
23865 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
23866 set root in single quotes to prevent \, from being unescaped.
23867
bc028f2f
VS
238682010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23869
23870 Prevent unknown commands from stopping menuentry execution.
23871
23872 * script/execute.c (grub_script_execute_cmdline): Print error after
23873 unknown command.
23874
095f5f82
VS
238752010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23876
23877 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
23878 Reported by: Pavel Pisa.
23879
8c717950
VS
238802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23881
23882 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
23883
904935c3
VS
238842010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23885
23886 Merge grub_ieee1275_map_physical into grub_map and rename to
23887 grub_ieee1275_map
23888
23889 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
23890 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
23891 Remove.
23892 * kern/ieee1275/openfw.c (grub_map): Rename to ...
23893 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
23894 necessary.
23895 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
23896
5b59a4e3
VS
238972010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23898
23899 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
23900 opening and not after.
23901
69e137e8
VS
239022010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23903
23904 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
23905 constants.
23906
2c0fcc36
VS
239072010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23908
23909 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
23910 (alloc_phys): Use ALIGN_UP instead of align_addr.
23911
8c6052ce
VS
239122010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23913
23914 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
23915
17cec782
VS
239162010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23917
23918 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
23919
e0128bbd
VS
239202010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23921
23922 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
23923 verbose dprintf.
23924
ca62070b
VS
239252010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23926
23927 Fix over-4GiB seek on sparc64.
23928
23929 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
23930 Replace pos_i and pos_lo with pos. All users updated.
23931 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
23932 New constant.
23933 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
23934 Likewise.
23935 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
23936 and pos_lo.
23937
bdca2607
VS
239382010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23939
23940 * util/grub-mkrawimage.c (main): Call set_program_name.
23941
da278c4d
VS
239422010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23943
23944 Properly align 64-bit targets.
23945
23946 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
23947 (generate_image): Use ALIGN_ADDR.
23948
b274d734
VS
239492010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23950
23951 Properly create cross-endian images.
23952
23953 * include/grub/types.h (grub_host_to_target_addr): New macro
23954 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
23955
82da2062
VS
239562010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
23957
23958 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
23959
7cae4377
VS
239602010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
23961
23962 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
23963
23964 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
23965 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
23966 (grub_linux_boot): Divide by 64K when on VESA.
23967
65a533e7
VS
239682010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
23969
23970 Support GRUB_GFXPAYLOAD_LINUX.
23971
23972 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
23973 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
23974
dd01d397
VS
239752010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
23976
23977 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
23978 to show messages instead of discarding them.
23979 Process errors after executing command and not before. Keep old method
23980 too as precaution.
23981
660960d6
VS
239822010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
23983
23984 * configure.ac: Check for ft2build.h.
23985
62509f04
VS
239862010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23987
23988 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
23989
473df63d
VS
239902010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23991
23992 * genkernsyms.sh.in: Use TARGET_CC.
23993
c98d2a13
CW
239942010-02-07 Colin Watson <cjwatson@ubuntu.com>
23995
23996 * NEWS: Update.
23997
6e14234c
VS
239982010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
23999
24000 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
24001 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
24002 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 24003
b255e9cf
YB
240042010-02-07 Yves Blusseau <blusseau@zetam.org>
24005
6e14234c 24006 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 24007
98e6959d
VS
240082010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24009
24010 Fix warnings in grub-emu when compiling with maximum warning options.
24011
24012 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
24013 (grub_arch_modules_addr): Return 0 and not NULL.
24014 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 24015 (xstrdup): Use newstr instead of dup.
f88d801b
VS
24016 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
24017 of disk to dsk to avoid shadowing.
74e4934e
VS
24018 (find_free_slot): Fix prototype.
24019 * util/getroot.c (grub_util_is_dmraid): Make static.
24020 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
24021 Add missing prototype.
24022 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 24023
74e31b5c
VS
240242010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24025
24026 * loader/i386/linux.c (grub_linux_setup_video): Handle error
24027 appropriately.
24028
6b2ad14b
VS
240292010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24030
24031 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
24032 code out.
24033
8f891adc
VS
240342010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24035
24036 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
24037 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
24038 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
24039 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
24040 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
24041 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
24042
74b45184
VS
240432010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24044
24045 * include/grub/err.h (grub_err_printf): Don't export.
24046
a4bced77
VS
240472010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24048
24049 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
24050
007d0695
VS
240512010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
24052
24053 * include/grub/i18n.h (grub_gettext_dummy): Removed.
24054 * kern/misc.c (grub_gettext_dummy): Make static.
24055
b6c0d9c2
VS
240562010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24057
24058 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
24059 by non-valid ones.
24060 * kern/term.c (grub_putchar): Likewise.
24061
f51a90d0
VS
240622010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24063
24064 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
24065 buggy hook call and memory leak.
24066
6846cec5
VS
240672010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24068
24069 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
24070
468d69fe
VS
240712010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24072
24073 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
24074
51906b8c
VS
240752010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24076
24077 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
24078 modevar.
24079 Return grub_errno on allocation error.
24080
09706ce5
VS
240812010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24082
24083 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
24084
911df80c
YB
240852010-02-06 Yves Blusseau <blusseau@zetam.org>
24086
24087 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
24088 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
24089
3746a6bc
VS
240902010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24091
24092 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
24093 non-pxe disk.
24094 (grub_pxefs_open): Likewise.
24095
09706ce5
VS
240962010-02-06 Robert Millan <rmh.grub@aybabtu.com>
24097
24098 * util/grub.d/10_hurd.in: Add --class information to menuentries.
24099 * util/grub.d/10_kfreebsd.in: Likewise.
24100 * util/grub.d/10_linux.in: Likewise.
24101
7cc192d9
VS
241022010-02-06 Colin D Bennett <colin@gibibit.com>
24103
24104 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
24105 (gfxmenu_mod_SOURCES): New variable.
24106 (gfxmenu_mod_CFLAGS): Likewise.
24107 (gfxmenu_mod_LDFLAGS): Likewise.
24108 * include/grub/term.h (grub_term_set_current_output): Declare
24109 argument as const.
24110 * docs/gfxmenu-theme-example.txt: New file.
24111 * gfxmenu/gfxmenu.c: Likewise.
24112 * gfxmenu/gui_box.c: Likewise.
24113 * gfxmenu/gui_canvas.c: Likewise.
24114 * gfxmenu/gui_circular_progress.c: Likewise.
24115 * gfxmenu/gui_image.c: Likewise.
24116 * gfxmenu/gui_label.c: Likewise.
24117 * gfxmenu/gui_list.c: Likewise.
24118 * gfxmenu/gui_progress_bar.c: Likewise.
24119 * gfxmenu/gui_string_util.c: Likewise.
24120 * gfxmenu/gui_util.c: Likewise.
24121 * gfxmenu/icon_manager.c: Likewise.
24122 * gfxmenu/model.c: Likewise.
24123 * gfxmenu/named_colors.c: Likewise.
24124 * gfxmenu/theme_loader.c: Likewise.
24125 * gfxmenu/view.c: Likewise.
24126 * gfxmenu/widget-box.c: Likewise.
24127 * include/grub/gfxmenu_model.h: Likewise.
24128 * include/grub/gfxmenu_view.h: Likewise.
24129 * include/grub/gfxwidgets.h: Likewise.
24130 * include/grub/gui.h: Likewise.
24131 * include/grub/gui_string_util.h: Likewise.
24132 * include/grub/icon_manager.h: Likewise.
24133
241342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24135
24136 Agglomerate scrolling in gfxterm.
24137
24138 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
24139 (grub_virtual_screen_setup): Initialise 'total_screen'.
24140 (write_char): Split to ...
24141 (paint_char): ... this ...
24142 (write_char): ... and this.
24143 (paint_char): Handle delayed scrolling.
24144 (draw_cursor): Likewise.
24145 (scroll_up): Split to ...
24146 (real_scroll): ... this ...
24147 (scroll_up): ... and this.
24148 (real_scroll): Handle multi-line scroll and draw below-the-bottom
24149 characters.
24150 (grub_gfxterm_refresh): Call real_scroll.
24151
241522010-02-06 Colin D Bennett <colin@gibibit.com>
24153
24154 * include/grub/misc.h (grub_iscntrl): New inline function.
24155 (grub_isalnum): Likewise.
24156 (grub_strtol): Likewise.
24157
241582010-02-06 Colin D Bennett <colin@gibibit.com>
24159
24160 * normal/menu_text.c (get_entry_number): Move from here ...
24161 * normal/menu.c (get_entry_number): ... moved here.
24162 * include/grub/menu.h (grub_menu_get_default_entry_index):
24163 New prototype.
24164 * normal/menu.c (grub_menu_get_default_entry_index): New function.
24165 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
24166 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
24167 (grub_menu_viewer_should_return): Likewise.
24168 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
24169 * normal/menu_text.c (run_menu): Enable menu switching.
24170 * normal/menu_viewer.c (should_return): New variable.
24171 (menu_viewer_changed): Likewise.
24172 (grub_menu_viewer_show_menu): Handle menu viewer changes.
24173 (grub_menu_viewer_should_return): New function.
24174 (menuviewer_write_hook): Likewise.
24175 (grub_menu_viewer_init): Likewise.
24176
241772010-02-06 Colin D Bennet <colin@gibibit.com>
241782010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24179
24180 Support for gfxterm in a window.
24181
24182 * include/grub/gfxterm.h: New file.
24183 * include/grub/video.h (struct grub_video_rect): New declaration.
24184 (grub_video_rect_t): Likewise.
24185 * term/gfxterm.c (struct grub_gfxterm_window): New type.
24186 (refcount): New variable.
24187 (render_target): Likewise.
24188 (window): Likewise.
24189 (repaint_callback): Likewise.
24190 (grub_virtual_screen_setup): Use 'render_target'.
24191 (init_window): New function.
24192 (grub_gfxterm_init_window): Likewise.
24193 (grub_gfxterm_init): Check reference counter.
24194 Use init_window.
24195 (destroy_window): New function.
24196 (grub_gfxterm_destroy_window): Likewise.
24197 (grub_gfxterm_fini): Check reference counter.
24198 Use destroy_window.
24199 (redraw_screen_rect): Restore viewport.
24200 Use 'render_target' and 'window'.
24201 Call 'repaint_callback'.
24202 (write_char): Use 'render_target'.
24203 (draw_cursor): Likewise.
24204 (scroll_up): Restore viewport.
24205 Use 'render_target' and 'window'.
24206 Call 'repaint_callback'.
24207 (grub_gfxterm_cls): Likewise.
24208 (grub_gfxterm_refresh): Use 'window'.
24209 (grub_gfxterm_set_repaint_callback): New function.
24210 (grub_gfxterm_background_image_cmd): Use 'window'.
24211 (grub_gfxterm_get_term): New function.
24212 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
24213
242142010-02-06 Colin D Bennett <colin@gibibit.com>
24215
24216 Bitmap scaling support.
24217
24218 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
24219 (bitmap_scale_mod_SOURCES): New variable.
24220 (bitmap_scale_mod_CFLAGS): Likewise.
24221 (bitmap_scale_mod_LDFLAGS): Likewise.
24222 * include/grub/bitmap_scale.h: New file.
24223 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
24224 (background_image_cmd_options): New variable.
24225 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
24226 (cmd): Rename and change type to ...
24227 (background_image_cmd_handle): ... this. All users updated.
24228 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
24229 * video/bitmap_scale.c: New file.
24230
242312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24232
24233 SDL support.
24234
24235 * Makefile.in (LIBSDL): New variable.
24236 (enable_grub_emu_sdl): Likewise.
24237 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
24238 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
24239 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
24240 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
24241 * util/sdl.c: New file.
24242
242432010-02-06 Colin D Bennett <colin@gibibit.com>
242442010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24245
24246 Double buffering support.
24247
24248 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
24249 * include/grub/video.h: Update comment.
24250 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
24251 New type.
24252 (grub_video_fb_doublebuf_blit_init): New prototype.
24253 * term/gfxterm.c (scroll_up): Support double buffering.
24254 (grub_gfxterm_refresh): Likewise.
24255 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
24256 (grub_video_fb_doublebuf_blit_init): Likewise.
24257 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
24258 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
24259 'displayed_page', 'render_page' and 'update_screen'.
24260 (grub_video_vbe_fini): Free offscreen buffer.
24261 (doublebuf_pageflipping_commit): New function.
24262 (doublebuf_pageflipping_update_screen): Likewise.
24263 (doublebuf_pageflipping_init): Likewise.
24264 (double_buffering_init): Likewise.
24265 (grub_video_vbe_setup): Enable doublebuffering.
24266 (grub_video_vbe_swap_buffers): Implement.
24267 (grub_video_vbe_set_active_render_target): Handle double buffering.
24268 (grub_video_vbe_get_active_render_target): Likewise.
24269 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
24270 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
24271 (grub_video_vbe_enable_double_buffering): Likewise.
24272 (grub_video_vbe_swap_buffers): Use update_screen.
24273 (grub_video_set_mode): Use double buffering.
24274
242752010-02-06 Robert Millan <rmh.grub@aybabtu.com>
24276
24277 * maintainance/gentrigtables.py: Remove.
24278 * lib/trig.c: Likewise.
24279
24280 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
24281
24282 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
24283 `trigtables.c'.
24284 (trigtables.c): New rule.
24285 (gentrigtables): Likewise.
24286 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
24287
242882010-02-06 Robert Millan <rmh.grub@aybabtu.com>
24289
24290 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
24291 integer constants.
24292
242932010-02-06 Colin D Bennet <colin@gibibit.com>
24294
24295 Trigonometry support.
24296
24297 * include/grub/trig.h: New file.
24298 * lib/trig.c: Likewise.
24299 * maintainance/gentrigtables.py: Likewise.
24300 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
24301 (trig_mod_SOURCES): New variable.
24302 (trig_mod_CFLAGS): Likewise.
24303 (trig_mod_LDFLAGS): Likewise.
24304
5562834e
VS
243052010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24306
24307 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
24308 disk devices.
24309
4f8528fc
VS
243102010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
24311
24312 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
24313 error.
24314
2b4068e9
VS
243152010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
24316
24317 * util/hostdisk.c (open_device): Don't use partition device when reading
24318 before the partition.
24319 (grub_util_biosdisk_read): Don't read from partition and before the
24320 partition in single operation.
24321 (grub_util_biosdisk_write): Don't write to partition and before the
24322 partition in single operation.
24323
399f6e4d
TL
243242010-02-03 Torsten Landschoff <torsten@debian.org>
24325
24326 * kern/disk.c (grub_disk_read): Fix offset computation when reading
24327 last sectors.
24328
996649b0
VS
243292010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
24330
24331 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
24332 CDROM reads.
24333 (grub_biosdisk_write): Refuse to write to CDROM.
24334
3b205d4d
VS
243352010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
24336
24337 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
24338
61e89d9d
VS
243392010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
24340
24341 * font/font.c (find_glyph): Check that bmp_idx is available before
24342 using it.
24343 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
24344 with (font == NULL).
24345
bf7fcba2
CS
243462010-01-28 Christian Schmitt <chris@ilovelinux.de>
24347
24348 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
24349
f45d2663
BC
243502010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
24351
24352 * include/grub/script_sh.h (sourcecode): Add const qualifier.
24353 * util/grub-script-check.c (getline): Fix empty lines case.
24354
ec1444e6
RM
243552010-01-28 Robert Millan <rmh.grub@aybabtu.com>
24356
24357 * Makefile.in (check): Exit with fail status when one of the tests
24358 fails.
24359 * tests/example_functional_test.c (example_test): Fix reversed assert.
24360 * tests/example_unit_test.c (example_test): Likewise.
24361
2e1cb9bb
CW
243622010-01-28 Colin Watson <cjwatson@ubuntu.com>
24363
24364 * util/grub.d/10_linux.in: This script does not use any of the
24365 contents of gettext.sh, only the external command `gettext', so stop
24366 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
24367 the same prefix as GRUB.)
24368 * util/grub.d/10_kfreebsd.in: Likewise.
24369
63533ab0
VS
243702010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
24371
24372 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
24373 of the line.
24374
989e1f93
VS
243752010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
24376
24377 * kern/disk.c (grub_disk_read): Fix offset computation when reading
24378 last sectors.
24379
e709ebe2
VS
243802010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
24381
24382 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
24383 having a 4KiB and not 32KiB buffer size.
24384
27dea7ed
RM
243852010-01-27 Robert Millan <rmh.grub@aybabtu.com>
24386
24387 * util/hostfs.c: Include `<errno.h>'.
24388 (grub_hostfs_read): Handle errors from fseeko() and fread().
24389
67667b9c
RM
243902010-01-27 Robert Millan <rmh.grub@aybabtu.com>
24391
24392 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
24393 loop when using read hooks on files whose size isn't sector-aligned.
24394
c294d9d8
RM
243952010-01-27 Robert Millan <rmh.grub@aybabtu.com>
24396
24397 Remove unused parameter.
24398
24399 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
24400 (grub_iso9660_open): Remove initialization of `data->length'.
24401
af75a9f1
RM
244022010-01-27 Robert Millan <rmh.grub@aybabtu.com>
24403
24404 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
24405 memleak conditions.
24406
254e2ce5 244072010-01-27 Carles Pina i Estany <carles@pina.cat>
24408
24409 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
24410 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
24411
b510928c 244122010-01-26 Carles Pina i Estany <carles@pina.cat>
24413
24414 * util/bin2h.c (usage): Fix warning (space after backslash).
24415
aa2f9dd2 244162010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 24417
24418 * font/font.c: Include `grub/fontformat.h.
24419 Remove font file format constants.
24420 (grub_font_load): Use the new macros.
24421 * include/grub/fontformat.h: New file.
24422 * util/grub-mkfont.c: Include `grub/fontformat.c'.
24423 (write_font_pf2): Use the new macros.
24424
94e7e712
RM
244252010-01-26 Robert Millan <rmh.grub@aybabtu.com>
24426
24427 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
24428 does.
24429
3973a59a
RM
244302010-01-26 Robert Millan <rmh.grub@aybabtu.com>
24431
24432 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
24433
24434 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
24435 (_start): Macroify `0x7F'.
24436
24437 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
24438 (make_install_device): Use "(pxe)" as fallback prefix when booting
24439 via PXE.
24440
42e0cba3
GS
244412010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
24442
24443 * configure.ac: Reset LIBS after check for libgcc symbols.
24444
847effd8
CW
244452010-01-25 Colin Watson <cjwatson@ubuntu.com>
24446
24447 * util/hostdisk.c (open_device): Add trailing newline to debug
24448 message.
24449
ea4a7e35
GS
244502010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
24451
24452 * configure.ac: Check for `limits.h'.
24453 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
24454
67951a53
RM
244552010-01-24 Robert Millan <rmh.grub@aybabtu.com>
24456
24457 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
24458 capitalize error strings.
24459
c273d4ce
ST
244602010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
24461
24462 * util/grub.d/10_hurd.in: Add a recovery mode.
24463
69be5b74
VS
244642010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
24465
24466 * configure.ac: Check for libgcc symbols with -nostdlib.
24467
fc9e5810
BC
244682010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
24469
24470 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
24471
4b358c0a
VS
244722010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
24473
24474 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
24475 stack since heap may be unavailable at that point.
24476 (grub_ofconsole_gotoxy): Likewise.
24477
454fcd1c
VS
244782010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
24479
24480 * configure.ac: Check for _restgpr_14_x.
24481 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
24482 and _savegpr_* prototypes.
24483
566863ca
RM
244842010-01-22 Robert Millan <rmh.grub@aybabtu.com>
24485
24486 Use generic grub_reboot() for i386-efi.
24487
24488 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
24489 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
24490 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
24491
bf86e59a
VS
244922010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
24493
24494 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
24495 presence of "prefix" variable as it breaks when normal.mod is
24496 embedded.
24497
d645e0f8
VS
244982010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
24499
24500 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
24501 stack since heap is unavailable at that point.
24502
f9ab2e25
VS
245032010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
24504
24505 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
24506 (grub_freebsd_bootinfo): Rewritten.
24507 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
24508
01fc7054
VS
245092010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
24510
24511 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
24512
caab4fd6
RM
245132010-01-21 Robert Millan <rmh.grub@aybabtu.com>
24514
24515 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
24516 domain now.
24517
67eb1427
FZ
245182010-01-20 Felix Zielcke <fzielcke@z-51.de>
24519
24520 * util/misc.c (make_system_path_relative_to_its_root): Change the work
24521 around for handling "/" to the correct fix. Fix a memory leak. Use
24522 xstrdup instead of strdup.
24523
a9ed4ff3
VS
245242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24525
24526 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
24527
245282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
24529
24530 Optimise glyph lookup by Basic Multilingual Plane lookup array.
24531
24532 * font/font.c (struct grub_font): New member 'bmp_idx'.
24533 (font_init): Initialise 'bmp_idx'.
24534 (load_font_index): Fill 'bmp_idx'.
24535 (find_glyph): Make inline. Use bmp_idx for BMP characters.
24536
48209f4f
VS
245372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24538
24539 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
24540 unnecessary calls.
24541
9f0a4bb7
VS
245422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24543
24544 Move context handling out of the kernel.
24545
24546 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
24547 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
24548 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
24549 * conf/i386-efi.rmk: Likewise.
24550 * conf/i386-ieee1275.rmk: Likewise.
24551 * conf/i386-pc.rmk: Likewise.
24552 * conf/powerpc-ieee1275.rmk: Likewise.
24553 * conf/sparc64-ieee1275.rmk: Likewise.
24554 * conf/x86_64-efi.rmk: Likewise.
24555 * include/grub/env.h: Include grub/menu.h.
24556 (grub_env_var_type): Removed.
24557 (grub_env_var): Replaced field 'type' with 'global'.
24558 (grub_env_find): New prototype.
24559 (grub_env_context_open): Remove EXPORT_FUNC.
24560 (grub_env_context_close): Likewise.
24561 (grub_env_export): Likewise.
24562 (grub_env_set_data_slot): Removed.
24563 (grub_env_get_data_slot): Likewise.
24564 (grub_env_unset_data_slot): Likewise.
24565 (grub_env_unset_menu): New prototype.
24566 (grub_env_set_menu): Likewise.
24567 (grub_env_get_menu): Likewise.
24568 * include/grub/env_private.h: New file.
24569 * include/grub/normal.h (grub_context_init): New prototype.
24570 (grub_context_fini): Likewise.
24571 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
24572 * normal/context.c (grub_cmd_export): ... to here.
24573 * kern/env.c: Include env_private.h.
24574 (HASHSZ): Moved to include/grub/env_private.h.
24575 (grub_env_context): Likewise.
24576 (grub_env_sorted_var): Likewise.
24577 (current_context): Renamed from this ...
24578 (grub_current_context): ...to this. 'static' removed. All users updated.
24579 (grub_env_find): Removed 'static'.
24580 (grub_env_context_open): Moved to normal/context.c.
24581 (grub_env_context_close): Likewise.
24582 (grub_env_export): Likewise.
24583 (mangle_data_slot_name): Removed.
24584 (grub_env_set_data_slot): Likewise.
24585 (grub_env_get_data_slot): Likewise.
24586 (grub_env_unset_data_slot): Likewise.
24587 * kern/main.c (grub_set_root_dev): Don't export root.
24588 It will be done later.
24589 (grub_main): Don't export prefix.
24590 It will be done later.
24591 * normal/context.c: New file.
24592 * normal/main.c (free_menu): Use grub_env_unset_menu.
24593 (grub_normal_add_menu_entry): Use grub_env_get_menu.
24594 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
24595 (GRUB_MOD_INIT(normal)): Call grub_context_init.
24596 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
24597
8dd35b8c
VS
245982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24599
24600 setpci support.
24601
24602 * commands/setpci.c: New file.
24603 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
24604 (setpci_mod_SOURCES): New variable.
24605 (setpci_mod_CFLAGS): Likewise.
24606 (setpci_mod_LDFLAGS): Likewise.
24607
449193d5
VS
246082010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24609
24610 Byte-addressable PCI configuration space.
24611
24612 * bus/pci.c (grub_pci_make_address): Use byte address instead of
24613 dword address.
24614 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
24615 GRUB_PCI_REG_CACHELINE.
24616 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
24617 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
24618 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
24619 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
24620 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
24621 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
24622 grub_pci_make_address.
24623 (lock_rom_area): Likewise.
24624 * commands/lspci.c (grub_lspci_iter): Use macroses
24625 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
24626 of grub_pci_make_address.
24627 * disk/ata.c (grub_ata_pciinit): Likewise.
24628 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
24629 (GRUB_PCI_REG_VENDOR): Likewise.
24630 (GRUB_PCI_REG_DEVICE): Likewise.
24631 (GRUB_PCI_REG_COMMAND): Likewise.
24632 (GRUB_PCI_REG_STATUS): Likewise.
24633 (GRUB_PCI_REG_REVISION): Likewise.
24634 (GRUB_PCI_REG_CLASS): Likewise.
24635 (GRUB_PCI_REG_CACHELINE): Likewise.
24636 (GRUB_PCI_REG_LAT_TIMER): Likewise.
24637 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
24638 (GRUB_PCI_REG_BIST): Likewise.
24639 (GRUB_PCI_REG_ADDRESSES): Likewise.
24640 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24641 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24642 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24643 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24644 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24645 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
24646 (GRUB_PCI_REG_CIS_POINTER): Likewise.
24647 (GRUB_PCI_REG_SUBVENDOR): Likewise.
24648 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
24649 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
24650 (GRUB_PCI_REG_CAP_POINTER): Likewise.
24651 (GRUB_PCI_REG_IRQ_LINE): Likewise.
24652 (GRUB_PCI_REG_IRQ_PIN): Likewise.
24653 (GRUB_PCI_REG_MIN_GNT): Likewise.
24654 (GRUB_PCI_REG_MAX_LAT): Likewise.
24655 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
24656 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
24657 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 24658 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
24659 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
24660 space.
24661
96d73208
RM
246622010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24663
24664 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
24665 can be reliably determined to be supported.
24666
d4484482
RM
246672010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24668
24669 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
24670 that VESA is supported.
24671 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
24672 supported.
24673
00308ecf
VS
246742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24675
24676 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
24677
f66924a4
RM
246782010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24679
24680 * util/misc.c (make_system_path_relative_to_its_root): Work around
24681 special-casing of "/", as previous incarnation of this routine did.
24682
cbca0ada
VS
246832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24684
24685 Fix any-emu compilation.
24686
24687 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
24688 * grub_bin2h_SOURCES: New variable.
24689
34a66d99
RM
246902010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24691
24692 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
24693
94fabf58
RM
246942010-01-20 Robert Millan <rmh.grub@aybabtu.com>
24695
24696 * util/grub.d/00_header.in: Fix handling of locale_dir.
24697
02cf98ca
VS
246982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24699
24700 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
24701 as possible unifont location (Gentoo).
24702 Reported by: Alexander Brüning
24703
327dbcd7
VS
247042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24705
24706 Don't try to generate lists for kernel.img.
24707
24708 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
24709 (pkglib_MODULES): Remove kernel.img.
24710 (kernel_img_EXPORTS): Removed.
24711 (kernel_img_RELOCATABLE): New variable.
24712 * conf/x86_64-efi.rmk: Likewise.
24713 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
24714
ca467290
VS
247152010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24716
24717 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
24718 grub_xasprintf or grub_snprintf.
24719 (grub_vsprintf): Likewise.
24720 (grub_snprintf): New proto.
24721 (grub_vsnprintf): Likewise.
24722 (grub_xasprintf): Likewise.
24723 (grub_xvasprintf): Likewise.
24724 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
24725 (grub_sprintf): Removed.
24726 (grub_vsnprintf): New function.
24727 (grub_snprintf): Likewise.
24728 (grub_xvasprintf): Likewise.
24729 (grub_xasprintf): Likewise.
24730 (grub_vsprintf): Renamed to ...
24731 (grub_vsnprintf_real): ...this. New argument max_len.
24732
aca655fd
BC
247332010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
24734
24735 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
24736 fix grub-script-check warning.
24737
7ee92c32
VS
247382010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24739
24740 * include/grub/font.h (grub_font_load): Fix prototype.
24741
f80927ca
VS
247422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24743
24744 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
24745
119c50ea
VS
247462010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24747
24748 * include/grub/x86_64/at_keyboard.h: New file.
24749
47d5f3c1
VS
247502010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
24751
24752 * loader/mips/linux.c: Include missing grub/i18n.h.
24753
55ff5266
RM
247542009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24755
24756 * normal/menu.c (notify_execution_failure): Clarify error message.
24757
c893cc87
RM
247582009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24759
24760 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
24761 return value (and revert all return statements). Update users.
24762
917dd370
CW
247632010-01-20 Dan Merillat <debian@dan.merillat.org>
24764
24765 * kern/device.c (grub_device_iterate): Allocate new part_ent
24766 structure based on sizeof (*p) rather than sizeof (p->next), to
24767 account for structure padding.
24768
24769 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
24770 disk is NULL, which might happen for LVM physical volumes with no
24771 LVM signature.
24772
d4a4ee57
RM
247732009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24774
24775 * loader/mips/linux.c (grub_cmd_initrd)
24776 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
24777
247782009-12-20 Robert Millan <rmh.grub@aybabtu.com>
24779
24780 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
24781 (grub_video_video_init, grub_video_bitmap_init)
24782 (grub_font_manager_init, grub_term_gfxterm_init)
24783 (grub_at_keyboard_init): New extern declarations.
24784 (grub_machine_init): Initialize gfxterm and at_keyboard.
24785
24786 * kern/main.c (grub_main): Revert grub_printf delay kludge.
24787
24788 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
24789 `gfxterm.mod' into core image.
24790
24791 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
24792 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24793 (kernel_img_FORMAT): Copy to ...
24794
24795 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
24796 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24797 (kernel_img_FORMAT): ... here, and ...
24798
24799 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
24800 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24801 (kernel_img_FORMAT): ... here.
24802
24803 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
24804 and input (at_keyboard) terminals in kernel.
24805 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
24806
24807 (pkglib_MODULES): Remove `pci.mod'.
24808 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
24809 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
24810 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
24811 (at_keyboard_mod_LDFLAGS): Remove variables.
24812
248132010-01-11 Felix Zielcke <fzielcke@z-51.de>
24814
24815 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
24816
248172009-12-10 Robert Millan <rmh.grub@aybabtu.com>
24818
24819 * include/grub/mips/libgcc.h: Only export symbols for functions
24820 that libgcc provides.
24821
248222009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
24823
24824 MIPS support.
24825
24826 * bus/bonito.c: New file.
24827 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
24828 GRUB_PCI_NUM_DEVICES.
24829 * term/i386/pc/serial.c: Move to ...
24830 * term/serial.c: ... here. All users updated.
24831 * util/i386/pc/grub-mkimage.c: Move to ...
24832 * util/grub-mkrawimage.c: ... here. All users updated.
24833 * term/i386/pc/at_keyboard.c: Move to ...
24834 * term/at_keyboard.c: ... here. All users updated.
24835 * conf/mips-qemu-mips.rmk: New file.
24836 * conf/mips-yeeloong.rmk: Likewise.
24837 * conf/mips.rmk: Likewise.
24838 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
24839 mipsel-qemu-mips.
24840 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
24841 to port addresses.
24842 (grub_ata_pciinit): Support CS5536.
24843 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
24844 * font/font_cmd.c (loadfont_command): Open file before passing it to
24845 grub_font_load.
24846 (pseudo_file_read): New function.
24847 (pseudo_file_close): Likewise.
24848 (pseudo_fs): New structure.
24849 (load_font_module): New function.
24850 (GRUB_MOD_INIT(font_manager)): Load embedded font.
24851 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
24852 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
24853 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
24854 * include/grub/i386/at_keyboard.h: Split into ...
24855 * include/grub/at_keyboard.h: ... this ...
24856 * include/grub/i386/at_keyboard.h: ... and this.
24857 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
24858 New prototype.
24859 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
24860 updated.
24861 (grub_elf64_size): Likewise.
24862 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
24863 filename.
24864 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
24865 * include/grub/i386/coreboot/serial.h: Rewritten.
24866 * include/grub/i386/ieee1275/serial.h: Include
24867 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
24868 * include/grub/i386/pc/serial.h: Moved from here ...
24869 * include/grub/serial.h: ... to here. All users updated.
24870 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
24871 (GRUB_PCI_NUM_BUS): Likewise.
24872 (GRUB_PCI_NUM_DEVICES): Likewise.
24873 (grub_pci_device_map_range): Add missing volatile keyword.
24874 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
24875 * include/grub/mips/at_keyboard.h: New file.
24876 * include/grub/mips/cache.h: Likewise.
24877 * include/grub/mips/io.h: Likewise.
24878 * include/grub/mips/kernel.h: Likewise.
24879 * include/grub/mips/libgcc.h: Likewise.
24880 * include/grub/mips/pci.h: Likewise.
24881 * include/grub/mips/qemu-mips/boot.h: Likewise.
24882 * include/grub/mips/qemu-mips/kernel.h: Likewise.
24883 * include/grub/mips/qemu-mips/loader.h: Likewise.
24884 * include/grub/mips/qemu-mips/memory.h: Likewise.
24885 * include/grub/mips/qemu-mips/serial.h: Likewise.
24886 * include/grub/mips/qemu-mips/time.h: Likewise.
24887 * include/grub/mips/relocator.h: Likewise.
24888 * include/grub/mips/time.h: Likewise.
24889 * include/grub/mips/types.h: Likewise.
24890 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
24891 * include/grub/mips/yeeloong/boot.h: Likewise.
24892 * include/grub/mips/yeeloong/kernel.h: Likewise.
24893 * include/grub/mips/yeeloong/loader.h: Likewise.
24894 * include/grub/mips/yeeloong/memory.h: Likewise.
24895 * include/grub/mips/yeeloong/pci.h: Likewise.
24896 * include/grub/mips/yeeloong/serial.h: Likewise.
24897 * include/grub/mips/yeeloong/time.h: Likewise.
24898 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
24899 * kern/elf.c (grub_elf32_size): New parameter. All users
24900 updated.
24901 (grub_elf64_size): Likewise.
24902 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
24903 Load modules before saying "Welcome to GRUB!".
24904 Call grub_refresh after saying "Welcome to GRUB!".
24905 * kern/mips/cache.S: New file.
24906 * kern/mips/cache_flush.S: Likewise.
24907 * kern/mips/dl.c: Likewise.
24908 * kern/mips/init.c: Likewise.
24909 * kern/mips/qemu-mips/init.c: Likewise.
24910 * kern/mips/startup.S: Likewise.
24911 * kern/mips/yeeloong/init.c: Likewise.
24912 * kern/term.c (grub_putcode): Handle NULL terminal.
24913 (grub_getcharwidth): Likewise.
24914 (grub_getkey): Likewise.
24915 (grub_checkkey): Likewise.
24916 (grub_getkeystatus): Likewise.
24917 (grub_getxy): Likewise.
24918 (grub_getwh): Likewise.
24919 (grub_gotoxy): Likewise.
24920 (grub_cls): Likewise.
24921 (grub_setcolorstate): Likewise.
24922 (grub_setcolor): Likewise.
24923 (grub_getcolor): Likewise.
24924 (grub_refresh): Likewise.
24925 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
24926 (write_jump): Add hatch nop.
24927 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
24928 * lib/mips/setjmp.S: New file.
24929 * loader/mips/linux.c: Likewise.
24930 * term/i386/pc/at_keyboard.c: Move from here ...
24931 * term/at_keyboard.c: ... to here.
24932 * term/i386/pc/serial.c: Moved from here ...
24933 * term/serial.c: ... to here. All users updated.
24934 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
24935 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
24936 (serial_translate_key_sequence): Avoid deadlock.
24937 (grub_serial_getkey): Handle backspace.
24938 (grub_serial_putchar): Fix newline handling.
24939 * util/i386/pc/grub-mkimage.c: Move from here ...
24940 * util/grub-mkrawimage.c: ... to here. All users updated.
24941 (generate_image): New parameters 'font_path' and 'format'.
24942 Support embedding font.
24943 Use grub_host_to_target* instead of grub_cpu_to_le*.
24944 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
24945 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
24946 (options): New option "--font".
24947 (usage): Likewise.
24948 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
24949 (main): Handle "--font".
24950 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
24951 (grub_virtual_screen_setup): Set bg_color_display.
24952 (redraw_screen_rect): Use bg_color_display instead of incorrect
24953 bg_color.
24954 (grub_gfxterm_cls): Likewise.
24955 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
24956 Support embedding config file.
24957 (add_segments): Likewise.
24958 (options): New option "--config".
24959 (main): Handle "--config".
24960 * video/sm712.c: New file.
24961
25c2b5b3
RM
249622010-01-18 Robert Millan <rmh.grub@aybabtu.com>
24963
24964 Fix parallel builds.
24965
24966 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
24967 font.c depend on ascii.h).
24968
249692010-01-12 Carles Pina i Estany <carles@pina.cat>
24970
24971 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
24972
249732010-01-11 Carles Pina i Estany <carles@pina.cat>
24974
24975 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
24976 By default: disabled.
24977 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
24978 parameter.
24979
249802010-01-10 Carles Pina i Estany <carles@pina.cat>
24981
24982 * font/font.c: Update copyright years.
24983 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
24984
249852010-01-10 Carles Pina i Estany <carles@pina.cat>
24986
24987 * font/font.c: Include `ascii.h'.
24988 (ASCII_BITMAP_SIZE): New macro.
24989 (ascii_font_glyph): Define.
24990 (ascii_glyph_lookup): New function.
24991 (grub_font_get_string_width): Change comment. If glyph not found, use
24992 ascii_glyph_lookup.
24993 (grub_font_get_glyph_with_fallback): If glyph not available returns
24994 ascii_glyph_lookup.
24995 * util/grub-mkfont.c (file_formats): New enum.
24996 (options): Add `ascii-bitmaps' new option.
24997 (usage): Add `asii-bitmaps' new option.
24998 (write_font_ascii_bitmap): New function.
24999 (write_font): Rename to ...
25000 (write_font_p2): ... this. Remove print_glyphs call.
25001 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
25002 used. Call print_glyphs.
25003 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
25004
250052010-01-14 Robert Millan <rmh.grub@aybabtu.com>
25006
25007 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
25008 (grub_bin2h_SOURCES): New variable.
25009 * util/bin2h.c: New file.
25010
915fc1b8
VS
250112010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
25012
25013 * include/multiboot.h: Resynced with spec.
25014 * include/multiboot2.h: Likewise.
25015 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
25016 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
25017
9444b678
RM
250182010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25019
25020 * include/grub/term.h (grub_term_register_input,
25021 grub_term_register_output): Check return of terminal init()
25022 routines, and abort if errors are raised.
25023
25024 * commands/terminal.c: Update copyright year.
25025
cba98e8d
RM
250262010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25027
25028 * commands/terminal.c (grub_cmd_terminal_input)
25029 (grub_cmd_terminal_output): Check return of terminal init()
25030 routines, and abort if errors are raised.
25031
6f7db5d6
VS
250322010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
25033
25034 * include/grub/i386/bsd.h: Fix include pathes.
25035
262bff8d
VS
250362010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
25037
25038 Add missing *BSD copyright headers.
25039
25040 * include/grub/aout.h: Add BSD licence.
25041 * include/grub/i386/bsd.h: Parts under different licences moved to ...
25042 * include/grub/i386/freebsd_linker.h: ... here,
25043 * include/grub/i386/freebsd_reboot.h: ... here,
25044 * include/grub/i386/netbsd_bootinfo.h: ... here,
25045 * include/grub/i386/netbsd_reboot.h: ... here,
25046 * include/grub/i386/openbsd_bootarg.h: ... here,
25047 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
25048 licence to each file.
25049
b2cab848
RM
250502010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25051
25052 * acinclude.m4: Remove `nop' assembly instruction; it's not
25053 implemented by all architectures.
25054
2cb6be4b
RM
250552010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25056
25057 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
25058 ELILO. This is no longer necessary.
25059
a2eaee15
BC
250602010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
25061
25062 Added new tool, grub-scrit-check to verify grub.cfg syntax.
25063
25064 * util/grub-script-check.c: grub-script-check tool.
25065 * conf/common.rmk: Make rules for grub-script-check.
25066
88d17012
RM
250672010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25068
25069 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
25070 spotting it back in 2008. Shame on me for forgetting he did.
25071
25072 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
25073
8040619d
RM
250742010-01-18 Robert Millan <rmh.grub@aybabtu.com>
25075
25076 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
25077 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
25078 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
25079 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
25080 (GRUB_VIDEO_TYPE_EFI): Rename to ...
25081 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
25082
a0c2a0f6
RM
250832010-01-17 Robert Millan <rmh.grub@aybabtu.com>
25084
25085 * include/grub/test.h: Add license header.
25086 * tests/example_functional_test.c: Likewise.
25087 * tests/example_unit_test.c: Likewise.
25088 * tests/lib/functional_test.c: Likewise.
25089 * tests/lib/test.c: Likewise.
25090 * tests/lib/unit_test.c: Likewise.
25091
b0b13907
VS
250922010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
25093
25094 Use flag-based instead of hook-based video mode selection and "auto"
25095 keyword.
25096
25097 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
25098 (grub_video_set_mode): Changed prototype. All users updated.
25099 (grub_video_check_mode_flag): New inline function.
25100 * video/video.c (parse_modespec): New function.
25101 (grub_video_set_mode): Parse flags and keywords.
25102
ea379330 251032010-01-17 Carles Pina i Estany <carles@pina.cat>
25104
25105 * util/misc.c (grub_util_info): Fix the order of the parameters in a
25106 fprintf call.
25107
e15c215e
FZ
251082010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
25109
25110 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
25111
409ae1c9 251122010-01-16 Carles Pina i Estany <carles@pina.cat>
25113
25114 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
25115 string.
25116 * util/grub-emu.c (usage): Likewise.
25117 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
25118 * util/i386/efi/grub-mkimage.c (usage): Likewise.
25119 * util/i386/pc/grub-mkimage.c (usage): Likewise.
25120 * util/i386/pc/grub-setup.c (usage): Likewise.
25121
70a14d3d 251222010-01-16 Carles Pina i Estany <carles@pina.cat>
25123
25124 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
25125 the message.
25126 (grub_util_info): Likewise.
25127 (grub_util_error): Likewise.
25128 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
25129 and/or new lines in `grub_util_warna', `grub_util_info',
25130 `grub_util_error' calls.
25131 * util/getroot.c: Likewise.
25132 * util/grub-editenv.c: Likewise.
25133 * util/grub-emu.c: Likewise.
25134 * util/grub-fstest.c: Likewise.
25135 * util/grub-mkdevicemap.c: Likewise.
25136 * util/grub-mkfont.c: Likewise.
25137 * util/grub-mkpasswd-pbkdf2.c: Likewise.
25138 * util/grub-mkrelpath.c: Likewise.
25139 * util/grub-pe2elf.c: Likewise.
25140 * util/grub-probe.c: Likewise.
25141 * util/hostdisk.c: Likewise.
25142 * util/i386/efi/grub-mkimage.c: Likewise.
25143 * util/i386/pc/grub-mkimage.c: Likewise.
25144 * util/i386/pc/grub-setup.c: Likewise.
25145 * util/ieee1275/ofpath.c: Likewise.
25146 * util/mkisofs/eltorito.c: Likewise.
25147 * util/mkisofs/rock.c: Likewise.
25148 * util/mkisofs/write.c: Likewise.
25149 * util/raid.c: Likewise.
25150 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
25151 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25152
a0b766fc
VS
251532010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
25154
25155 Enable multiboot on non-pc.
25156
25157 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
25158 multiboot.mod and multiboot2.mod to ...
25159 * conf/i386.rmk (pkglib_MODULES): ... here.
25160 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
25161 Moved to ...
25162 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
25163 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
25164 Moved to ...
25165 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
25166 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
25167 Moved to ...
25168 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
25169 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
25170 Moved to ...
25171 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
25172 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
25173 relocator.mod.
25174 (ata_mod_SOURCES): Removed.
25175 (ata_mod_CFLAGS): Likewise.
25176 (ata_mod_LDFLAGS): Likewise.
25177 (relocator_mod_SOURCES): Removed.
25178 (relocator_mod_CFLAGS): Likewise.
25179 (relocator_mod_ASFLAGS): Likewise.
25180 (relocator_mod_LDFLAGS): Likewise.
25181 Include i386.mk.
25182 * include/grub/x86_64/multiboot.h: New file.
25183 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
25184 Terminate EFI.
25185
884ade56
VS
251862010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
25187
25188 Video multiboot support.
25189
25190 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
25191 New prototype.
25192 * include/multiboot.h: Resynced with multiboot specification.
25193 * include/multiboot2.h: Likewise.
25194 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
25195 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
25196 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
25197 (HAS_VGA_TEXT): Likewise.
25198 (accepts_video): New variable.
25199 (grub_multiboot_set_accepts_video): New function.
25200 (grub_multiboot_get_mbi_size): Account for video structures.
25201 (set_video_mode): New function.
25202 (retrieve_video_parameters): Likewise.
25203 (grub_multiboot_make_mbi): Fill video fields.
25204
0d90e8a6
VS
252052010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
25206
25207 Video driver ids.
25208
25209 * include/grub/video.h (grub_video_driver_id): New type.
25210 (grub_video_adapter): New member 'id'. All users updated.
25211 (grub_video_get_driver_id): New proto.
25212 * video/video.c (grub_video_get_driver_id): New function.
25213
5c71db1b 252142010-01-14 Carles Pina i Estany <carles@pina.cat>
25215
25216 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
25217 `var=val'.
25218
cca15b52 252192010-01-14 Carles Pina i Estany <carles@pina.cat>
25220
25221 * normal/cmdline.c (print_completion): Gettextizze.
25222
c586fbb2 252232001-01-14 Carles Pina i Estany <carles@pina.cat>
25224
25225 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
25226
ba2f6848 252272010-01-14 Carles Pina i Estany <carles@pina.cat>
25228
25229 * gettext/gettext.c (grub_gettext_translate): Push and pop
25230 grub_errno.
25231 (grub_gettext_delete_list): Change comment style.
25232 * kern/err.c (grub_error): Gettextizze.
25233 (grub_fatal): Gettextizze.
25234
0a46429a
RM
252352010-01-14 Robert Millan <rmh.grub@aybabtu.com>
25236
25237 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
25238 (grub_linux16_real_boot): ... this.
25239 * kern/i386/loader.S: Likewise.
25240 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
25241 (grub_linux16_boot): New function. Switches to text mode and calls
25242 grub_linux16_real_boot().
25243
25244 * loader/i386/bsd.c: Include `<grub/video.h>'.
25245 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
25246 text mode before calling grub_unix_real_boot().
25247
25248 * loader/i386/multiboot.c: Include `<grub/video.h>'.
25249 (grub_multiboot_boot): Switch to text mode before calling
25250 grub_relocator32_boot().
25251
25252 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
25253 (grub_chainloader_boot): Switch to text mode before calling
25254 grub_chainloader_real_boot().
25255
d6f93a66
RM
252562010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
252572010-01-05 Colin Watson <cjwatson@ubuntu.com>
25258
25259 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
25260 non-empty value.
25261
252622010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
252632010-01-05 Colin Watson <cjwatson@ubuntu.com>
25264
25265 * util/grub.d/00_header.in: Define a "savedefault" function for use
25266 in menu entries.
25267 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
25268
252692010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
252702010-01-05 Colin Watson <cjwatson@ubuntu.com>
25271
25272 * util/grub-mkconfig_lib.in (save_default_entry): Only set
25273 saved_entry if boot_once is unset.
25274 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
25275 previous saved entry (i.e. grub-reboot).
25276
252772009-12-08 Colin Watson <cjwatson@ubuntu.com>
25278
25279 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
25280
252812009-12-08 Colin Watson <cjwatson@ubuntu.com>
25282
25283 * util/grub.d/00_header.in: Use `set var=val' rather than plain
25284 `var=val'.
25285 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
25286
252872009-12-08 Colin Watson <cjwatson@ubuntu.com>
25288
25289 * util/grub-reboot.in: Fix --version output.
25290 * util/grub-set-default.in: Likewise.
25291
252922009-12-08 Colin Watson <cjwatson@ubuntu.com>
25293
25294 * util/grub.d/00_header.in: Silently ignore zero-sized environment
25295 blocks.
25296
252972009-12-08 Colin Watson <cjwatson@ubuntu.com>
25298
25299 * util/grub.d/00_header.in: Quote the value assigned to `default',
25300 in case it contains spaces.
25301
253022009-12-08 Colin Watson <cjwatson@ubuntu.com>
25303
25304 * util/grub.d/30_os-prober.in: Fix merge error that moved a
25305 `save_default_entry' call from the macosx case to the linux case.
25306
253072009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
253082009-10-25 Colin Watson <cjwatson@ubuntu.com>
25309
25310 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
25311 in `chosen' environment variable.
25312 * normal/menu_text.c (get_entry_number): Check if the variable
25313 matches the title of a menu entry.
25314 (run_menu): Pass menu to get_entry_number.
25315
25316 * util/grub-reboot.in: New file.
25317 * util/grub-set-default.in: New file.
25318 * conf/common.rmk (grub-reboot): New utility.
25319 (grub-set-default): New utility.
25320
25321 * util/grub-mkconfig_lib.in (save_default_entry): New function.
25322 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
25323 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
25324 move it to `saved_entry' for the next boot. Load environment on
25325 initialisation.
25326 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
25327 * util/grub.d/10_hurd.in: Likewise.
25328 * util/grub.d/10_linux.in (linux_entry): Likewise.
25329 * util/grub.d/10_windows.in: Likewise.
25330 * util/grub.d/30_os-prober.in: Likewise.
25331
25332 * util/grub-install.in: Create environment block.
25333 * util/i386/efi/grub-install.in: Likewise.
25334 * util/ieee1275/grub-install.in: Likewise.
25335 * util/sparc64/ieee1275/grub-install.in: Likewise.
25336
0934d184
BC
253372010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
25338
25339 Unit testing framework for GRUB.
25340
25341 * Makefile.in: Test framework build rules for 'make check'.
25342 * conf/tests.rmk: Build rules for individual tests and framework.
25343
25344 * include/grub/test.h: Header file for whitebox tests.
25345 * tests/lib/functional_test.c: Framework support for whitebox
25346 functional tests.
25347 * tests/lib/test.c: Common whitebox testing code for unit and
25348 functional tests.
25349 * tests/lib/unit_test.c: Framework support for whitebox unit
25350 tests.
25351
25352 * tests/util/grub-shell-tester.in: Support utility for grub-script
25353 tests.
25354 * tests/util/grub-shell.in: Utility to execute grub-script
25355 commands in a Qemu instance.
25356
25357 * tests/example_functional_test.c: Example whitebox functional
25358 test.
25359 * tests/example_grub_script_test.in: Example grub-script test.
25360 * tests/example_scripted_test.in: Example scripted test.
25361 * tests/example_unit_test.c: Example whitebox unit test.
25362
9c4ffeeb
VS
253632010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
25364
25365 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
25366 Add loader/i386/multiboot_mbi.c.
25367 (multiboot2_mod_SOURCES): Likewise.
25368 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
25369 (multiboot2_mod_SOURCES): Likewise.
25370 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
25371 (grub_multiboot_make_mbi): Likewise.
25372 (grub_multiboot_free_mbi): Likewise.
25373 (grub_multiboot_init_mbi): Likewise.
25374 (grub_multiboot_add_module): Likewise.
25375 (grub_multiboot_set_bootdev): Likewise.
25376 * loader/i386/multiboot.c (mbi): Removed.
25377 (mbi_dest): Likewise.
25378 (alloc_mbi): New variable.
25379 (grub_multiboot_payload_size): Removed. All users updated.
25380 (grub_multiboot_pure_size): New variable.
25381 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
25382 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
25383 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
25384 (grub_fill_multiboot_mmap): Likewise.
25385 (grub_multiboot_get_bootdev): Likewise.
25386 (grub_multiboot): Use multiboot_mbi functions.
25387 * loader/i386/multiboot_mbi.c: New file.
25388
17383dfe
VS
253892010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
25390
25391 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
25392 it would result in module crash.
25393
c1f28820
VS
253942010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
25395
25396 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
25397 (grub_ofconsole_getwh): Split to ...
25398 (grub_ofconsole_getwh): ... this.
25399 (grub_ofconsole_dimensions): ...and this.
25400 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
25401
58655a16
RM
254022010-01-13 Robert Millan <rmh.grub@aybabtu.com>
25403
25404 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
25405
10891398
VS
254062010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
25407
25408 * loader/i386/pc/multiboot2.c: Removed stalled file.
25409
0b8a223c
VS
254102010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
25411
25412 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
25413 Reported by: Grégoire Sutre
25414
92ab12b0
RM
254152010-01-11 Robert Millan <rmh.grub@aybabtu.com>
25416
25417 * util/misc.c (canonicalize_file_name): New function.
25418 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
25419 instead of realpath().
25420
a788afb6
CW
254212010-01-11 Colin Watson <cjwatson@ubuntu.com>
25422
25423 * util/grub-install.in (usage): Clarify meaning of --root-directory,
25424 and make it clearer that it's optional. Based on confusion
25425 witnessed on IRC.
25426
ffa8e3d2
VS
254272010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
25428
25429 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
25430 in premature implicit newline.
25431
e9060a9d
VS
254322010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
25433
25434 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
25435 which resulted in garbled command line at the end of screen.
25436
f0d0c0b7
RM
254372010-01-10 Robert Millan <rmh.grub@aybabtu.com>
25438
25439 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
25440 initialization with similar approach as with other Linux loaders.
25441
0e60bae7
RM
254422010-01-10 Robert Millan <rmh.grub@aybabtu.com>
25443
25444 Fix i386-ieee1275 build.
25445
25446 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
25447 and grub_term_height() for video_{width,height} initialization.
25448
254492010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
25450
25451 Fix grub-emu build.
25452
25453 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
25454
cdb3f378
RM
254552010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
254562010-01-09 Robert Millan <rmh.grub@aybabtu.com>
25457
25458 Support for multiple terminals.
25459
25460 * Makefile.in (pkglib_DATA): terminal.lst.
25461 (terminal.lst): New target.
25462 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
25463 (GRUB_MOD_INIT(handler)): Likewise.
25464 (GRUB_MOD_FINI(handler)): Likewise.
25465 * commands/help.c (grub_cmd_help): Handle multiple terminals.
25466 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
25467 * commands/sleep.c (do_print): Use grub_term_restore_pos.
25468 (grub_cmd_sleep): Use grub_term_save_pos.
25469 * commands/terminal.c: New file.
25470 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
25471 commands/terminal.c and lib/charset.c.
25472 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
25473 (pkglib_MODULES): Add terminal.mod.
25474 (terminal_mod_SOURCES): New variable.
25475 (terminal_mod_CFLAGS): Likewise.
25476 (terminal_mod_LDFLAGS): Likewise.
25477 * genhandlerlist.sh: Don't handle terminals.
25478 * genmk.rb: Generate terminal-*.lst.
25479 * genterminallist.sh: New file.
25480 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
25481 (grub_is_valid_utf8): Likewise.
25482 (grub_utf8_to_ucs4_alloc): Likewise.
25483 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
25484 (grub_menu_register_viewer): Changed argument.
25485 (grub_menu_try_text): New proto.
25486 (grub_gfxmenu_try_hook): New declaration.
25487 * include/grub/normal.h (grub_normal_exit_level): New declaration.
25488 (grub_menu_init_page): Additional argument term.
25489 (grub_normal_init_page): Likewise.
25490 (grub_cmdline_get): Arguments simplified.
25491 (grub_utf8_to_ucs4_alloc): Removed.
25492 (grub_print_ucs4): Additional argument term.
25493 (grub_getstringwidth): Likewise.
25494 (grub_print_message_indented): Likewise.
25495 (grub_menu_text_register_instances): New proto.
25496 (grub_show_menu): Likewise.
25497 (read_terminal_list): Likewise.
25498 (grub_set_more): Likewise.
25499 * include/grub/parser.h: Include handler.h.
25500 * include/grub/reader.h: Rewritten.
25501 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
25502 (GRUB_TERM_WIDTH): Changed to function.
25503 (GRUB_TERM_HEIGHT): Likewise.
25504 (GRUB_TERM_BORDER_WIDTH): Likewise.
25505 (GRUB_TERM_BORDER_HEIGHT): Likewise.
25506 (GRUB_TERM_NUM_ENTRIES): Likewise.
25507 (GRUB_TERM_ENTRY_WIDTH): Likewise.
25508 (GRUB_TERM_CURSOR_X): Likewise.
25509 (grub_term_input_class): Likewise.
25510 (grub_term_output_class): Likewise.
25511 (grub_term_outputs_disabled): New declaration.
25512 (grub_term_inputs_disabled): Likewise.
25513 (grub_term_outputs): Likewise.
25514 (grub_term_inputs): Likewise.
25515 (grub_term_register_input): Rewritten.
25516 (grub_term_register_output): Likewise.
25517 (grub_term_unregister_input): Likewise.
25518 (grub_term_unregister_output): Likewise.
25519 (FOR_ACTIVE_TERM_INPUTS): New macro.
25520 (FOR_DISABLED_TERM_INPUTS): Likewise.
25521 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
25522 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
25523 * include/grub/terminfo.h: Add oterm argument to all protypes.
25524 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
25525 Use grub_rescue_run.
25526 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
25527 All users updated.
25528 * kern/reader.c: Removed. All users updated.
25529 * kern/rescue_reader.c (grub_rescue_init): Removed.
25530 (grub_rescue_reader): Likewise.
25531 (grub_register_rescue_reader): Likewise.
25532 (grub_rescue_run): New function based on kern/reader.c.
25533 * kern/term.c: Adapted for multiterm.
25534 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
25535 (grub_is_valid_utf8): Likewise.
25536 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
25537 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
25538 right terminal.
25539 * loader/i386/linux.c (grub_linux_boot): Likewise.
25540 * normal/auth.c (grub_username_get): New function.
25541 (grub_auth_check_authentication): Use grub_username_get.
25542 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
25543 * normal/color.c: Adapt for multiterm.
25544 * normal/main.c (read_config_file): Don't use grub_reader_loop.
25545 (grub_normal_init_page): Additional argument term.
25546 (read_lists): Call read_terminal_lists.
25547 (grub_enter_normal_mode): Call grub_cmdline_run.
25548 Handle grub_normal_exit_level.
25549 (grub_cmd_normal): Make reentrant.
25550 (grub_cmd_normal_exit): New function.
25551 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
25552 * normal/menu.c: Adapt for multiterm.
25553 * normal/menu_entry.c: Likewise.
25554 * normal/menu_text.c: Likewise.
25555 * normal/menu_viewer.c: Removed. All users updated.
25556 * normal/term.c: New file.
25557 * util/console.c: Change order of includes to workaround a bug in
25558 ncurses headers.
25559 * term/terminfo.c: New argument oterm on all exported functions.
25560 All users updated.
25561 * util/grub-editenv.c (grub_term_input_class): Removed.
25562 (grub_term_output_class): Likewise.
25563
1a064917
RM
255642010-01-09 Robert Millan <rmh.grub@aybabtu.com>
25565
25566 Make loader output a bit more user-friendly.
25567
25568 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
25569 is being loaded. Likewise for the Hurd.
25570
25571 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
25572 that kernel of FreeBSD ${version} is being loaded.
25573
25574 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
25575 grub_dprintf().
25576 (grub_cmd_initrd): Likewise.
25577 * util/grub.d/10_linux.in (linux_entry): Print message indicating
25578 that Linux ${version} is being loaded. Likewise for initrd.
25579
5ce0a83a 255802010-01-09 Carles Pina i Estany <carles@pina.cat>
25581
25582 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
25583
809bbfeb 255842010-01-08 Carles Pina i Estany <carles@pina.cat>
25585
25586 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
25587 (GRUB_MOD_INIT): Gettextizze.
25588 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
25589 (GRUB_MOD_INIT): Gettextizze.
25590 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
25591 (grub_cmd_linux): Capitalise Linux.
25592 (GRUB_MOD_INIT): Gettextizze.
25593 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
25594 (grub_cmd_linux): Capitalise Linux.
25595 (GRUB_MOD_INIT): Gettextizze.
25596 * loader/i386/linux.c: Include `<grub/i18n.h>'.
25597 (grub_cmd_linux): Capitalise Linux.
25598 (GRUB_MOD_INIT): Gettextizze.
25599 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
25600 (GRUB_MOD_INIT): Gettextizze.
25601 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
25602 (grub_cmd_linux): Capitalise Linux.
25603 (GRUB_MOD_INIT): Gettextizze.
25604 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
25605 (grub_cpu_xnu_init): Gettextizze.
25606 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
25607 (GRUB_MOD_INIT): Gettextizze.
25608 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
25609 (GRUB_MOD_INIT): Gettextizze.
25610 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
25611 (grub_linux_load64): Capitalise Linux.
25612 (GRUB_MOD_INIT): Gettextizze.
25613 * loader/xnu.c: Include `<grub/i18n.h>'.
25614 (GRUB_MOD_INIT): Gettextizze.
25615 * po/POTFILES: Add `loader/efi/appleloader.c',
25616 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
25617 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
25618 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
25619 `loader/i386/xnu.c', `loader/multiboot_loader.c',
25620 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
25621 and `loader/xnu.c'.
25622
b394b2ca
RM
256232010-01-08 Robert Millan <rmh.grub@aybabtu.com>
25624
25625 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
25626
256272010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
25628
25629 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
25630 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
25631 * util/mkisofs/mkisofs.c (main): Readjust --version output.
25632
bc8b32b3
RM
256332010-01-07 Robert Millan <rmh.grub@aybabtu.com>
25634
25635 Reset Multiboot 2 support. New loader implements the draft in
25636 /branches/multiboot2 and shares as much code as possible with the
25637 production Multiboot 1 implementation.
25638
25639 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
25640 * loader/multiboot2.c: Likewise.
25641 * loader/i386/multiboot_helper.S: Likewise.
25642 * include/multiboot2.h: Replace with latest version from the draft
25643 in /branches/multiboot2.
25644
25645 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
25646 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
25647 and `loader/multiboot2.c'.
25648 (pkglib_MODULES): Add `multiboot2.mod'.
25649 (multiboot2_mod_SOURCES): New variable.
25650 (multiboot2_mod_LDFLAGS): Likewise.
25651 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
25652
25653 * conf/i386-pc.rmk: Likewise.
25654
25655 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
25656 (multiboot_mod_SOURCES): Remove variable.
25657 (multiboot_mod_LDFLAGS): Likewise.
25658 (multiboot_mod_CFLAGS): Likewise.
25659
25660 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
25661 `<multiboot2.h>' instead of `<multiboot.h>'.
25662 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
25663 (MULTIBOOT_HEADER_MAGIC): New macros.
25664
25665 * loader/multiboot_loader.c (module_version_status): Remove variable.
25666 (find_multi_boot2_header): Remove function.
25667 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
25668 logic. Always check for the Multiboot version we're compiling for.
25669 (grub_cmd_module_loader): Likewise.
25670 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
25671 command instead of `multiboot'.
25672
5d2c52b8
RM
256732010-01-07 Robert Millan <rmh.grub@aybabtu.com>
25674
25675 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
25676 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
25677 all users.
25678
53108d92
RM
256792010-01-07 Robert Millan <rmh.grub@aybabtu.com>
256802010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
25681
25682 Fix breakage introduced with previous commit.
25683
25684 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
25685 commands.
25686 * normal/handler.c (read_handler_list): Revert part of previous commit
25687 affecting this file.
25688 * normal/main.c (read_lists): Move read_handler_list() call back to ...
25689 (grub_normal_execute): ... here.
25690
e2e936b2
RM
256912010-01-07 Robert Millan <rmh.grub@aybabtu.com>
25692
25693 Merge prefix-redefinition-fix branch.
25694
25695 * normal/autofs.c (read_fs_list): Make function capable of being
25696 run multiple times, gracefuly replacing the previous data
25697 structures.
25698 * normal/dyncmd.c (read_command_list): Likewise.
25699 * normal/handler.c (read_handler_list): Likewise.
25700 * normal/main.c (read_lists): New function. Calls all the
25701 list reading functions.
25702 (grub_normal_execute): Use read_lists() instead of calling all
25703 list reading functions explicitly. Register read_lists() as a
25704 variable hook attached to ${prefix}.
25705
607a3701
VS
257062010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
25707
25708 Merge crypto branch.
25709
25710 * Makefile.in (pkglib_DATA): Add crypto.lst.
25711 (crypto.lst): New target.
25712 * commands/hashsum.c: New file.
25713 * commands/password.c (check_password): Use grub_crypto_memcmp.
25714 * commands/password_pbkdf2.c: New file.
25715 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
25716 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
25717 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
25718 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
25719 -I$(srcdir)/lib/libgcrypt_wrap.
25720 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
25721 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
25722 password_pbkdf2.mod.
25723 (crypto_mod_SOURCES): New variable.
25724 (crypto_mod_CFLAGS): Likewise.
25725 (crypto_mod_LDFLAGS): Likewise.
25726 (hashsum_mod_SOURCES): New variable.
25727 (hashsum_mod_CFLAGS): Likewise.
25728 (hashsum_mod_LDFLAGS): Likewise.
25729 (pbkdf2_mod_SOURCES): New variable.
25730 (pbkdf2_mod_CFLAGS): Likewise.
25731 (pbkdf2_mod_LDFLAGS): Likewise.
25732 (password_pbkdf2_mod_SOURCES): New variable.
25733 (password_pbkdf2_mod_CFLAGS): Likewise.
25734 (password_pbkdf2_mod_LDFLAGS): Likewise.
25735 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
25736 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
25737 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
25738 Include conf/gcry.rmk.
25739 * include/grub/auth.h: Rewritten.
25740 * include/grub/crypto.h: New file.
25741 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
25742 * include/grub/normal.h (read_crypto_list): New prototype.
25743 * lib/crypto.c: New file.
25744 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
25745 * lib/pbkdf2.c: Likewise.
25746 * normal/auth.c (grub_auth_strcmp): Removed.
25747 (grub_iswordseparator): Likewise.
25748 (grub_auth_strword): Likewise.
25749 (is_authenticated): Use grub_strword.
25750 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
25751 and grub_strword. Pass entered password to authentication callback.
25752 * normal/crypto.c: New file.
25753 * normal/main.c: Call read_crypto_list.
25754 * util/grub-mkpasswd-pbkdf2.c: New file.
25755 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
25756
42841caa
VS
257572010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
25758
25759 Fix descent and ascent calculation.
25760
25761 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
25762 (options): New option "asce".
25763 (usage): Likewise.
25764 (add_char): Ignore invalid glyphs for descent calculation.
25765 Calculate ascent from actual content.
25766 (print_glyphs): Use 'asce'.
25767 (write_font): Likewise. Allow ascent override.
25768 (main): Handle "asce" option.
25769
e7730de7 257702010-01-06 Carles Pina i Estany <carles@pina.cat>
25771
25772 * kern/err.c: Include `<grub/i18n.h>'.
25773 (grub_print_error): Add full stop. Gettextizze.
25774 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
25775 (grub_bsd_load_elf): Capitalise ELF.
25776 (grub_cmd_freebsd_loadenv): Add `s' in error string.
25777 (grub_cmd_freebsd_module): Likewise.
25778 (grub_cmd_freebsd_module_elf): Likewise.
25779 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
25780
40e3a41f 257812010-01-06 Carles Pina i Estany <carles@pina.cat>
25782
25783 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
25784 * commands/search_file.c (HELP_MESSAGE): New macro.
25785 * commands/search_label.c (HELP_MESSAGE): Likewise.
25786 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
25787 * po/POTFILES: Add `commands/search_file.c',
25788 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
25789 `commands/search.c'.
25790
83507e68
RM
257912010-01-05 Robert Millan <rmh.grub@aybabtu.com>
25792
25793 * config.rpath: Update from Gnulib.
25794
465c787b
YB
257952010-01-05 Yves Blusseau <blusseau@zetam.org>
25796
25797 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
25798
6581dd3a
YB
257992010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
25800
25801 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
25802
3bff18c5
CW
258032010-01-05 Colin Watson <cjwatson@ubuntu.com>
25804
25805 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
25806 arguments to fread so that we get a return value in bytes, rather
25807 than something that will normally be rounded down to 0.
25808 Adjust error handling to avoid producing garbage when size_t is not
25809 the same size as long long.
25810
a1368118
CW
258112010-01-05 Colin Watson <cjwatson@ubuntu.com>
25812
25813 * util/mkisofs/write.c (padblock_write): Check return value of
25814 fread.
25815
7c302978
RM
258162010-01-05 Robert Millan <rmh.grub@aybabtu.com>
25817
25818 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
25819 floppy images now.
25820
25821 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
25822
e33ace06
RM
258232010-01-04 Robert Millan <rmh.grub@aybabtu.com>
25824
25825 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
25826 instead of manual alignment.
25827 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
25828 verbose). Avoid attempts to read past end of the device
25829 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
25830 but GRUB_DISK_CACHE_SIZE may exceed that).
25831
4b856776
RM
258322010-01-04 Robert Millan <rmh.grub@aybabtu.com>
25833
25834 * commands/crc.c (grub_cmd_crc): Abort on read errors.
25835 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
25836 it to upper layer.
25837
52c2d97f
VS
258382010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
25839
25840 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
25841 New constant.
25842 (grub_efi_piwg_device_path): New structure
25843 (grub_efi_piwg_device_path_t): New type.
25844 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
25845 (devpath_1): Transform to a structure. All users updated.
25846 (devpath_2): Likewise.
25847 (devpath_3): Likewise.
25848 (devpath_4): Likewise.
25849 (devpath_5): Likewise.
25850
98ff6a54
VS
258512010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
25852
25853 * loader/efi/appleloader.c: Restored. Update all users.
25854
3a73dcb6
RM
258552010-01-03 Robert Millan <rmh.grub@aybabtu.com>
25856
25857 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
25858
25859 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
25860 (struct boot_blocklist): Move from here ...
25861 * include/grub/i386/pc/boot.h [ASM_FILE]
25862 (struct grub_boot_blocklist): ... to here. Update all users.
25863 (setup): Only initialize `start' member of `first_block'
25864 structure. Add assert() calls to verify the other members.
25865
25866 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
25867 (generate_image): Fix broken blocklist length initialization.
25868 Add assert() call to verify blocklist `segment' field.
25869
ab0eeb0c
RM
258702010-01-03 Robert Millan <rmh.grub@aybabtu.com>
25871
25872 * loader/efi/appleloader.c: Remove. Update all users.
25873
58bc8bd5
RM
258742010-01-03 Robert Millan <rmh.grub@aybabtu.com>
25875
25876 * boot/i386/pc/boot.S: Update copyright year.
25877 * boot/i386/pc/cdboot.S: Likewise.
25878 * boot/i386/pc/diskboot.S: Likewise.
25879 * boot/i386/pc/lnxboot.S: Likewise.
25880 * boot/i386/pc/pxeboot.S: Likewise.
25881 * bus/pci.c: Likewise.
25882 * commands/cmp.c: Likewise.
25883 * commands/help.c: Likewise.
25884 * commands/hexdump.c: Likewise.
25885 * commands/i386/pc/halt.c: Likewise.
25886 * commands/i386/pc/play.c: Likewise.
25887 * commands/i386/pc/vbeinfo.c: Likewise.
25888 * commands/ls.c: Likewise.
25889 * commands/test.c: Likewise.
25890 * disk/dmraid_nvidia.c: Likewise.
25891 * disk/i386/pc/biosdisk.c: Likewise.
25892 * disk/ieee1275/nand.c: Likewise.
25893 * disk/ieee1275/ofdisk.c: Likewise.
25894 * disk/lvm.c: Likewise.
25895 * disk/raid.c: Likewise.
25896 * disk/raid6_recover.c: Likewise.
25897 * disk/scsi.c: Likewise.
25898 * fs/affs.c: Likewise.
25899 * fs/cpio.c: Likewise.
25900 * fs/ext2.c: Likewise.
25901 * fs/hfs.c: Likewise.
25902 * fs/iso9660.c: Likewise.
25903 * fs/ntfs.c: Likewise.
25904 * fs/sfs.c: Likewise.
25905 * fs/udf.c: Likewise.
25906 * fs/ufs.c: Likewise.
25907 * fs/xfs.c: Likewise.
25908 * gencmdlist.sh: Likewise.
25909 * genmk.rb: Likewise.
25910 * include/grub/disk.h: Likewise.
25911 * include/grub/efi/api.h: Likewise.
25912 * include/grub/efi/efi.h: Likewise.
25913 * include/grub/efi/pe32.h: Likewise.
25914 * include/grub/elf.h: Likewise.
25915 * include/grub/fs.h: Likewise.
25916 * include/grub/i386/at_keyboard.h: Likewise.
25917 * include/grub/i386/pc/memory.h: Likewise.
25918 * include/grub/i386/pc/vbe.h: Likewise.
25919 * include/grub/i386/pci.h: Likewise.
25920 * include/grub/i386/tsc.h: Likewise.
25921 * include/grub/ieee1275/ieee1275.h: Likewise.
25922 * include/grub/ntfs.h: Likewise.
25923 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
25924 * include/grub/sparc64/libgcc.h: Likewise.
25925 * include/grub/symbol.h: Likewise.
25926 * include/grub/types.h: Likewise.
25927 * include/multiboot2.h: Likewise.
25928 * io/gzio.c: Likewise.
25929 * kern/device.c: Likewise.
25930 * kern/disk.c: Likewise.
25931 * kern/efi/efi.c: Likewise.
25932 * kern/efi/mm.c: Likewise.
25933 * kern/elf.c: Likewise.
25934 * kern/file.c: Likewise.
25935 * kern/i386/dl.c: Likewise.
25936 * kern/i386/pc/init.c: Likewise.
25937 * kern/i386/pc/startup.S: Likewise.
25938 * kern/ieee1275/ieee1275.c: Likewise.
25939 * kern/ieee1275/init.c: Likewise.
25940 * kern/main.c: Likewise.
25941 * kern/mm.c: Likewise.
25942 * kern/powerpc/dl.c: Likewise.
25943 * kern/sparc64/dl.c: Likewise.
25944 * kern/x86_64/dl.c: Likewise.
25945 * lib/hexdump.c: Likewise.
25946 * loader/efi/appleloader.c: Likewise.
25947 * loader/i386/ieee1275/linux.c: Likewise.
25948 * loader/i386/pc/chainloader.c: Likewise.
25949 * loader/i386/pc/linux.c: Likewise.
25950 * loader/i386/pc/multiboot2.c: Likewise.
25951 * loader/ieee1275/multiboot2.c: Likewise.
25952 * loader/multiboot2.c: Likewise.
25953 * loader/multiboot_loader.c: Likewise.
25954 * loader/powerpc/ieee1275/linux.c: Likewise.
25955 * normal/completion.c: Likewise.
25956 * normal/menu_entry.c: Likewise.
25957 * partmap/apple.c: Likewise.
25958 * util/grub.d/10_hurd.in: Likewise.
25959 * util/hostfs.c: Likewise.
25960 * video/readers/png.c: Likewise.
25961
e2d70b5c
CW
259622010-01-03 Colin Watson <cjwatson@ubuntu.com>
25963
25964 * include/grub/misc.h (GNUC_PREREQ): New macro.
25965 (ATTRIBUTE_ERROR): New macro.
25966 * include/grub/list.h (grub_bad_type_cast_real): Use
25967 ATTRIBUTE_ERROR.
25968
a173283f 259692010-01-03 Carles Pina i Estany <carles@pina.cat>
25970
25971 * normal/menu_text.c (print_message): Change messages.
25972
7fa7ff74 259732010-01-03 Carles Pina i Estany <carles@pina.cat>
25974
25975 * normal/menu_entry.c (store_completion): Gettextizze.
25976
136d24f6 259772010-01-03 Carles Pina i Estany <carles@pina.cat>
25978
25979 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
25980
f936862e 259812010-01-03 Carles Pina i Estany <carles@pina.cat>
25982
25983 * po/POTFILES: Sort correctly.
25984
29c44ad1 259852010-01-03 Carles Pina i Estany <carles@pina.cat>
25986
25987 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
25988 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
25989 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
25990 full stop.
25991 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
25992 summary. Gettextizze the strings.
25993 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
25994 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
25995 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
25996 full stop.
25997 (GRUB_MOD_INIT): Remove command name from summary.
25998 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
25999 summary.
26000 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
26001 * term/i386/pc/serial.c (options): Add full stops.
26002 (GRUB_MOD_INIT): Remove command name from the summary.
26003
77a79592 260042010-01-03 Carles Pina i Estany <carles@pina.cat>
26005
26006 * commands/acpi.c: Gettextizze help strings and/or options. Include
26007 `grub/i18n.h' if needed.
26008 * commands/blocklist.c: Likewise.
26009 * commands/boot.c: Likewise.
26010 * commands/cat.c: Likewise.
26011 * commands/cmp.c: Likewise.
26012 * commands/configfile.c: Likewise.
26013 * commands/crc.c: Likewise.
26014 * commands/date.c: Likewise.
26015 * commands/echo.c: Likewise.
26016 * commands/efi/fixvideo.c: Likewise.
26017 * commands/efi/loadbios.c: Likewise.
26018 * commands/gptsync.c: Likewise.
26019 * commands/halt.c: Likewise.
26020 * commands/handler.c: Likewise.
26021 * commands/hdparm.c: Likewise.
26022 * commands/hexdump.c: Likewise.
26023 * commands/i386/cpuid.c: Likewise.
26024 * commands/i386/pc/drivemap.c: Likewise.
26025 * commands/i386/pc/halt.c: Likewise.
26026 * commands/i386/pc/pxecmd.c: Likewise.
26027 * commands/i386/pc/vbeinfo.c: Likewise.
26028 * commands/i386/pc/vbetest.c: Likewise.
26029 * commands/ieee1275/suspend.c: Likewise.
26030 * commands/keystatus.c: Likewise.
26031 * commands/loadenv.c: Likewise.
26032 * commands/ls.c: Likewise.
26033 * commands/lsmmap.c: Likewise.
26034 * commands/lspci.c: Likewise.
26035 * commands/memrw.c: Likewise.
26036 * commands/minicmd.c: Likewise.
26037 * commands/parttool.c: Likewise.
26038 * commands/password.c: Likewise.
26039 * commands/probe.c: Likewise.
26040 * commands/read.c: Likewise.
26041 * commands/reboot.c: Likewise.
26042 * commands/search.c: Likewise.
26043 * commands/sleep.c: Likewise.
26044 * commands/test.c: Likewise.
26045 * commands/true.c: Likewise.
26046 * commands/usbtest.c: Likewise.
26047 * commands/videotest.c: Likewise.
26048 * commands/xnu_uuid.c: Likewise.
26049 * disk/loopback.c: Likewise.
26050 * hello/hello.c: Likewise.
26051 * loader/i386/bsd.c: Likewise.
26052 * term/i386/pc/serial.c: Likewise.
26053 * po/POTFILES: Add new files.
26054
da8d5c53
CW
260552010-01-02 Colin Watson <cjwatson@ubuntu.com>
26056
26057 * term/i386/pc/at_keyboard.c
26058 (keyboard_controller_wait_untill_ready): Rename to ...
26059 (keyboard_controller_wait_until_ready): ... this. Update all users.
26060
33937904 260612010-01-01 Carles Pina i Estany <carles@pina.cat>
26062
26063 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
26064 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
26065 string using string width.
26066 * normal/menu_text.c (grub_print_message_indented): Use
26067 grub_print_spaces and not print_spaces.
26068 (print_timeout): Likewise.
26069 (print_spaces): Move to...
26070 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
26071
3fd3b8d8
RM
260722010-01-01 Robert Millan <rmh.grub@aybabtu.com>
26073
26074 Import from Gnulib.
26075
26076 * gnulib/getdelim.c: New file.
26077 * gnulib/getline.c: Likewise.
26078
33433555
VS
260792009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
26080
26081 * include/grub/list.h (grub_assert_fail): Removed.
26082 (grub_bad_type_cast_real): New function.
26083 (grub_bad_type_cast): New macro.
26084 (GRUB_AS_LIST): Use grub_bad_type_cast.
26085 (GRUB_AS_LIST_P): Likewise.
e44721e8 26086 (GRUB_AS_NAMED_LIST): Likewise.
33433555 26087 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 26088 (GRUB_AS_PRIO_LIST): Likewise.
33433555 26089 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 26090 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 26091
f5a51306
VS
260922009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
26093
26094 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
26095 Fix syntax error.
26096
90d1e879
RM
260972009-12-29 Robert Millan <rmh.grub@aybabtu.com>
26098
26099 * configure.ac: Check for TARGET_CFLAGS initialization before we
26100 initialize it ourselves (sigh).
26101 Move a few modifications to TARGET_CFLAGS to be unconditional
26102 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
26103 eh_frame)
26104
26105 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
26106 * term/i386/pc/at_keyboard.c
26107 (keyboard_controller_wait_untill_ready): Likewise.
26108 (keyboard_controller_led): Rename `led_status' paramter to avoid
26109 name conflict.
26110
465b5a81 261112009-12-28 Carles Pina i Estany <carles@pina.cat>
26112
26113 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
26114 quotes.
26115
c181849b
VS
261162009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
26117
26118 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
26119
9c8739a4
VS
261202009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
26121
26122 * normal/menu_text.c (grub_print_message_indented): Prevent
26123 past-the-end-of-array dereference.
26124
3e74249c
VS
261252009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
26126
26127 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
26128 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
26129
64fd18ed 261302009-12-27 Carles Pina i Estany <carles@pina.cat>
26131
26132 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
26133 * normal/main.c (grub_normal_read_line): Remove a space from the
26134 default prompt.
26135
714af9b9 261362009-12-27 Carles Pina i Estany <carles@pina.cat>
26137
26138 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
26139 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26140 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
26141 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
26142 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26143 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26144 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
26145
82f3e412 261462009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 26147
26148 * video/readers/jpeg.c (cmd): Declare.
26149 (grub_cmd_jpegtest): Use `grub_command_t' type.
26150 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
26151 Assign to `cmd'.
26152 (GRUB_MOD_FINI): Use `cmd' to unregister.
26153 * video/readers/png.c (cmd): Declare.
26154 (grub_cmd_pngtest): Use `grub_command_t' type.
26155 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
26156 Assign to `cmd'.
26157 (GRUB_MOD_FINI): Use `cmd' to unregister.
26158 * video/readers/tga.c (cmd): Declare.
26159 (grub_cmd_tgatest): Use `grub_command_t' type.
26160 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
26161 Assign to `cmd'.
26162 (GRUB_MOD_FINI): Use `cmd' to unregister.
26163
82f3e412 261642009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 26165
26166 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
26167 stops.
26168 * kern/corecmd.c (grub_register_core_commands): Likewise.
26169 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
26170 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
26171 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
26172 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26173 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
26174 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
26175 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
26176 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
26177 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26178 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
26179 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
26180 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26181 * normal/handler.c (insert_handler): Likewise.
26182 * normal/main.c (GRUB_MOD_INIT): Likewise.
26183 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
26184
fdcdbb66 261852009-12-26 Carles Pina i Estany <carles@pina.cat>
26186
26187 * commands/help.c (grub_cmd_help): Print the command name before the
26188 summary.
26189 (GRUB_MOD_INIT): Remove command name from the summary.
26190 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 26191 string as summary.
fdcdbb66 26192 * lib/arg.c (find_long): Print the command name before the summary.
26193 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
26194 summary.
26195 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
26196 * commands/cat.c (GRUB_MOD_INIT): Likewise.
26197 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
26198 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
26199 * commands/crc.c (GRUB_MOD_INIT): Likewise.
26200 * commands/date.c (GRUB_MOD_INIT): Likewise.
26201 * commands/echo.c (GRUB_MOD_INIT): Likewise.
26202 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
26203 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
26204 * commands/handler.c (GRUB_MOD_INIT): Likewise.
26205 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
26206 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
26207 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
26208 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
26209 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
26210 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
26211 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
26212 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
26213 * commands/ls.c (GRUB_MOD_INIT): Likewise.
26214 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
26215 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
26216 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
26217 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
26218 * commands/password.c (GRUB_MOD_INIT): Likewise.
26219 * commands/probe.c (GRUB_MOD_INIT): Likewise.
26220 * commands/read.c (GRUB_MOD_INIT): Likewise.
26221 * commands/search.c (GRUB_MOD_INIT): Likewise.
26222 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
26223 * commands/test.c (GRUB_MOD_INIT): Likewise.
26224 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
26225 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
26226 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
26227 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
26228 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
26229 * lib/arg.c (GRUB_MOD_INIT): Likewise.
26230 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
26231 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
26232 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
26233 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26234 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
26235 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
26236 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
26237 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
26238
9c288be2
VS
262392009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
26240
26241 Use search command for preliminar UUID search.
26242
26243 * commands/search.c: Split into ...
26244 * commands/search_wrap.c: ...this
26245 * commands/search.c: ...and this.
26246 * commands/search_file.c: New file.
26247 * commands/search_label.c: New file.
26248 * commands/search_uuid.c: New file.
26249 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
26250 Add commands/search_wrap.c, commands/search_file.c,
26251 commands/search_label.c and commands/search_uuid.c.
26252 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
26253 (search_mod_SOURCES): Set to commands/search_wrap.c.
26254 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
26255 search_label.mod.
26256 (search_fs_file_mod_SOURCES): New variable.
26257 (search_fs_file_mod_CFLAGS): Likewise.
26258 (search_fs_file_mod_LDFLAGS): Likewise.
26259 (search_label_mod_SOURCES): Likewise.
26260 (search_label_mod_CFLAGS): Likewise.
26261 (search_label_mod_LDFLAGS): Likewise.
26262 (search_fs_uuid_mod_SOURCES): New variable.
26263 (search_fs_uuid_mod_CFLAGS): Likewise.
26264 (search_fs_uuid_mod_LDFLAGS): Likewise.
26265 (fs_file_mod_SOURCES): Removed.
26266 (fs_file_mod_CFLAGS): Likewise.
26267 (fs_file_mod_LDFLAGS): Likewise.
26268 (fs_uuid_mod_SOURCES): Removed.
26269 (fs_uuid_mod_CFLAGS): Likewise.
26270 (fs_uuid_mod_LDFLAGS): Likewise.
26271 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
26272 Set to util/grub-install.in.
26273 * disk/fs_file.c: Removed.
26274 * disk/fs_uuid.c: Likewise.
26275 * include/grub/search.h: New file.
26276 * util/grub-install.in: Handle sparc64.
26277 Create and use load.cfg.
26278 * util/sparc64/ieee1275/grub-install.in: Removed.
26279
db943399
VS
262802009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
26281
26282 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
26283 Ignore return status if CF is cleared.
26284 (grub_biosdisk_get_diskinfo_standard): Likewise.
26285
3fdae612
RM
262862009-12-25 Robert Millan <rmh.grub@aybabtu.com>
26287
26288 * term/i386/pc/at_keyboard.c
26289 (keyboard_controller_wait_untill_ready): New function.
26290 (grub_keyboard_controller_write, grub_keyboard_controller_read)
26291 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
26292 for keyboard polling, rather than duplicate the same loop. This
26293 saves a few bytes in code size.
26294
7ebaa2b4
VS
262952009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
26296
26297 Support for (pxe[:server[:gateway]]) syntax and
26298 use environment variable for PXE.
26299
26300 * commands/i386/pc/pxecmd.c (options): Removed.
26301 (print_ip): Removed.
26302 (grub_cmd_pxe): Removed
26303 (grub_cmd_pxe_unload): New function.
26304 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
26305 (grub_pxe_your_ip): Made static.
26306 (grub_pxe_default_server_ip): Likewise.
26307 (grub_pxe_default_gateway_ip): Likewise.
26308 (grub_pxe_blksize): Likewise.
26309 (parse_ip): New function.
26310 (grub_pxe_open): Support server and gateway specification.
26311 (grub_pxe_close): Free disk->data.
26312 (grub_pxefs_open): Use disk->data.
26313 (grub_pxefs_read): Likewise.
26314 (grub_env_write_readonly): New function.
26315 (set_mac_env): Likewise.
26316 (set_env_limn_ro): Likewise.
26317 (parse_dhcp_vendor): Likewise.
26318 (grub_pxe_detect): Set the environment variables.
26319 (set_ip_env): New function.
26320 (write_ip_env): Likewise.
26321 (grub_env_write_pxe_default_server): Likewise.
26322 (grub_env_write_pxe_default_gateway): Likewise.
26323 (grub_env_write_pxe_blocksize): Likewise.
26324 (GRUB_MOD_INIT(pxe)): Set environment variables.
26325 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
26326 (grub_pxe_mac_addr_t): ... this. All users updated.
26327 (grub_pxe_your_ip): Removed.
26328 (grub_pxe_server_ip): Likewise.
26329 (grub_pxe_gateway_ip): Likewise.
26330 (grub_pxe_blksize): Likewise.
26331
ec5f98ab 263322009-12-25 Carles Pina i Estany <carles@pina.cat>
26333
26334 * commands/help.c: Include `<grub/i18n.h>'.
26335 (grub_cmd_help): Gettextizze.
26336 (GRUB_MOD_INIT): Likewise.
26337 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
26338 (GRUB_MOD_INIT): Gettextizze.
26339 * commands/search.c: Include `<grub/i18n.h>'.
26340 (options): Gettextizze.
26341 (GRUB_MOD_INIT): Gettextizze.
26342 * lib/arg.c: Include `<grub/i18n.h>'.
26343 (help_options): Gettextizze.
26344 (find_long): Likewise.
26345 (grub_arg_show_help): Likewise.
26346 * normal/dyncmd.c: Include `<grub/i18n.h>'.
26347 (read_command_list): Gettextizze.
26348 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 26349 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 26350
22815526
RM
263512009-12-25 Robert Millan <rmh.grub@aybabtu.com>
26352
26353 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
26354 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
26355 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
26356 (led_status): New variable.
26357 (keyboard_controller_led): New function.
26358 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
26359 update led status for caps lock, num lock and scroll lock.
26360
0ad46fd7
FZ
263612009-12-25 Felix Zielcke <fzielcke@z-51.de>
26362
26363 * util/hostdisk.c (open_device): Fix a comment.
26364
d0e158c2
RM
263652009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26366
26367 * util/grub-install.in (host_os): New variable.
26368 * util/i386/efi/grub-install.in (host_os): Likewise.
26369
401c0ad6
RM
263702009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26371
26372 * util/mkisofs/write.c (padblock_write): Abort when given an
26373 excedingly large embed image, instead of silently truncating it.
26374
d14d3370
RM
263752009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26376
26377 * include/multiboot.h: Indentation fixes.
26378
eeed10b4
RM
263792009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26380
26381 * include/multiboot.h (struct multiboot_aout_symbol_table)
26382 (struct multiboot_elf_section_header_table): New structure
26383 declarations (stolen from GRUB Legacy).
26384 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
26385 table information.
26386
26387 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
26388 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
26389 type aliases.
26390
681c70ab
RM
263912009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26392
26393 * include/multiboot.h: Make comments src2texi-friendly.
26394
e4d47d8d
RM
263952009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26396
26397 For consistency with [multiboot]/docs/boot.S.
26398
26399 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
26400 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
26401 (MULTIBOOT_MAGIC2): Rename from this ...
26402 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
26403
a0b70bda
RM
264042009-12-24 Robert Millan <rmh.grub@aybabtu.com>
26405
26406 * include/multiboot.h: Remove `<grub/types.h>'.
26407 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
26408 types. Update all users.
26409
61ba42be 264102009-12-25 Carles Pina i Estany <carles@pina.cat>
26411
26412 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
26413 `couldn't' and `can not' by `cannot'.
26414 * commands/i386/pc/drivemap.c: Likewise.
26415 * disk/ata.c: Likewise.
26416 * disk/ieee1275/nand.c: Likewise.
26417 * fs/affs.c: Likewise.
26418 * fs/fat.c: Likewise.
26419 * fs/hfs.c: Likewise.
26420 * fs/hfsplus.c: Likewise.
26421 * fs/iso9660.c: Likewise.
26422 * fs/jfs.c: Likewise.
26423 * fs/minix.c: Likewise.
26424 * fs/reiserfs.c: Likewise.
26425 * fs/sfs.c: Likewise.
26426 * fs/udf.c: Likewise.
26427 * fs/ufs.c: Likewise.
26428 * fs/xfs.c: Likewise.
26429 * loader/powerpc/ieee1275/linux.c: Likewise.
26430 * loader/sparc64/ieee1275/linux.c: Likewise.
26431 * util/grub-probe.c: Likewise.
26432 * util/misc.c: Likewise.
26433
7fd0baee 264342009-12-24 Carles Pina i Estany <carles@pina.cat>
26435
26436 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
26437 grub_errno calls.
26438 * commands/acpi.c: Likewise.
26439 * commands/blocklist.c: Likewise.
26440 * commands/efi/loadbios.c: Likewise.
26441 * commands/i386/pc/drivemap.c: Likewise.
26442 * commands/loadenv.c: Likewise.
26443 * commands/memrw.c: Likewise.
26444 * commands/password.c: Likewise.
26445 * commands/videotest.c: Likewise.
26446 * disk/ata.c: Likewise.
26447 * disk/ata_pthru.c: Likewise.
26448 * disk/dmraid_nvidia.c: Likewise.
26449 * disk/ieee1275/nand.c: Likewise.
26450 * disk/ieee1275/ofdisk.c: Likewise.
26451 * disk/loopback.c: Likewise.
26452 * disk/lvm.c: Likewise.
26453 * disk/mdraid_linux.c: Likewise.
26454 * disk/raid.c: Likewise.
26455 * disk/raid6_recover.c: Likewise.
26456 * disk/scsi.c: Likewise.
26457 * efiemu/main.c: Likewise.
26458 * efiemu/mm.c: Likewise.
26459 * efiemu/pnvram.c: Likewise.
26460 * efiemu/symbols.c: Likewise.
26461 * font/font.c: Likewise.
26462 * fs/cpio.c: Likewise.
26463 * fs/hfsplus.c: Likewise.
26464 * fs/iso9660.c: Likewise.
26465 * fs/jfs.c: Likewise.
26466 * fs/minix.c: Likewise.
26467 * fs/ntfs.c: Likewise.
26468 * fs/ntfscomp.c: Likewise.
26469 * fs/reiserfs.c: Likewise.
26470 * fs/ufs.c: Likewise.
26471 * fs/xfs.c: Likewise.
26472 * gettext/gettext.c: Likewise.
26473 * include/grub/auth.h: Likewise.
26474 * kern/elf.c: Likewise.
26475 * kern/file.c: Likewise.
26476 * kern/ieee1275/init.c: Likewise.
26477 * kern/ieee1275/mmap.c: Likewise.
26478 * kern/ieee1275/openfw.c: Likewise.
26479 * kern/powerpc/dl.c: Likewise.
26480 * kern/sparc64/dl.c: Likewise.
26481 * lib/arg.c: Likewise.
26482 * loader/i386/bsd.c: Likewise.
26483 * loader/i386/bsdXX.c: Likewise.
26484 * loader/i386/efi/linux.c: Likewise.
26485 * loader/i386/efi/xnu.c: Likewise.
26486 * loader/i386/ieee1275/linux.c: Likewise.
26487 * loader/i386/linux.c: Likewise.
26488 * loader/i386/multiboot.c: Likewise.
26489 * loader/i386/pc/linux.c: Likewise.
26490 * loader/i386/pc/multiboot2.c: Likewise.
26491 * loader/i386/xnu.c: Likewise.
26492 * loader/ieee1275/multiboot2.c: Likewise.
26493 * loader/macho.c: Likewise.
26494 * loader/machoXX.c: Likewise.
26495 * loader/multiboot2.c: Likewise.
26496 * loader/multiboot_loader.c: Likewise.
26497 * loader/powerpc/ieee1275/linux.c: Likewise.
26498 * loader/sparc64/ieee1275/linux.c: Likewise.
26499 * loader/xnu.c: Likewise.
26500 * loader/xnu_resume.c: Likewise.
26501 * mmap/i386/pc/mmap.c: Likewise.
26502 * normal/menu_viewer.c: Likewise.
26503 * partmap/acorn.c: Likewise.
26504 * partmap/amiga.c: Likewise.
26505 * partmap/apple.c: Likewise.
26506 * script/lexer.c: Likewise.
26507 * term/gfxterm.c: Likewise.
26508 * term/i386/pc/serial.c: Likewise.
26509 * term/i386/pc/vga.c: Likewise.
26510 * term/ieee1275/ofconsole.c: Likewise.
26511 * term/terminfo.c: Likewise.
26512 * video/bitmap.c: Likewise.
26513 * video/efi_gop.c: Likewise.
26514 * video/efi_uga.c: Likewise.
26515 * video/fb/video_fb.c: Likewise.
26516 * video/i386/pc/vbe.c: Likewise.
26517 * video/readers/tga.c: Likewise.
26518 * video/video.c: Likewise.
26519
0ad46fd7 265202009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
26521
26522 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
26523 * commands/lspci.c: Likewise.
26524 * commands/probe.c: Likewise.
26525 * commands/xnu_uuid.c: Likewise.
26526 * conf/i386-coreboot.rmk: Likewise.
26527 * conf/i386-efi.rmk: Likewise.
26528 * conf/i386-ieee1275.rmk: Likewise.
26529 * conf/i386-pc.rmk: Likewise.
26530 * conf/powerpc-ieee1275.rmk: Likewise.
26531 * conf/sparc64-ieee1275.rmk: Likewise.
26532 * conf/x86_64-efi.rmk: Likewise.
26533 * fs/i386/pc/pxe.c: Likewise.
26534 * gettext/gettext.c: Likewise.
26535 * include/grub/efi/graphics_output.h: Likewise.
26536 * include/grub/i386/pc/memory.h: Likewise.
26537 * kern/env.c: Likewise.
26538 * kern/i386/qemu/startup.S: Likewise.
26539 * lib/i386/pc/biosnum.c: Likewise.
26540 * lib/i386/relocator.c: Likewise.
26541 * lib/i386/relocator_asm.S: Likewise.
26542 * lib/relocator.c: Likewise.
26543 * loader/i386/bsd.c: Likewise.
26544 * loader/i386/multiboot.c: Likewise.
26545 * loader/i386/pc/chainloader.c: Likewise.
26546 * loader/i386/xnu.c: Likewise.
26547 * loader/xnu.c: Likewise.
26548 * normal/main.c: Likewise.
26549 * normal/menu_text.c: Likewise.
26550 * util/getroot.c: Likewise.
26551 * util/grub-mkconfig_lib.in: Likewise.
26552 * util/grub.d/00_header.in: Likewise.
26553 * util/i386/pc/grub-mkimage.c: Likewise.
26554 * util/mkisofs/eltorito.c: Likewise.
26555 * util/mkisofs/exclude.h: Likewise.
26556 * util/mkisofs/hash.c: Likewise.
26557 * util/mkisofs/iso9660.h: Likewise.
26558 * util/mkisofs/joliet.c: Likewise.
26559 * util/mkisofs/mkisofs.c: Likewise.
26560 * util/mkisofs/mkisofs.h: Likewise.
26561 * util/mkisofs/multi.c: Likewise.
26562 * util/mkisofs/name.c: Likewise.
26563 * util/mkisofs/rock.c: Likewise.
26564 * util/mkisofs/tree.c: Likewise.
26565 * util/mkisofs/write.c: Likewise.
26566 * video/efi_gop.c: Likewise.
26567
009ec743
VS
265682009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
26569
26570 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
26571 size counting.
26572
0ad46fd7 265732009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
26574
26575 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
26576 * genmk.rb (class SCRIPT): Modify the target file instead of source.
26577
d3d30ea0
VS
265782009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
26579
26580 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
26581 (GRUB_MOD_INIT(memrw)): Update help line.
26582
a34f5c70
VS
265832009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
26584
26585 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
26586 Use grub_extcmd_t. All users updated.
26587 (options): New variable.
26588 (grub_cmd_read): Restructure for readability. Support "-v" option.
26589 (grub_cmd_write): Restructure for readability.
26590
0ad46fd7 265912009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
26592
26593 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
26594
0ad46fd7 265952009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
26596
26597 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
26598 with the actual contents of the correspondending make variable.
26599 * util/grub-mkrescue.in (pkglib_DATA): New variable.
26600 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
26601 specifying `*.lst' and `efiemu??.o'
26602
0ad46fd7 266032009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
26604
26605 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
26606 after function name.
26607 Noticed by Rene Engelhard <rene@debian.org>.
26608
dc77a799
VS
266092009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
26610
26611 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
26612 (options): New variable.
26613 (iospace): Likewise.
26614 (grub_lspci_iter): List IO spaces if "-i" was given.
26615 (grub_cmd_lspci): Parse options.
26616 (GRUB_MOD_INIT(lspci)): Use extcmd.
26617 (GRUB_MOD_FINI(lspci)): Likewise.
26618
0ad46fd7 266192009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
26620
26621 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
26622 `function' keyword.
26623 Patch by Tony Mancill <tmancill@debian.org>.
26624
b5d5993b
VS
266252009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
26626
26627 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
26628 (grub_uhci_portstatus): Likewise.
26629 (grub_uhci_portstatus): Add necessary delay.
11d18281 26630 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 26631
941903f2 266322009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 26633
941903f2 26634 * commands/acpi.c (options): Fix capitalizations and/or full stops.
26635 (GRUB_MOD_INIT): Likewise.
26636 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 26637 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
26638 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 26639 * commands/efi/loadbios.c (enable_rom_area): Likewise.
26640 (enable_rom_area): Likewise.
26641 (GRUB_MOD_INIT): Likewise.
26642 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
26643 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
26644 * commands/handler.c (GRUB_MOD_INIT): Likewise.
26645 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
26646 * commands/hexdump.c (options): Likewise.
26647 * commands/i386/cpuid.c (options): Likewise.
26648 (GRUB_MOD_INIT): Likewise.
26649 * commands/i386/pc/drivemap.c (options): Likewise.
26650 (GRUB_MOD_INIT): Likewise.
26651 * commands/i386/pc/halt (options): Likewise.
26652 (GRUB_MOD_INIT): Likewise.
26653 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
26654 * commands/i386/pc/pxecmd.c (options): Likewise.
26655 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
26656 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
26657 * commands/keystatus.c (options): Likewise.
26658 (GRUB_MOD_INIT): Likewise.
26659 * commands/loadenv.c (options): Likewise.
26660 * commands/ls.c (options): Likewise.
26661 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
26662 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
26663 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
26664 * commands/parttool.c (helpmsg): Likewise.
26665 * commands/probe.c (options): Likewise.
26666 * commands/read.c (GRUB_MOD_INIT): Likewise.
26667 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
26668 * commands/search.c (options): Likewise.
26669 * commands/sleep.c (options): Likewise.
26670 * commands/test.c (GRUB_MOD_INIT): Likewise.
26671 * commands/true.c (GRUB_MOD_INIT): Likewise.
26672 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
26673 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
26674 * lib/arg.c (help_options): Likewise.
e9bbb4e7 26675 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
26676 `$(XGETTEXT)'.
98a50553 26677 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 26678
0ad46fd7 266792009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 26680
ef3c2c3a 26681 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
26682 instead of specifying them explicit.
26683
7922f68b
RM
266842009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26685
26686 * NEWS: Add grub-probe support for GNU/Hurd.
26687
537ce47f
RM
266882009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26689
26690 * NEWS: gettext was added after 1.97.
26691
9b214e3a
RM
266922009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26693
26694 * util/mkisofs/msdos_partition.h: New file (based on
26695 include/grub/msdos_partition.h).
26696 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
26697 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
26698 (ld_options, main): Recognize --protective-msdos-label.
26699 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
26700 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
26701 (padblock_write): If `use_protective_msdos_label' is set, patch a
26702 protective DOS-style label in the output image.
26703
26704 * util/grub-mkrescue.in: Use --protective-msdos-label.
26705
e9309813
RM
267062009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26707
26708 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
26709 boot.
26710
0ae56929
RM
267112009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26712
26713 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
26714 variables.
26715 (ld_options, main): Recognize `--embedded-boot'.
26716 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
26717 declarations.
26718 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
26719 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
26720 (padblock_write): Likewise. Rewrite to support embedded boot image.
26721
26722 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
26723 for BIOS-based disk boot instead of only ElTorito.
26724
b15937b1
RM
267252009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26726
26727 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
26728 build (not needed for bootstrap).
26729
52cc3ce0
RM
267302009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26731
26732 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
26733 from i386-pc build (not needed for bootstrap).
26734 Rewrite a pair of strings.
26735
36f5ff04
RM
267362009-12-21 Robert Millan <rmh.grub@aybabtu.com>
26737
26738 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
26739
973c6c85 267402009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
26741
26742 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
26743
05d21547
AB
267442009-12-21 Andreas Born <futur.andy@googlemail.com>
26745
26746 * kern/env.c (grub_env_context_open): Mark exported variable for
26747 reexport.
26748
0175d51f
AB
267492009-12-21 Andreas Born <futur.andy@googlemail.com>
26750
26751 * kern/env.c (grub_env_export): Create nonexistent variables before
26752 exporting.
26753
7f39d92f 267542009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 26755
7f39d92f 26756 * include/grub/auth.h: Include `<grub/i18n.h>'.
26757 (GRUB_GET_PASSWORD): Gettextizze string.
26758 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
26759 menu_text.c.
26760 (grub_utf8_to_ucs4_alloc): Fix indentation.
26761 (grub_print_ucs4): Likewise.
26762 (grub_getstringwidth): Likewise.
26763 (print_message_indented): New declaration.
26764 * normal/auth.c: Include `<grub/i18n.h>'.
26765 (grub_auth_check_authentication): Gettexttize string.
26766 * normal/cmdline.c: Include `<grub/i18n.h>'.
26767 (grub_cmdline_get): Gettextizze.
26768 * normal/color.c: Include `<grub/i18n.h>'.
26769 (grub_parse_color_name_pair): Gettexttize strings.
26770 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
26771 string (use `print_message_indented').
26772 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
26773 `include/grub/normal.h'.
26774 (print_message_indented): Renamed to ...
26775 (grub_print_message_indented): ... this. Remove `static' qualifer (now
26776 used in normal/main.c).
26777 (print_message): Use `grub_print_message_indented' instead of
26778 `print_message_indented'.
26779 (print_timeout): Likewise.
26780 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
26781 (grub_normal_print_device_info): Gettexttize strings.
26782 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
26783
3041d898
VS
267842009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
26785
26786 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
26787 of arguments. Return number of tokens and not arguments. All users
26788 updated.
26789
de15bf8e
VS
267902009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
26791
26792 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
26793 non-MSDOS paritions.
26794
e0a6ca52
VS
267952009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
26796
26797 * include/grub/types.h (UNUSED): Removed since it conflicts with
26798 NetBSD headers. All users changed to direct __attribute__ ((unused)).
26799 Reported by Grégoire Sutre.
26800
b99518d1 268012009-12-19 Carles Pina i Estany <carles@pina.cat>
26802
26803 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
26804 (grub_print_ucs4_alloc): Likewise.
26805 (grub_getstringwidth): Likewise.
26806 * normal/main.c (grub_normal_init_page): Gettextize version string.
26807 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
26808 (getstringwidth): Renamed to ...
26809 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
26810 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
26811 (grub_print_ucs4): Remove `static' qualifer (now used in
26812 normal/main.c).
26813 * po/POTFILES: Add normal/main.c.
26814
bfd5e52b 268152009-12-19 Carles Pina i Estany <carles@pina.cat>
26816
26817 * normal/menu_text.c (STANDARD_MARGIN): New macro.
26818 (print_message_indented): Add `margin_left' and `margin_right'
26819 parameters.
26820 (print_message): Update `print_message_indented' calls. Adds '\n' to the
26821 strings.
26822 (print_timeout): Use `print_message_indented' to print the message.
26823 Deletes `second_stage' parameter.
26824 (run_menu): Update `print_timeout' calls.
26825
5a1ad2b9
VS
268262009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
26827
26828 Fix console palette on OpenFirmware.
26829
26830 * term/ieee1275/ofconsole.c (MAX): Removed.
26831 (colors): Redone based on VGA palette.
26832 (grub_ofconsole_setcolor): Discard brightness bit since only 8
26833 colors are supported.
26834 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
26835
b045f00a
VS
268362009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
26837
26838 Fix potential EfiEmu double prepare.
26839
26840 * efiemu/main.c (prepared): New variable
26841 (grub_efiemu_unload): Set prepare to '0'.
26842 (grub_efiemu_prepare): Return if already prepared. Set prepared.
26843
26844 set_virtual_address_map support.
26845
26846 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
26847 prototype.
26848 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
26849 prototype.
26850 (grub_efiemu_crc32): Likewise.
26851 (grub_efiemu_crc64): Likewise.
26852 (grub_efiemu_set_virtual_address_map): Likewise.
26853 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
26854 New definition.
26855 (grub_autoefi_set_virtual_address_map): Likewise.
26856 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
26857 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
26858 Restructure flow to accomodate it.
26859 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
26860 (grub_efiemu_crc): Recompute CRC32.
26861 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
26862 (efiemu_ptv_relocated): ... this. Made global. All users updated.
26863 * efiemu/symbols.c (relocated_handle): New variable.
26864 (grub_efiemu_free_syms): Free relocated_handle.
26865 (grub_efiemu_alloc_syms): Allocate relocated_handle.
26866 (grub_efiemu_write_sym_markers): New function.
26867 (grub_efiemu_set_virtual_address_map): Likewise.
26868
26869 Newer XNU parameters.
26870
26871 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
26872 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
26873 (grub_xnu_fill_devicetree): New prototype.
26874 (grub_xnu_heap_real_start): New variable.
26875 * loader/xnu.c (get_name_ptr): New function.
26876 (grub_xnu_load_driver): Fill namelen and name.
26877
26878 64-bit xnu support.
26879
26880 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
26881 and 'loader/macho64.c'.
26882 * conf/i386-pc.rmk: Likewise.
26883 * conf/x86_64-efi.rmk: Likewise.
26884 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
26885 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
26886 * include/grub/macho.h (grub_macho_segment64): New structure.
26887 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
26888 (grub_macho_size32): ... to this.
26889 (grub_macho32_get_entry_point): Renamed from ...
26890 (grub_macho_get_entry_point32): ... to this.
26891 (grub_macho_contains_macho64): New prototype.
26892 (grub_macho_size64): Likewise.
26893 (grub_macho_get_entry_point64): Likewise.
26894 (grub_macho32_load): Renamed from ...
26895 (grub_macho_load32): ... to this.
26896 (grub_macho32_filesize): Renamed from ...
26897 (grub_macho_filesize32): ... to this.
26898 (grub_macho32_readfile): Renamed from ...
26899 (grub_macho_readfile32): ... to this.
26900 (grub_macho_filesize64): New prototype.
26901 (grub_macho_readfile64): Likewise.
26902 (grub_macho_parse32): Likewise.
26903 (grub_macho_parse64): Likewise.
26904 * loader/macho.c: Split into ...
26905 * loader/machoXX.c: ... and this. Replace 32 with XX.
26906 * loader/macho32.c: New file.
26907 * loader/macho64.c: Likewise.
26908 * loader/xnu.c (grub_xnu_is_64bit): New variable.
26909 (grub_cmd_xnu_kernel): Make 32-bit only.
26910 (grub_cmd_xnu_kernel64): New function.
26911 (grub_xnu_load_driver): Support Mach-O 64.
26912 (grub_cmd_xnu_mkext): Likewise.
26913 * util/grub.d/30_os-prober.in (osx_entry): New function.
26914 Generate entries for 64-bit boot too.
26915
26916 Eliminate ad-hoc tree format in XNU and EfiEmu.
26917
26918 * efiemu/main.c (grub_efiemu_prepare): Update comment.
26919 * efiemu/pnvram.c: Rewritten to use environment variables.
26920 All users updated.
26921
26922 Inline utf16_to_utf8.
26923
26924 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
26925 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
26926 All users updated.
26927 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
26928
26929 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
26930 * commands/usbtest.c (grub_usb_get_string): ... move here.
26931 (usb_print_str): Fix error handling.
26932 * include/grub/usb.h (grub_usb_get_string): Remove.
26933
26934 UTF-8 to UTF-16 transformation.
26935
26936 * conf/common.rmk (pkglib_MODULES): Add charset.mod
26937 (charset_mod_SOURCES): New variable.
26938 (charset_mod_CFLAGS): Likewise.
26939 (charset_mod_LDFLAGS): Likewise.
26940 * include/grub/utf.h: New file.
26941 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
26942
26943 Support for device properties.
26944
26945 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
26946 (grub_xnu_devprop_device_header): Likewise.
26947 (grub_xnu_devprop_device_descriptor): Likewise.
26948 (grub_xnu_devprop_add_device): New prototype.
26949 (grub_xnu_devprop_remove_device): Likewise.
26950 (grub_xnu_devprop_remove_property): Likewise.
26951 (grub_xnu_devprop_add_property_utf8): Likewise.
26952 (grub_xnu_devprop_add_property_utf16): Likewise.
26953 (grub_cpu_xnu_init): Likewise.
26954 (grub_cpu_xnu_fini): Likewise.
26955 (grub_cpu_xnu_unload): Likewise.
26956 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
26957 (property_descriptor): Likewise.
26958 (devices): New variable.
26959 (grub_xnu_devprop_remove_property): New function.
26960 (grub_xnu_devprop_add_device): Likewise.
26961 (grub_xnu_devprop_remove_device): Likewise.
26962 (grub_xnu_devprop_add_property): Likewise.
26963 (grub_xnu_devprop_add_property_utf8): Likewise.
26964 (grub_xnu_devprop_add_property_utf16): Likewise.
26965 (hextoval): Likewise.
26966 (grub_cpu_xnu_fill_devprop): Likewise.
26967 (grub_cmd_devprop_load): Likewise.
26968 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
26969 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
26970 (cmd_devprop_load): New variable.
26971 (grub_cpu_xnu_init): New function.
26972 (grub_cpu_xnu_fini): Likewise.
26973 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
26974 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
26975 (grub_cmd_xnu_devtree): Likewise.
26976 (hextoval): New function.
26977 (unescape): Likewise.
26978 (grub_xnu_fill_devicetree): Likewise.
26979
26980 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
26981 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
26982
0945f181
VS
269832009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
26984
26985 Workaround for broken ATI VBE.
26986
26987 * video/i386/pc/vbe.c (last_set_mode): New variable.
26988 (grub_vbe_set_video_mode): Set 'last_set_mode'.
26989 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
26990 (grub_video_vbe_setup): Don't check for reserved flag.
26991
0ad46fd7 269922009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
26993
26994 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
26995 the `find' command.
26996
c179ebe4
VS
269972009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
26998
26999 UUID support for HFS.
27000
27001 * fs/hfs.c (grub_hfs_uuid): New function.
27002 (grub_hfs_fs): New value .uuid.
27003 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
27004
0ad46fd7 270052009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
27006
27007 Fix a segfault with parsing unknown long options.
27008
27009 * util/grub-mkrelpath.c (options): Zero terminate it.
27010
c4a3e41a
CPE
270112009-12-13 Carles Pina i Estany <carles@pina.cat>
27012
27013 * include/grub/misc.h (grub_puts): New declaration.
27014 (grub_puts_): Likewise.
a22008a6 27015 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
27016 (grub_puts_): Likewise.
27017
2e8a7602
RM
270182009-12-13 Robert Millan <rmh.grub@aybabtu.com>
27019
27020 * util/grub-probe.c (probe): Improve error message.
27021
b50b77b9
RM
270222009-12-13 Robert Millan <rmh.grub@aybabtu.com>
27023
27024 * loader/i386/multiboot_elfxx.c
27025 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
27026 initialization.
27027
270282009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
27029
27030 Relocator framework
27031
27032 * loader/i386/xnu_helper.S: Removed. All users updated.
27033 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
27034 (relocator_mod_SOURCES): New variable.
27035 (relocator_mod_CFLAGS): Likewise.
27036 (relocator_mod_LDFLAGS): Likewise.
27037 (relocator_mod_ASFLAGS): Likewise.
27038 * conf/x86_64.rmk: Likewise.
27039 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
27040 (grub_multiboot_payload_entry_offset): Likewise.
27041 (grub_multiboot_forward_relocator): Likewise.
27042 (grub_multiboot_forward_relocator_end): Likewise.
27043 (grub_multiboot_backward_relocator): Likewise.
27044 (grub_multiboot_backward_relocator_end): Likewise.
27045 (grub_multiboot_payload_eip): New variable.
27046 (grub_multiboot_payload_orig): Likewise.
27047 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
27048 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
27049 * include/grub/i386/memory.h
27050 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
27051 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
27052 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
27053 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
27054 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
27055 * include/grub/i386/relocator.h: New file.
27056 * include/grub/x86_64/relocator.h: Likewise.
27057 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
27058 (XNU_RELOCATOR): New macro.
27059 (grub_xnu_launcher_start): Remove.
27060 (grub_xnu_launcher_end): Likewise.
27061 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
27062 (grub_xnu_heap_real_start): Remove.
27063 (grub_xnu_heap_start): Change to void *. All users updated.
27064 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
27065 * lib/i386/relocator.c: New file.
27066 * lib/i386/relocator_asm.S: Likewise.
27067 * lib/i386/relocator_backward.S: Likewise.
27068 * lib/mips/relocator.c: Likewise.
27069 * lib/mips/relocator_asm.S: Likewise.
27070 * lib/relocator.c: Likewise.
27071 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
27072 (entry): Removed.
27073 (playground): Likewise.
27074 (grub_multiboot_payload_orig): New variable.
27075 (grub_multiboot_payload_dest): Likewise.
27076 (grub_multiboot_payload_size): Likewise.
27077 (grub_multiboot_payload_eip): Likewise.
27078 (grub_multiboot_payload_esp): Likewise.
27079 (grub_multiboot_boot): Use grub_relocator32_boot.
27080 (grub_multiboot_unload): Free relocators.
27081 (grub_multiboot): Setup stack. Use relocators.
27082 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
27083 (grub_multiboot_load_elfXX): Use relocators.
27084 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
27085 (grub_multiboot_payload_size): Likewise.
27086 (grub_multiboot_payload_dest): Likewise.
27087 (grub_multiboot_payload_entry_offset): Likewise.
27088 (grub_multiboot_forward_relocator): Likewise.
27089 (grub_multiboot_backward_relocator): Likewise.
27090 (grub_multiboot_real_boot): Likewise.
27091 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
27092 (grub_xnu_entry_point): Likewise.
27093 (grub_xnu_arg1): Likewise.
27094 (grub_xnu_stack): Likewise.
27095 (grub_xnu_launch): Removed.
27096 (grub_xnu_boot_resume): New function.
27097 (grub_xnu_boot): Use relocators.
27098 * loader/i386/xnu_helper.S: Removed.
27099 * loader/xnu.c (grub_xnu_heap_start): New variable.
27100 (grub_xnu_heap_size): Likewise.
27101 (grub_xnu_heap_malloc): Use relocators.
27102 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
27103
29eb90c6
VS
271042009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
27105
27106 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
27107 anything.
27108
31027430
CPE
271092009-12-13 Carles Pina i Estany <carles@pina.cat>
27110
27111 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
27112 GRUB_ERR_NONE before calling grub_env_set.
27113
dc0c71d9
RM
271142009-12-12 Robert Millan <rmh@aybabtu.com>
27115
27116 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
27117 * genmk.rb (video): New variable.
27118 (CLEANFILES, VIDEOFILES): Add #{video}.
27119 (#{video}): New target rule.
27120 * genvideolist.sh: New file.
27121 * Makefile.in (pkglib_DATA): Add video.lst.
27122 (video.lst): New target rule.
27123 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
27124 `video.lst'.
27125 * util/grub.d/30_os-prober.in: Replace `vbe' with
27126 ${GRUB_VIDEO_BACKEND}.
27127
2a4bfcf0
RM
271282009-12-11 Robert Millan <rmh.grub@aybabtu.com>
27129
27130 * THANKS: Add David Miller.
27131
2a3aa4d5
RM
271322009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
27133
27134 libpciaccess support.
27135
27136 * Makefile.in (LIBPCIACCESS): New variable.
27137 (enable_grub_emu_pci): Likewise.
27138 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
27139 util/pci.c and commands/lspci.c.
27140 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
27141 * configure.ac (grub-emu-pci): New option.
27142 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
27143 (grub_pci_device_unmap_range): Likewise.
27144 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
27145 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
27146 (grub_pci_address_t) [!GRUB_UTIL]: New type.
27147 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
27148 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
27149 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
27150 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
27151 * include/grub/pciutils.h: New file.
27152 * util/pci.c: Likewise.
27153
0ad46fd7 271542009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
27155
27156 * util/misc.c: Don't include <errno.h> twice.
27157
0ad46fd7 271582009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
27159
27160 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
27161 name in an error message.
27162 (grub_biosdisk_rw): Likewise.
27163
2e59983c
VS
271642009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
27165
27166 Eliminate NTFS 4Gib barrier.
27167
27168 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
27169 (read_run_data): Likewise.
27170 (grub_ntfs_read_run_list): Likewise.
27171 (grub_ntfs_read_block): Likewise.
27172 (grub_ntfs_iterate_dir): Likewise.
27173 (read_mft): Likewise.
27174 (read_data): Likewise.
27175 Use COM_LOG_LEN.
27176 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
27177 to avoid 64-bit division
27178 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
27179 (grub_ntfs_rlst): Use grub_disk_addr_t.
27180
71ee178a
VS
271812009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
27182
27183 Eliminate grub-fstest 4Gib barrier.
27184
27185 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
27186 (read_file): Fix error reporting.
27187
2520d4b8
VS
271882009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
27189
27190 Eliminate hexdump 4Gib barrier.
27191
27192 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
27193 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
27194
e1f27065
VS
271952009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
27196
27197 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
27198 Fixes amarsh bug.
27199
1a0f7f45
RM
272002009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
27201
27202 Remove miscellaneous files in distclean target.
27203
27204 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
27205
c631d9fb
CW
272062009-12-09 Colin Watson <cjwatson@ubuntu.com>
27207
27208 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
27209 if they're already set. This resolves the conflict between my
27210 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
27211 fixing the --grub-probe option again.
27212 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
27213 change on 2009-10-06, so that we now once again source
27214 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
27215
7c7b6106
RM
272162009-12-08 Robert Millan <rmh.grub@aybabtu.com>
27217
27218 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
27219 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
27220 `util/devicemap.c'.
27221
e3069ec1
CPE
272222009-12-08 Carles Pina i Estany <carles@pina.cat>
27223
27224 * include/grub/misc.h (grub_printf_): New declaration.
27225 * kern/misc.c (grub_printf_): New definition.
27226 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
27227 instead of `grub_printf' and `_'.
27228 * normal/menu_entry.c (store_completion): Likewise.
27229 (run): Likewise.
27230 (grub_menu_entry_run): Likewise.
27231 * normal/menu_text.c (grub_wait_after_message): Likewise.
27232 (notify_booting): Likewise.
27233 (notify_fallback): Likewise.
27234 (notify_execution_failure): Likewise.
27235
d6ceebf1
CW
272362009-12-07 Colin Watson <cjwatson@ubuntu.com>
27237
27238 * configure.ac: Check for vasprintf.
27239 * util/misc.c (asprintf): Move allocation from here ...
27240 (vasprintf): ... to here. New function.
27241 (xasprintf): New function.
27242 * include/grub/util/misc.h (vasprintf, xasprintf): Add
27243 prototypes.
27244 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
27245 * util/grub-mkfont.c (write_font): Likewise.
27246 * util/grub-probe.c (probe): Likewise.
27247 * util/hostdisk.c (make_device_name): Likewise.
27248
de6daa8b
DM
272492009-12-06 David S. Miller <davem@sunset.davemloft.net>
27250
27251 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
27252 anything even prefixed with 'cdrom' as a cdrom.
27253
0ad46fd7 272542009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
27255
27256 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
27257 mount points.
27258
98d3dc02
CPE
272592009-12-05 Carles Pina i Estany <carles@pina.cat>
27260
27261 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
27262 grub_gettext_msg_list.
27263 (grub_gettext_gettranslation_from_position): Return const char *
27264 and not char *.
a2c1332b 27265 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
27266 returns from the list if existing there.
27267 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
27268 (grub_gettext_delete_list): Delete the list.
27269 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
27270 lang environment variable is changed.
27271 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
27272
b283f108
VS
272732009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
27274
27275 Rename kernel.mod to kernel.img.
27276
27277 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
27278 (kernel_mod_EXPORTS): Rename to ...
27279 (kernel_img_EXPORTS): ... this.
27280 (kernel_mod_SOURCES): Rename to ...
27281 (kernel_img_SOURCES): ... this.
27282 (kernel_mod_HEADERS): Rename to ...
27283 (kernel_img_HEADERS): ... this. All users updated.
27284 (kernel_mod_CFLAGS): Rename to ...
27285 (kernel_img_CFLAGS): ... this.
27286 (kernel_mod_ASFLAGS): Rename to ...
27287 (kernel_img_ASFLAGS): ... this.
27288 (kernel_mod_LDFLAGS): Rename to ...
27289 (kernel_img_LDFLAGS): ... this.
27290 * conf/x86_64-efi.rmk: Likewise.
27291 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
27292 (read_kernel_image): ... this. All users updated.
27293 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
27294
69055f8a
CPE
272952009-12-05 Carles Pina i Estany <carles@pina.cat>
27296
27297 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
27298 (print_spaces): New function.
27299 (grub_print_ucs4): New function.
27300 (getstringwidth): New function.
27301 (print_message_indented): New function.
27302 (print_message): Gettexttize strings using print_message_indented.
27303 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
27304 width.
27305 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 27306 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
27307 Gettextize.
27308 * normal/menu_entry.c (store_completion): Cleanup the gettextized
27309 string.
27310 (run): Likewise.
27311 (grub_menu_entry_run): Likewise.
27312 * PO/POTFILES: Add normal/menu_entry.c.
27313
f616f51c
VS
273142009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
27315
27316 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
27317
57bbe3be
CPE
273182009-12-05 Carles Pina i Estany <carles@pina.cat>
27319
27320 * util/grub-install.in: Install gettext .mo files.
27321 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
27322
013d67a1
CPE
273232009-12-05 Carles Pina i Estany <carles@pina.cat>
27324
27325 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
27326 grub_dprintf.
27327
fb954db0
RM
273282009-12-05 Robert Millan <rmh.grub@aybabtu.com>
27329
27330 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
27331 non-firmware-dependant one in realmode.S takes precedence.
27332
6b8474f8
RM
273332009-12-04 Robert Millan <rmh.grub@aybabtu.com>
27334
27335 * commands/halt.c: Replace misc arch-specific headers with
27336 `<grub/misc.h>'.
27337 * commands/reboot.c: Likewise.
27338 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
27339 `<grub/misc.h>'.
27340 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
27341 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
27342 (kernel_img_SOURCES): ... to here.
27343
27344 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
27345 * include/grub/i386/pc/init.h: Likewise.
27346 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27347 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27348
27349 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
27350
27351 * include/grub/i386/halt.h: Remove.
27352 * include/grub/i386/reboot.h: Likewise.
27353
27354 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
27355
4b2e6ca2
DM
273562009-12-03 David S. Miller <davem@sunset.davemloft.net>
27357
27358 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
27359 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
27360 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
27361 "progname.h"
27362 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
27363 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27364 (usage): Add missing comma in printf.
27365
5239348f
RM
273662009-12-02 Robert Millan <rmh.grub@aybabtu.com>
27367
27368 Use the same reboot approach on i386 coreboot and qemu as we do on
27369 BIOS.
27370
27371 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
27372 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
27373 * kern/i386/reboot.c: Remove.
27374 * include/grub/i386/reboot.h (grub_reboot): Export function.
27375 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
27376 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
27377 0xf000:0xfff0 instead of 0xffff:0x0000.
27378 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
27379 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
27380
ef34cbd4
RM
273812009-11-30 Robert Millan <rmh.grub@aybabtu.com>
27382
27383 Fix $srcdir != $objdir build.
27384
27385 * Makefile.in (po/%.po): Rewrite as ...
27386 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
27387
dc9837ea
ST
273882009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
27389
27390 Fix GNU/Hurd grub-install crash.
27391 * util/grub-probe.c (probe): Try to access `path' only when it is not
27392 NULL.
27393
2f857f98
VS
273942009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
27395
27396 Correct module naming.
27397
27398 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
27399 (GRUB_MOD_INIT(efi_uga)): ... to this
27400 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
27401 (GRUB_MOD_FINI(efi_uga)): ... to this
27402 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
27403 (GRUB_MOD_INIT(efi_gop)): ... to this
27404 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
27405 (GRUB_MOD_FINI(efi_gop)): ... to this
27406
c5448046
RM
274072009-11-28 Robert Millan <rmh.grub@aybabtu.com>
27408
27409 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
27410 translatable.
27411 (usage): Translate `arg' strings using gettext().
27412 Thanks to Jordi Mallach for the suggestion.
27413
c85184ad
VS
274142009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
27415
27416 GOP support. Based on patch from Bean
27417 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
27418
27419 * video/efi_gop.c: New file.
27420 * include/grub/efi/graphics_output.h: Likewise.
27421 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
27422 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
27423 variables.
27424 * conf/x86_64-efi.rmk: Likewise.
27425
8a4c48d8
VS
274262009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
27427
27428 Rename efi_fb to efi_uga.
27429
27430 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
27431 'efi_uga.mod'.
27432 (efi_fb_mod_SOURCES): Rename this ...
27433 (efi_uga_mod_SOURCES): ... to this.
27434 (efi_fb_mod_CFLAGS): Rename this ...
27435 (efi_uga_mod_CFLAGS): ... to this.
27436 (efi_fb_mod_LDFLAGS): Rename this ...
27437 (efi_uga_mod_LDFLAGS): ... to this.
27438 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
27439 'efi_uga.mod'.
27440 (efi_fb_mod_SOURCES): Rename this ...
27441 (efi_uga_mod_SOURCES): ... to this.
27442 (efi_fb_mod_CFLAGS): Rename this ...
27443 (efi_uga_mod_CFLAGS): ... to this.
27444 (efi_fb_mod_LDFLAGS): Rename this ...
27445 (efi_uga_mod_LDFLAGS): ... to this.
27446 * video/efi_fb.c: Move this ...
27447 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
27448
fb6c1a7b
RM
274492009-11-27 Robert Millan <rmh.grub@aybabtu.com>
27450
27451 * po/README: New file. Explain our PO file workflow.
27452
3bc7896c
RM
274532009-11-27 Robert Millan <rmh.grub@aybabtu.com>
27454
27455 * po/ChangeLog: Remove. Move relevant entries back to ...
27456 * ChangeLog: ... here.
27457 * po/ca.po: Remove (now handled by TLP).
27458 * po/id.po: Likewise.
27459 * po/zh_CN.po: Likewise.
27460 * Makefile.in (LINGUAS): Initialize in a way that supports
27461 empty set.
27462
9ed4841d
RM
274632009-11-27 Robert Millan <rmh.grub@aybabtu.com>
27464
27465 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
27466 reliing on po/LINGUAS.
27467 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
27468 (po/%.po): ... this.
27469
0ad46fd7 274702009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
27471
27472 * util/i386/efi/grub-mkimage.c: Include "progname.h".
27473 (main): Use `program_name' instead of nonexistent `progname'.
27474
e30dd392
FZ
274752009-11-26 Felix Zielcke <fzielcke@z-51.de>
27476
27477 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
27478 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
27479
7656de4f
RM
274802009-11-26 Robert Millan <rmh.grub@aybabtu.com>
27481
27482 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
27483 commit.
27484 * conf/i386-efi.rmk: Likewise.
27485 * conf/i386-ieee1275.rmk: Likewise.
27486 * conf/powerpc-ieee1275.rmk: Likewise.
27487 * conf/sparc64-ieee1275.rmk: Likewise.
27488 * conf/x86_64-efi.rmk: Likewise.
27489
db77c4d4
FZ
274902009-11-26 Felix Zielcke <fzielcke@z-51.de>
27491
27492 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
27493
a755bb04
FZ
274942009-11-26 Felix Zielcke <fzielcke@z-51.de>
27495
27496 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
27497
8a4c07fd
RM
274982009-11-26 Robert Millan <rmh.grub@aybabtu.com>
27499
27500 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
27501 (grub_mkdevicemap_SOURCES): New variable.
27502 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
27503 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
27504 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
27505 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
27506 (grub_mkdevicemap_SOURCES): Remove.
27507 * conf/i386-efi.rmk: Likewise.
27508 * conf/i386-ieee1275.rmk: Likewise.
27509 * conf/i386-pc.rmk: Likewise.
27510 * conf/powerpc-ieee1275.rmk: Likewise.
27511 * conf/sparc64-ieee1275.rmk: Likewise.
27512 * conf/x86_64-efi.rmk: Likewise.
27513 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
27514 (usage): Fix strings to use `program_name'.
27515 (main): Initialize gettext.
27516 * util/grub-editenv.c: Likewise.
27517 * util/grub-emu.c: Likewise.
27518 * util/grub-fstest.c: Likewise.
27519 * util/grub-mkdevicemap.c: Likewise.
27520 * util/grub-mkfont.c: Likewise.
27521 * util/grub-mkrelpath.c: Likewise.
27522 * util/grub-pe2elf.c: Likewise.
27523 * util/grub-probe.c: Likewise.
27524 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
27525 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
27526 * util/sparc64/ieee1275/grub-setup.c: Likewise.
27527
27528 * util/misc.c: Include `"progname.h"'.
27529 (progname): Remove variable.
27530 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
27531
6f61ed55
FZ
275322009-11-25 Felix Zielcke <fzielcke@z-51.de>
27533
27534 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
27535 printf and print a newline after the menuentry header line.
27536 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
27537
f022876b
FZ
275382009-11-25 Felix Zielcke <fzielcke@z-51.de>
27539
27540 autoconf >= 2.60 support $(localedir).
27541
27542 * INSTALL: Note that autoconf 2.60 is required.
27543 * configure.ac (AC_PREREQ): Bump to 2.60.
27544 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
27545 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
27546
6717926e
YB
275472009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
27548
27549 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
27550 aclocal is run.
27551
08806a54
RM
275522009-11-25 Robert Millan <rmh.grub@aybabtu.com>
27553
27554 * normal/main.c (grub_normal_read_line): Fix off-by-one
27555 buffer overflow.
27556
13b33fba
RM
275572009-11-25 Robert Millan <rmh.grub@aybabtu.com>
27558
27559 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
27560 "parser.grub" in grub_command_execute() call.
27561
4a8572e9
CPE
275622009-11-24 Carles Pina i Estany <carles@pina.cat>
27563
27564 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
27565 * conf/i386-efi.rmk: Likewise.
27566 * conf/i386-ieee1275.rmk: Likewise.
27567 * conf/i386-pc.rmk: Likewise.
27568 * conf/powerpc-ieee1275.rmk: Likewise.
27569 * conf/sparc64-ieee1275.rmk: Likewise.
27570 * conf/x86_64-efi.rmk: Likewise.
27571 * gettext/gettex.c: Include <grub/i18n.h>.
27572 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
27573 here ...
27574 * include/grub/i18n.h: ... to here
27575 * include/grub/i18n.h: ... to here.
27576 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 27577 (grub_gettext_dummy): Move above user.
4a8572e9 27578
bee48093
FZ
275792009-11-24 Felix Zielcke <fzielcke@z-51.de>
27580
27581 * util/Makefile.in (install-local): Convert a `for' into a normal
27582 shell expansion.
27583
a031e91c
RM
275842009-11-24 Robert Millan <rmh.grub@aybabtu.com>
27585
27586 * autogen.sh: Add automake call.
27587 * config.guess: Remove.
27588 * config.sub: Likewise.
27589 * install-sh: Likewise.
27590
26bec39d
FZ
275912009-11-24 Felix Zielcke <fzielcke@z-51.de>
27592
27593 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
27594
8e2532fd
FZ
275952009-11-24 Felix Zielcke <fzielcke@z-51.de>
27596
27597 * util/Makefile.in (install-local): Convert a make `$(foreach)'
27598 function to a normal shell `for'.
27599
fefa1b7d
FZ
276002009-11-24 Felix Zielcke <fzielcke@z-51.de>
27601
27602 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
27603
4501250b
FZ
276042009-11-24 Felix Zielcke <fzielcke@z-51.de>
27605
27606 * util/grub-mkrelpath.c: New file.
27607 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
27608 (grub_mkrelpath_SOURCES): New variable.
27609 * include/grub/util/misc.h: New function prototype.
27610 * util/misc.c (make_system_path_relative_to_its_root): New function.
27611
27612 * util/grub-mkconfig_lib.in (bindir): New variable.
27613 (grub_mkrelpath): Likewise.
27614 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
27615
27616 * util/probe.c (probe): Make the file path relative to its root.
27617 Change a info message to use the GRUB path. Enable again the
27618 check if we can read the file with GRUB facilities.
27619
27620 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
27621 to its root.
27622
11d9778b
FZ
276232009-11-24 Felix Zielcke <fzielcke@z-51.de>
27624
27625 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
27626 platform.
27627
4465287d
FZ
276282009-11-24 Felix Zielcke <fzielcke@z-51.de>
27629
27630 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
27631 strncmp().
27632
62b47f22
FZ
276332009-11-24 Felix Zielcke <fzielcke@z-51.de>
27634
27635 * util/getroot.c (grub_util_is_dmraid): New function.
27636 (grub_util_get_dev_abstraction): Treat dmraid and multipath
27637 devices as normal ones, not as LVM.
27638
1eafb9b9 276392009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
27640
27641 * conf/common.rmk: Add grub-gettext_lib target and updates
27642 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
27643 LDFLAGS.
27644 * gettext/gettext.c: New file. (Reads mo files).
27645 * include/grub/file.h (grub_file_pread): New prototype.
27646 * include/grub/i18n.h (_): New prototype.
27647 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
27648 prototypes.
27649 * kern/misc.c (grub_gettext_dummy): New function.
27650 * normal/menu_text.c: Include <grub/i18n.h>.
27651 * normal/menu_text.c (print_timeout): Gettexttize string.
27652 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
27653 * po/POTFILES: Add `normal/menu_text.c'.
27654 * po/ca.po: Add new translations.
c3ea6bd4
CPE
27655 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
27656 gettext module and defines locale_dir and lang in grub.cfg.
27657 * NEWS: Add gettext support.
27658
0fdb2568
RM
276592009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27660
27661 * util/hostdisk.c: Include `<grub/i18n.h>'.
27662 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
27663 (make_device_name): Rewrite using asprintf.
27664 (convert_system_partition_to_system_disk): Replace 0 with NULL.
27665 (find_system_device): If a device is not found, generate one just
27666 by reusing the OS path name.
27667 (read_device_map): Make it permissible for device.map not to exist.
27668
f515aa62
RM
276692009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27670
27671 * script/sh/execute.c: Move from here ...
27672 * script/execute.c: ... to here. Update all users.
27673 * script/sh/function.c: Move from here ...
27674 * script/function.c: ... to here. Update all users.
27675 * script/sh/lexer.c: Move from here ...
27676 * script/lexer.c: ... to here. Update all users.
27677 * script/sh/main.c: Move from here ...
27678 * script/main.c: ... to here. Update all users.
27679 * script/sh/parser.y: Move from here ...
27680 * script/parser.y: ... to here. Update all users.
27681 * script/sh/script.c: Move from here ...
27682 * script/script.c: ... to here. Update all users.
27683
f84b481b
RM
276842009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27685
27686 * configure.ac: Detect all `emu' platforms. Define
27687 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
27688 --enable-grub-emu logic. Disable include/grub/machine
27689 symlink on `emu' platforms.
27690
27691 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
27692 * gensymlist.sh.in: Likewise.
27693
27694 * include/grub/i386/coreboot/machine.h: Remove file.
27695 * include/grub/i386/efi/machine.h: Likewise.
27696 * include/grub/i386/ieee1275/machine.h: Likewise.
27697 * include/grub/i386/pc/machine.h: Likewise.
27698 * include/grub/i386/qemu/machine.h: Likewise.
27699 * include/grub/powerpc/ieee1275/machine.h: Likewise.
27700 * include/grub/sparc64/ieee1275/machine.h: Likewise.
27701 * include/grub/x86_64/efi/machine.h: Likewise.
27702
27703 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
27704 * commands/halt.c: Likewise.
27705 * commands/reboot.c: Likewise.
27706 * include/grub/autoefi.h: Likewise.
27707 * include/grub/i386/at_keyboard.h: Likewise.
27708 * include/grub/i386/kernel.h: Likewise.
27709 * include/grub/i386/loader.h: Likewise.
27710 * include/grub/i386/pc/memory.h: Likewise.
27711 * kern/dl.c: Likewise.
27712 * kern/i386/coreboot/init.c: Likewise.
27713 * loader/i386/bsd.c: Likewise.
27714 * loader/i386/linux.c: Likewise.
27715 * loader/multiboot_loader.c: Likewise.
27716 * term/i386/pc/serial.c: Likewise.
27717 * term/usb_keyboard.c: Likewise.
27718
27719 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
27720 `<grub/machine/machine.h>'
27721 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
27722 * util/misc.c: Remove `<grub/machine/machine.h>' and
27723 `<grub/machine/time.h>'.
27724
27725 * Makefile.in (enable_grub_emu): Remove variable.
27726 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
27727
27728 * conf/any-emu.rmk: New file.
27729 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
27730 (grub_emu_init.c): Move from here ...
27731 * conf/any-emu.rmk: ... to here.
27732
27733 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
27734 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
27735 * conf/any-emu.rmk: ... to here.
27736
4efeab03
RM
277372009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27738
27739 * include/grub/parser.h (grub_parser_register): Document need
27740 of `name' parameter.
27741 * normal/main.c (grub_normal_read_line): Simplify prompt string.
27742 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
27743 "sh" to "grub".
27744
ea1dd8bf
RM
277452009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27746
27747 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
27748 `$(XGETTEXT)'.
27749 * include/grub/i18n.h (N_): New macro.
27750 * util/mkisofs/mkisofs.h: Likewise.
27751 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
27752 around N_().
27753 (usage): Use gettext() to translate help strings when printing them.
27754
0c140626
RM
277552009-11-23 Robert Millan <rmh.grub@aybabtu.com>
27756
27757 Based on patch from Bean
27758 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
27759
27760 * video/efi_fb.c: New file.
27761 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
27762 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
27763 variables.
27764 * conf/x86_64-efi.rmk: Likewise.
27765
87d58298
RM
277662009-11-22 Robert Millan <rmh.grub@aybabtu.com>
27767
27768 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
27769 * util/i386/pc/grub-setup.c: Likewise.
27770
994cc3a3
ST
277712009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
27772
27773 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
27774 <hurd/fs.h>
27775 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
27776 file_get_storage_info to implement grub_guess_root_device.
27777
26a61d6a
FZ
277782009-11-21 Felix Zielcke <fzielcke@z-51.de>
27779
27780 * Makefile.in (target): Use make's builtin $(shell) function
27781 instead of calling directly $(SHELL) to create the locale directories,
27782 inside the $(foreach) function.
27783
74ff1dd5
FZ
277842009-11-21 Felix Zielcke <fzielcke@z-51.de>
27785
27786 * util/grub-mkrescue.in: Print an error and usage if output option
27787 has not been given.
27788
0b787d0e
FZ
277892009-11-21 Felix Zielcke <fzielcke@z-51.de>
27790
27791 Patch from Loïc Minier <loic.minier@ubuntu.com>.
27792 * util/grub.d/30_os-prober.in: Cope with Linux entries where
27793 root and /boot are on different devices.
27794
1164b270
RM
277952009-11-21 Robert Millan <rmh.grub@aybabtu.com>
27796
27797 Fix build for srcdir != objdir.
27798
27799 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
27800 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
27801 $(srcdir).
27802 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
27803 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
27804 reference for input.
27805
13774a2f
RM
278062009-11-21 Robert Millan <rmh.grub@aybabtu.com>
27807
27808 * util/grub-mkrescue.in: Use source directory direcly (without copiing
27809 or hardlinking it). Remove -J option, Joliet is not compatible with
27810 multiple source directories.
27811
efda854e
RM
278122009-11-21 Carles Pina i Estany <carles@pina.cat>
278132009-11-21 Robert Millan <rmh.grub@aybabtu.com>
27814
27815 * util/grub-mkrescue.in: Recognize `--override-directory' option.
27816 (process_input_dir): New function. Process an arbitrary input
27817 directory.
27818 Misc adjustments to support both "override mode" and system-wide mode.
27819
6c09890c
FZ
278202009-11-20 Felix Zielcke <fzielcke@z-51.de>
27821
27822 * configure.ac (UNIFONT_BDF): Rename to ...
27823 (FONT_SOURCE): ... this. Update all users.
27824
a797824f
FZ
278252009-11-20 Felix Zielcke <fzielcke@z-51.de>
27826
27827 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
27828 to the list of unifont files to look for.
27829
cd4f42b0
RM
278302009-11-19 Robert Millan <rmh.grub@aybabtu.com>
27831
27832 Patch from Joe Auricchio <jauricchio@gmail.com>
27833 * commands/minicmd.c (grub_mini_cmd_clear): New function.
27834 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
27835 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
27836
393c783d
FZ
278372009-11-19 Felix Zielcke <fzielcke@z-51.de>
27838
27839 * Makefile.in (install-local): Add a missing backslash.
27840
b2f1e327
FZ
278412009-11-19 Felix Zielcke <fzielcke@z-51.de>
27842
27843 * include/grub/x86_64/io.h: New file.
27844
f577f7a0
RM
278452009-11-19 Robert Millan <rmh.grub@aybabtu.com>
27846
27847 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
27848 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
27849 Include `"progname.h"'.
27850 (main): Initialize gettext.
27851 * util/i386/pc/grub-setup.c: Gettexttize.
27852 * util/i386/pc/grub-mkimage.c: Likewise.
27853
27854 * Makefile.in (po/*.po): Redefine as ...
27855 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
27856
3bc7896c
RM
27857 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
27858
c37943b6
RM
278592009-11-19 Robert Millan <rmh.grub@aybabtu.com>
27860
27861 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
27862 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
27863 (program_name): Remove.
27864 (main): Initialize gettext support.
6323f705
RM
27865 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
27866 Include `<libintl.h>'.
27867 (_): New macro.
c37943b6
RM
27868
27869 * util/mkisofs/eltorito.c: Gettexttize.
27870 * util/mkisofs/joliet.c: Likewise.
27871 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
27872 * util/mkisofs/multi.c: Likewise.
27873 * util/mkisofs/rock.c: Likewise.
27874 * util/mkisofs/tree.c: Likewise.
27875 * util/mkisofs/write.c: Likewise.
27876
3bc7896c
RM
27877 * po/POTFILES: Update with new files.
27878
5ce77c6e
RM
278792009-11-18 Robert Millan <rmh.grub@aybabtu.com>
27880
27881 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
27882 * util/mkisofs/iso9660.h: Likewise.
27883 * util/mkisofs/joliet.c: Likewise.
27884 * util/mkisofs/mkisofs.c: Likewise.
27885 * util/mkisofs/mkisofs.h: Likewise.
27886 * util/mkisofs/rock.c: Likewise.
27887 * util/mkisofs/tree.c: Likewise.
27888 * util/mkisofs/write.c: Likewise.
27889
27890 * util/mkisofs/eltorito.c (rcsid): Remove.
27891 * util/mkisofs/hash.c: Likewise.
27892 * util/mkisofs/joliet.c: Likewise.
27893 * util/mkisofs/name.c: Likewise.
27894 * util/mkisofs/rock.c: Likewise.
27895 * util/mkisofs/tree.c: Likewise.
27896 * util/mkisofs/write.c: Likewise.
27897
1dabbc77
RM
278982009-11-18 Robert Millan <rmh.grub@aybabtu.com>
27899
27900 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
27901 instead of static allocation.
27902 * util/mkisofs/match.h: Likewise.
27903
633877cb
RM
279042009-11-18 Robert Millan <rmh.grub@aybabtu.com>
27905
3bc7896c
RM
27906 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
27907 and `util/grub.d/10_linux.in'.
633877cb
RM
27908 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
27909 translatable Shell files.
27910
af1c0c85
RM
279112009-11-18 Robert Millan <rmh.grub@aybabtu.com>
27912
27913 * Makefile.in ($(srcdir)/aclocal.m4): New target.
27914
769ae37b
RM
279152009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27916
27917 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 27918 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
27919 * util/grub.d/10_kfreebsd.in (bindir): New variable.
27920 Add gettext initialization.
27921 (kfreebsd_entry): Make menuentry output translatable.
27922
279232009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27924
27925 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
27926 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
27927 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
27928 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
27929 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 27930 * po/LINGUAS: New file.
769ae37b
RM
27931
279322009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27933
27934 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
27935 other things).
27936 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
27937 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
27938 bindtextdomain() calls for gettext initialization.
27939
279402009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27941
27942 * gnulib/progname.c: New file (imported from Gnulib).
27943 * gnulib/progname.h: Likewise.
27944 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
27945 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
27946 (usage): Replace `progname' with `program_name'.
27947 (main): Use set_program_name() for program name initialization.
27948
279492009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27950
27951 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
27952 from here ...
27953 * Makefile.in (CPPFLAGS): ... to here.
27954
279552009-11-16 Robert Millan <rmh.grub@aybabtu.com>
27956
27957 * aclocal.m4: Move from here ...
27958 * acinclude.m4: ... to here.
27959 * autogen.sh: Add call to `aclocal'.
27960 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
27961
279622009-11-16 Robert Millan <rmh.grub@aybabtu.com>
27963
27964 * Makefile.in (CLEANFILES): Add `po/*.mo'.
27965 (LINGUAS): New variable.
27966 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
27967 (install-local): Install MO files.
27968 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
27969 * include/grub/i18n.h: New file.
3bc7896c
RM
27970 * po/POTFILES: New file.
27971 * po/ca.po: New file.
769ae37b
RM
27972 * util/grub.d/10_linux.in (bindir): New variable.
27973 Add gettext initialization.
27974 (linux_entry): Make menuentry output translatable.
27975 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
27976 (usage): Make --help output translatable.
27977 (main): Initialize gettext.
27978
02c0a6ad
RM
279792009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27980
27981 * import_gcry.py: New file (written by Vladimir with minor
27982 adjustments).
27983 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
27984 ciphers.
27985 * INSTALL: Document that Python is required for bootstrap.
27986
279872009-11-17 Robert Millan <rmh.grub@aybabtu.com>
27988
27989 Import ciphers from libgcrypt 1.4.4.
27990
27991 * lib/libgcrypt/cipher/ChangeLog
27992 * lib/libgcrypt/cipher/ac.c
27993 * lib/libgcrypt/cipher/arcfour.c
27994 * lib/libgcrypt/cipher/bithelp.h
27995 * lib/libgcrypt/cipher/blowfish.c
27996 * lib/libgcrypt/cipher/camellia-glue.c
27997 * lib/libgcrypt/cipher/camellia.c
27998 * lib/libgcrypt/cipher/camellia.h
27999 * lib/libgcrypt/cipher/cast5.c
28000 * lib/libgcrypt/cipher/cipher.c
28001 * lib/libgcrypt/cipher/crc.c
28002 * lib/libgcrypt/cipher/des.c
28003 * lib/libgcrypt/cipher/dsa.c
28004 * lib/libgcrypt/cipher/ecc.c
28005 * lib/libgcrypt/cipher/elgamal.c
28006 * lib/libgcrypt/cipher/hash-common.c
28007 * lib/libgcrypt/cipher/hash-common.h
28008 * lib/libgcrypt/cipher/hmac-tests.c
28009 * lib/libgcrypt/cipher/md.c
28010 * lib/libgcrypt/cipher/md4.c
28011 * lib/libgcrypt/cipher/md5.c
28012 * lib/libgcrypt/cipher/primegen.c
28013 * lib/libgcrypt/cipher/pubkey.c
28014 * lib/libgcrypt/cipher/rfc2268.c
28015 * lib/libgcrypt/cipher/rijndael-tables.h
28016 * lib/libgcrypt/cipher/rijndael.c
28017 * lib/libgcrypt/cipher/rmd.h
28018 * lib/libgcrypt/cipher/rmd160.c
28019 * lib/libgcrypt/cipher/rsa.c
28020 * lib/libgcrypt/cipher/seed.c
28021 * lib/libgcrypt/cipher/serpent.c
28022 * lib/libgcrypt/cipher/sha1.c
28023 * lib/libgcrypt/cipher/sha256.c
28024 * lib/libgcrypt/cipher/sha512.c
28025 * lib/libgcrypt/cipher/tiger.c
28026 * lib/libgcrypt/cipher/twofish.c
28027 * lib/libgcrypt/cipher/whirlpool.c
28028
af2f93ac
RM
280292009-11-16 Robert Millan <rmh.grub@aybabtu.com>
28030
28031 Fix build for systems without error().
28032
28033 * gnulib/error.c: New file (imported from Gnulib).
28034 * gnulib/error.h: Likewise.
28035 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
28036 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
28037 (this variable is now used by error()).
28038
73fb3dd5
FZ
280392009-11-16 Felix Zielcke <fzielcke@z-51.de>
28040
814f5e96
FZ
28041 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
28042 instead of relying that char is signed.
73fb3dd5 28043
a691ca33
VS
280442009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
28045
28046 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
28047 blocksize different from specified.
28048 (grub_pxefs_read): Likewise.
28049
2af8f0f4
FZ
280502009-11-16 Felix Zielcke <fzielcke@z-51.de>
28051
28052 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
28053
28054 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
28055 (grub_ata_readwrite): Likewise. Update 2 format strings.
28056 (grub_atapi_read): Likewise.
28057
28058 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
28059 * conf/i386.rmk (pkglib_MODULES): ... to here ...
28060 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
28061 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
28062 (ata_mod_LDFLAGS): Move from here ...
28063 * conf/i386.rmk: ... to here ...
28064 * conf/x86_64-efi.rmk: ... and here.
28065 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
28066 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
28067
83bdecaf
RM
280682009-11-16 Robert Millan <rmh.grub@aybabtu.com>
28069
28070 Relicense multiboot.h, with RMS' blessing.
28071
28072 * include/multiboot.h: Change to X11 license.
28073
fd6fd3d7
RM
280742009-11-15 Robert Millan <rmh.grub@aybabtu.com>
28075
28076 Support --version in grub-mkisofs.
28077
28078 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
28079 (OPTION_VERSION): New macro.
28080 (ld_options): Recognize --version.
28081 (usage): Move `program_name' from here ...
28082 (program_name): ... to here. Add `static' qualifier.
28083 (main): Recognize `OPTION_VERSION'.
28084
16a88c49
FZ
280852009-11-15 Felix Zielcke <fzielcke@z-51.de>
28086
28087 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
28088 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
28089
a4158476
RM
280902009-11-14 Robert Millan <rmh.grub@aybabtu.com>
28091
28092 Fix help2man generation for mkisofs.
28093
28094 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
28095 (usage): Send output to stdout (rather than stderr).
28096
fc2208b0
RM
280972009-11-14 Robert Millan <rmh.grub@aybabtu.com>
28098
28099 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
28100 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
28101 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
28102 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
28103 (bin_SCRIPTS): Add `grub-mkfloppy'.
28104 (grub_mkfloppy_SOURCES): New variable.
28105
28106 * util/grub-mkrescue.in: New file.
28107 * util/i386/pc/grub-mkfloppy.in: New file.
28108
28109 * util/i386/coreboot/grub-mkrescue.in: Remove.
28110 * util/i386/pc/grub-mkrescue.in: Remove.
28111
8d0edf4a
RM
281122009-11-13 Robert Millan <rmh.grub@aybabtu.com>
28113
28114 * include/grub/multiboot.h (struct grub_multiboot_header): Move
28115 from here ...
28116 * include/multiboot.h (struct multiboot_header): ... to here. Update
28117 all users.
28118 * include/grub/multiboot.h (struct grub_multiboot_info): Move
28119 from here ...
28120 * include/multiboot.h (struct multiboot_info): ... to here. Update
28121 all users.
28122 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
28123 from here ...
28124 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
28125 Update all users.
28126 * include/grub/multiboot.h (struct grub_mod_list): Move
28127 from here ...
28128 * include/multiboot.h (struct multiboot_mod_list): ... to here.
28129 Update all users.
28130
a73f5969
RM
281312009-11-13 Robert Millan <rmh.grub@aybabtu.com>
28132
28133 * include/multiboot2.h (multiboot_word): Rename from this ...
28134 (multiboot2_word): ... to this. Update all users.
28135 (multiboot_header): Rename from this ...
28136 (multiboot2_header): ... to this. Update all users.
28137 (multiboot_tag_header): Rename from this ...
28138 (multiboot2_tag_header): ... to this. Update all users.
28139 (multiboot_tag_start): Rename from this ...
28140 (multiboot2_tag_start): ... to this. Update all users.
28141 (multiboot_tag_name): Rename from this ...
28142 (multiboot2_tag_name): ... to this. Update all users.
28143 (multiboot_tag_module): Rename from this ...
28144 (multiboot2_tag_module): ... to this. Update all users.
28145 (multiboot_tag_memory): Rename from this ...
28146 (multiboot2_tag_memory): ... to this. Update all users.
28147 (multiboot_tag_unused): Rename from this ...
28148 (multiboot2_tag_unused): ... to this. Update all users.
28149 (multiboot_tag_end): Rename from this ...
28150 (multiboot2_tag_end): ... to this. Update all users.
28151
1c8927f0
RM
281522009-11-13 Robert Millan <rmh.grub@aybabtu.com>
28153
28154 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
28155 this platform we should support Multiboot1 first.
28156
28157 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
28158 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
28159 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
28160
6e1e0d89
RM
281612009-11-12 Robert Millan <rmh.grub@aybabtu.com>
28162
28163 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
28164 of write calls (converting them to fwrite() if they aren't already).
28165 (get_torito_desc): Likewise.
28166 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
28167
7f2b34d8
RM
281682009-11-12 Robert Millan <rmh.grub@aybabtu.com>
28169
28170 * util/i386/pc/grub-install.in: Move from here ...
28171 * util/grub-install.in: ... to here. Update all users.
28172
c0ef3311
CW
281732009-11-11 Colin Watson <cjwatson@ubuntu.com>
28174
28175 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
28176
e1f240ff
RM
281772009-11-11 Robert Millan <rmh.grub@aybabtu.com>
28178
28179 Support for El Torito without floppy emulation.
28180
28181 * util/mkisofs/eltorito.c: Include `<errno.h>'.
28182 (init_boot_catalog): Improve error handling.
28183 (get_torito_desc): Don't use floppy emulation unless requested by
28184 user. Patch boot information table when requested via
28185 `-boot-info-table'.
28186 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
28187 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
28188 (use_boot_info_table): New variables.
28189 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
28190 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
28191 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
28192 `--eltorito-emul-floppy'.
28193 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
28194 and `OPTION_ELTORITO_EMUL_FLOPPY'.
28195 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
28196 (use_boot_info_table, get_731): New prototypes.
28197 * util/mkisofs/write.c (get_731): New function.
28198
af7d4de5
FZ
281992009-11-11 Felix Zielcke <fzielcke@z-51.de>
28200
28201 Fix the generation of the man page.
28202
28203 * util/pc/i386/grub-install.in: Source
28204 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
28205
2c55dbc0
RM
282062009-11-11 Robert Millan <rmh.grub@aybabtu.com>
28207
28208 Large file support for grub-mkisofs.
28209
28210 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
28211 * util/mkisofs/mkisofs.c (next_extent, last_extent)
28212 (session_start): Upgrade type to `uint64_t'. Update all users.
28213 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
28214 (struct directory_entry): Upgrade type of `starting_block' and
28215 `size' to `uint64_t'. Update all users.
28216 (struct deferred): Remove unused structure.
28217 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
28218 Update all users.
28219 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
28220 file is larger than `UINT32_MAX'.
28221 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
28222 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
28223 return value.
28224 (struct deferred_write): Upgrade type of `extent' and `size' to
28225 `uint64_t'. Update all users.
28226 (last_extent_written): Upgrade type to `uint64_t'. Update all
28227 users.
28228 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
28229 Update all users. Upgrade type of `remain' to `int64_t' and
28230 `use' to `size_t'. Use error() to handle fread() errors.
28231 (write_files): Rely on write_one_file() rather than calling
28232 xfwrite() directly.
28233
6a9cead5
FZ
282342009-11-09 Felix Zielcke <fzielcke@z-51.de>
28235
28236 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
28237
4825d790
RM
282382009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28239
28240 * util/mkisofs/fnmatch.c: Remove.
28241 * util/mkisofs/getopt1.c: Likewise.
28242 * util/mkisofs/getopt.c: Likewise.
28243 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
28244 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
28245 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
28246 `gnulib/getopt1.c' and `gnulib/getopt.c'.
28247 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
28248
28249 * configure.ac: Detect `mingw32msvc' host_os.
28250 Check for lstat(), getuid() and getgid().
28251
28252 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
28253 instances of `u_char' with `uint8_t'.
28254
28255 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
28256 [!HAVE_GETUID] (getuid): New function (stub).
28257 [!HAVE_GETGID] (getgid): Likewise.
28258 [!HAVE_LSTAT] (lstat): Likewise.
28259 [!S_IROTH] (S_IROTH): New macro (dummy).
28260 [!S_IRGRP] (S_IRGRP): Likewise.
28261
84b860d8
RM
282622009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28263
28264 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
28265 conditional expression).
28266
66e9b712
RM
282672009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28268
28269 Import from Gnulib.
28270
28271 * gnulib/fnmatch.c: New file.
28272 * gnulib/fnmatch.h: Likewise.
28273 * gnulib/fnmatch_loop.c: Likewise.
28274 * gnulib/getopt.c: Likewise.
28275 * gnulib/getopt.h: Likewise.
28276 * gnulib/getopt1.c: Likewise.
28277 * gnulib/getopt_int.h: Likewise.
28278 * gnulib/gettext.h: Likewise.
28279
34f4a5b0
RM
282802009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28281
28282 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
28283 * normal/handler.c (read_handler_list): Likewise.
28284
ac451143
RM
282852009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28286
28287 Misc cleanup.
28288
28289 * kern/command.c (grub_register_command_prio): Use
28290 grub_zalloc() instead of explicitly zeroing data.
28291 * kern/list.c: Include `<grub/mm.h>'.
28292 (grub_named_list_find): Replace `0' with `NULL'.
28293 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
28294 (fs_module_list): Change type to `grub_named_list_t'. Update all
28295 users.
28296 * normal/dyncmd.c (read_command_list): Add space between function
28297 call and parenthesis.
28298 * normal/handler.c (read_handler_list): Likewise.
28299
4089b167
RM
283002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28301
28302 * normal/auth.c (punishment_delay): Moved from here ...
28303 (grub_auth_strcmp): ... to here (inside function).
28304
325f5037
RM
283052009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28306
28307 * include/grub/list.h (struct grub_named_list): Remove `const'
28308 qualifier from `name'.
28309 (struct grub_prio_list): Likewise.
28310
7aea29a3
RM
283112009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28312
28313 * normal/auth.c: Include `<grub/time.h>'.
28314 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
28315
3fd6f044
RM
283162009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28317
28318 * normal/auth.c (punishment_delay): New variable.
28319 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
28320 (grub_auth_check_authentication): Punish failed login attempts with
28321 an incremental (2^N) delay.
28322
a4cd68e4
RM
283232009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28324
28325 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
28326 path with $(srcdir).
28327
7ad12f43
VS
283282009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
28329
28330 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
28331
c1129f03
RM
283322009-11-09 Robert Millan <rmh.grub@aybabtu.com>
28333
28334 * util/i386/coreboot/grub-mkrescue.in: New file.
28335 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
28336 variables.
28337
28338 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
28339 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
28340 * configure.ac: Add header and function checks to satisfy grub-mkisofs
28341 requirements.
28342 * util/mkisofs/defaults.h: New file.
28343 * util/mkisofs/eltorito.c: Likewise.
28344 * util/mkisofs/exclude.h: Likewise.
28345 * util/mkisofs/fnmatch.c: Likewise.
28346 * util/mkisofs/getopt.c: Likewise.
28347 * util/mkisofs/getopt1.c: Likewise.
28348 * util/mkisofs/hash.c: Likewise.
28349 * util/mkisofs/include/fctldefs.h: Likewise.
28350 * util/mkisofs/include/mconfig.h: Likewise.
28351 * util/mkisofs/include/prototyp.h: Likewise.
28352 * util/mkisofs/include/statdefs.h: Likewise.
28353 * util/mkisofs/iso9660.h: Likewise.
28354 * util/mkisofs/joliet.c: Likewise.
28355 * util/mkisofs/match.c: Likewise.
28356 * util/mkisofs/match.h: Likewise.
28357 * util/mkisofs/mkisofs.c: Likewise.
28358 * util/mkisofs/mkisofs.h: Likewise.
28359 * util/mkisofs/multi.c: Likewise.
28360 * util/mkisofs/name.c: Likewise.
28361 * util/mkisofs/rock.c: Likewise.
28362 * util/mkisofs/tree.c: Likewise.
28363 * util/mkisofs/write.c: Likewise.
28364
ec8bb77d
VS
283652009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
28366
28367 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
28368 being insecure.
28369
3716b12c
RM
283702009-11-08 Robert Millan <rmh.grub@aybabtu.com>
28371
28372 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
28373 `grub-mkimage' (and use $0 when possible).
28374
b97b7b91
RM
283752009-11-08 Robert Millan <rmh.grub@aybabtu.com>
28376
28377 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
28378 error message for excessively large memory map.
28379
04114812
RM
283802009-11-08 Robert Millan <rmh.grub@aybabtu.com>
28381
28382 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
28383 executable bit.
28384
e4eb2373
RM
283852009-11-08 Robert Millan <rmh.grub@aybabtu.com>
28386
28387 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
28388 message for coreboot users.
28389
c926e1d5 283902009-11-07 Robert Millan <rmh.grub@aybabtu.com>
28391
28392 Fix build with GNU gold.
28393
28394 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
28395 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
28396 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
28397 link addresses.
28398 * aclocal.m4: Likewise.
28399
86e5b1db 284002009-11-04 Felix Zielcke <fzielcke@z-51.de>
28401
28402 * configure.ac (AC_PREREQ): Bump to 2.59d.
28403 * INSTALL: Make it more clear when Autoconf and Ruby are
28404 needed and when to run `./autogen.sh'.
28405
246cd78f 284062009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
28407
28408 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
28409 OSes.
28410
4f9dfb37 284112009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
28412
28413 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
28414
b82bd5e1 284152009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
28416
28417 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
28418 giving it to GNU Mach.
28419
ff1a9bca 284202009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
28421
28422 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
28423 GNU partition number to get internal GRUB partition number.
28424
61697d9c 284252009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
28426
28427 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
28428 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
28429
a50569e1 284302009-11-01 Robert Millan <rmh.grub@aybabtu.com>
28431
28432 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
28433 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
28434 case.
28435
5b153867 284362009-11-01 Felix Zielcke <fzielcke@z-51.de>
28437
28438 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
28439
d9e2cd70 284402009-10-30 Robert Millan <rmh.grub@aybabtu.com>
28441
28442 Fix build problem.
28443
28444 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
28445 `-isystem=$(srcdir)/include'.
28446
805111a4 284472009-10-30 Robert Millan <rmh.grub@aybabtu.com>
28448
28449 * util/i386/pc/grub-install.in: Remove hint that device.map should be
28450 checked (grub-install doesn't currently rely on it).
28451
fa6e945f 284522009-10-29 Robert Millan <rmh.grub@aybabtu.com>
28453
28454 Revert SVN r2660.
28455
28456 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
28457 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
28458 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
28459 * conf/i386-ieee1275.rmk: Likewise.
28460 * conf/i386-pc.rmk: Likewise.
28461 * conf/powerpc-ieee1275.rmk: Likewise.
28462 * conf/sparc64-ieee1275.rmk: Likewise.
28463 * conf/x86_64-efi.rmk: Likewise.
28464
cee15086 284652009-10-28 Robert Millan <rmh.grub@aybabtu.com>
28466
28467 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
28468
95b9239e 284692009-10-28 Robert Millan <rmh.grub@aybabtu.com>
28470
28471 * include/grub/misc.h: Stop checking for APPLE_CC.
28472
2ed19dfd 284732009-10-28 Robert Millan <rmh.grub@aybabtu.com>
28474
28475 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
28476 doesn't cause an infinite call loop.
28477
fdcdde19 284782009-10-28 Felix Zielcke <fzielcke@z-51.de>
28479
28480 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
28481 strings.
28482
cefabfe1 284832009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28484
28485 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
28486 variable.
28487 * Makefile.in: Likewise.
28488
ed96ab6d 284892009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28490
28491 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
28492
0579b753 284932009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28494
28495 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
28496
478df409 284972009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28498
28499 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
28500
083d1679 285012009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28502
28503 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
28504 from here ...
28505 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
28506
5947ae32 285072009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28508
28509 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
28510 in $(MAKEINFO) invocation. This makes it clear in output that
28511 errors are being ignored.
28512
94180ff6 285132009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28514
28515 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
28516 from here ...
28517 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
28518 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
28519 * conf/i386-ieee1275.rmk: Likewise.
28520 * conf/i386-pc.rmk: Likewise.
28521 * conf/powerpc-ieee1275.rmk: Likewise.
28522 * conf/sparc64-ieee1275.rmk: Likewise.
28523 * conf/x86_64-efi.rmk: Likewise.
28524
9031b03a 285252009-10-26 Colin Watson <cjwatson@ubuntu.com>
28526
28527 * util/grub-editenv.c (main): If only a command is given, use
28528 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
28529 (usage): FILENAME is now optional and has a default.
28530
e4f6809b 285312009-10-26 Colin Watson <cjwatson@ubuntu.com>
28532
28533 Improve grub-mkconfig performance when there are several menu
28534 entries on a single filesystem.
28535
28536 * util/grub.d/10_linux.in (linux_entry): Cache the output of
28537 prepare_grub_to_access_device.
28538 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
28539 * util/grub.d/30_os-prober.in: Likewise.
28540
67937d4d 285412009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28542
28543 * util/grub.d/10_freebsd.in: Remove.
28544 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
28545 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
28546
ee3756cc 285472009-10-26 Robert Millan <rmh.grub@aybabtu.com>
28548
5c35048e 28549 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 28550
4dea1c6f 285512009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28552
28553 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
28554 grub_util_error() call.
28555
042484d7 285562009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28557
28558 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
28559 `reserved_first_sector' member.
28560 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
28561 `reserved_first_sector' to 1.
28562 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
28563 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
28564 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
28565 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
28566 filesystems which begin at first sector.
28567 (options): New option --skip-fs-probe.
28568 (main): Handle --skip-fs-probe and pass it to setup().
28569
d64448a7 285702009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28571
28572 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
28573 (memset): Fix function prototype.
28574
508d42ec 285752009-10-25 Robert Millan <rmh.grub@aybabtu.com>
285762009-10-25 Vasily Averin <vvs@parallels.com>
28577
28578 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
28579 `dirent.direntlen == 0'.
28580
b240e30c 285812009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28582
28583 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
28584 `cpio'.
28585 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
28586
346e7fbe 285872009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28588
28589 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
28590 `__trampoline_setup' and `__ucmpdi2'.
28591 * include/grub/powerpc/libgcc.h: Only export symbols for functions
28592 that libgcc provides.
28593
cdb308b0 285942009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28595
28596 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
28597 * include/grub/sparc64/libgcc.h (memset): Likewise.
28598 * include/grub/misc.h (memset, memcmp): New function prototypes.
28599
fb26abc2 286002009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28601
28602 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
28603 `cpio'.
28604 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
28605
f6693890 286062009-10-25 Robert Millan <rmh.grub@aybabtu.com>
28607
28608 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
28609 * docs/grub.cfg: Compensate for recent change in multiboot
28610 loader (since 2009-08-14 it won't pass filename to payload).
28611 * util/grub.d/10_hurd.in: Likewise.
28612
0933cdc0 286132009-10-21 Felix Zielcke <fzielcke@z-51.de>
28614
28615 * config.guess: Update to latest version from config git
28616 repository.
28617 * config.sub: Likewise.
28618
3b2fe8c2 286192009-10-20 Robert Millan <rmh.grub@aybabtu.com>
28620
28621 Fix build on sparc64.
28622
28623 * configure.ac: Perform checks for libgcc symbols before
28624 adding `-nostdlib' to LDFLAGS.
28625
46695a62 286262009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
28627
28628 Let user specify OpenBSD root device.
28629
28630 * loader/i386/bsd.c (openbsd_root): New variable.
28631 (openbsd_opts): New option 'root'.
28632 (OPENBSD_ROOT_ARG): New macro.
28633 (grub_openbsd_boot): Use 'openbsd_root'.
28634 (grub_cmd_openbsd): Fill 'openbsd_root'.
28635
d2b6b7fc 286362009-10-16 Robert Millan <rmh.grub@aybabtu.com>
28637
28638 * NEWS: Misc adjustments.
28639
421bd7ac 286402009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
28641
28642 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
28643
f1d29d87 286442009-10-16 Robert Millan <rmh.grub@aybabtu.com>
28645
28646 * configure.ac: Bump version to 1.97.
28647
6f3cd880 286482009-10-16 Colin Watson <cjwatson@ubuntu.com>
28649
28650 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
28651 -mno-3dnow on x86 architectures. Some toolchains enable these
28652 features by default, but they rely on registers that aren't enabled
28653 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
28654
035f7122 286552009-10-15 Robert Millan <rmh.grub@aybabtu.com>
28656
28657 Make entry text a bit more readable.
28658
28659 * util/grub.d/10_linux.in: Add `with' before `Linux'.
28660
44998e58 286612009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
28662
28663 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
28664
cd2851b3 286652009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
28666
28667 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
28668 operations.
28669
c6f3b249 286702009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
28671
28672 * configure.ac: Add missing dollar.
28673
6b5886ba 286742009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
28675
28676 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
28677
28678 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
28679 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
28680 exports.
28681 * include/grub/sparc64/libgcc.h: Likewise. Use
28682 preprocessor conditionals.
28683
e9d66f6d 286842009-10-14 Robert Millan <rmh.grub@aybabtu.com>
28685
28686 * conf/common.rmk (grub-dumpbios): Remove rule.
28687 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
28688 * util/grub-dumpbios.in: Remove file.
28689
9155bc17 286902009-10-14 Robert Millan <rmh.grub@aybabtu.com>
28691
28692 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
28693 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
28694
28695 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
28696 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
28697 users.
28698
28699 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
28700 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
28701 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
28702 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
28703 users.
28704
bf7f7a18 287052009-10-12 Robert Millan <rmh.grub@aybabtu.com>
28706
28707 * term/tparm.c: Switch to GPLv3.
28708
86564c26 287092009-10-09 Robert Millan <rmh.grub@aybabtu.com>
28710
28711 * include/grub/i386/cpuid.h: Add header protection.
28712
5c936493 287132009-10-09 Robert Millan <rmh.grub@aybabtu.com>
28714
28715 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
28716
28717 * include/grub/i386/cpuid.h: New file.
28718 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
28719 (has_longmode): Rename to ...
28720 (grub_cpuid_has_longmode): ... this. Update all users. Remove
28721 `static' attribute.
28722 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
28723 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
28724 on a CPU that doesn't implement AMD64 instruction set.
28725
186e7cf2 287262009-10-06 Colin Watson <cjwatson@ubuntu.com>
28727
28728 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
28729 that version.texi is rebuilt on version number changes.
28730
83b65c4a 287312009-10-06 Colin Watson <cjwatson@ubuntu.com>
28732
28733 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
28734 Fixes bug #27602.
28735
d244281c 287362009-10-06 Colin Watson <cjwatson@ubuntu.com>
28737
28738 * util/i386/pc/grub-install.in: Source
28739 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
28740 that the --grub-probe option will work.
28741 * util/sparc64/ieee1275/grub-install.in: Likewise.
28742
da25306d 287432009-10-05 Robert Millan <rmh.grub@aybabtu.com>
28744
28745 * configure.ac: Bump version to 1.97~beta4.
28746
e8ee83c0 287472009-10-03 Robert Millan <rmh.grub@aybabtu.com>
28748
28749 Resync grub-mkdevicemap in x86_64-efi.
28750
28751 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
28752 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
28753 `util/devicemap.c'.
28754
50dcabcf 287552009-10-01 Colin Watson <cjwatson@ubuntu.com>
28756
28757 * util/grub-editenv.c (create_envblk_file): Write new block with a
28758 .new suffix and then rename it into place, to ensure atomic
28759 creation.
28760
0e51c3a7 287612009-09-28 Robert Millan <rmh.grub@aybabtu.com>
28762
28763 Do not automatically install headers.
28764
28765 * Makefile.in (include_DATA): Remove. Update all users.
28766
31299a95 287672009-09-26 Robert Millan <rmh.grub@aybabtu.com>
28768
28769 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
28770 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
28771
28772 * util/osdetect.lua: Remove.
28773 * script/lua/lauxlib.c: Likewise.
28774 * script/lua/ldebug.c: Likewise.
28775 * script/lua/grub_main.c: Likewise.
28776 * script/lua/lauxlib.h: Likewise.
28777 * script/lua/ldebug.h: Likewise.
28778 * script/lua/ltablib.c: Likewise.
28779 * script/lua/liolib.c: Likewise.
28780 * script/lua/lstrlib.c: Likewise.
28781 * script/lua/lualib.h: Likewise.
28782 * script/lua/ldo.c: Likewise.
28783 * script/lua/ldump.c: Likewise.
28784 * script/lua/ldo.h: Likewise.
28785 * script/lua/loslib.c: Likewise.
28786 * script/lua/lundump.c: Likewise.
28787 * script/lua/grub_lib.c: Likewise.
28788 * script/lua/ldblib.c: Likewise.
28789 * script/lua/lundump.h: Likewise.
28790 * script/lua/lmem.c: Likewise.
28791 * script/lua/grub_lib.h: Likewise.
28792 * script/lua/lmathlib.c: Likewise.
28793 * script/lua/lstate.c: Likewise.
28794 * script/lua/ltm.c: Likewise.
28795 * script/lua/lvm.c: Likewise.
28796 * script/lua/lmem.h: Likewise.
28797 * script/lua/lstate.h: Likewise.
28798 * script/lua/ltm.h: Likewise.
28799 * script/lua/ltable.c: Likewise.
28800 * script/lua/lvm.h: Likewise.
28801 * script/lua/llex.c: Likewise.
28802 * script/lua/lgc.c: Likewise.
28803 * script/lua/grub_lua.h: Likewise.
28804 * script/lua/loadlib.c: Likewise.
28805 * script/lua/lfunc.c: Likewise.
28806 * script/lua/lopcodes.c: Likewise.
28807 * script/lua/lparser.c: Likewise.
28808 * script/lua/ltable.h: Likewise.
28809 * script/lua/llex.h: Likewise.
28810 * script/lua/lgc.h: Likewise.
28811 * script/lua/lfunc.h: Likewise.
28812 * script/lua/lbaselib.c: Likewise.
28813 * script/lua/lopcodes.h: Likewise.
28814 * script/lua/lparser.h: Likewise.
28815 * script/lua/lzio.c: Likewise.
28816 * script/lua/linit.c: Likewise.
28817 * script/lua/lobject.c: Likewise.
28818 * script/lua/llimits.h: Likewise.
28819 * script/lua/lstring.c: Likewise.
28820 * script/lua/lzio.h: Likewise.
28821 * script/lua/lapi.c: Likewise.
28822 * script/lua/lcode.c: Likewise.
28823 * script/lua/lua.h: Likewise.
28824 * script/lua/lobject.h: Likewise.
28825 * script/lua/lstring.h: Likewise.
28826 * script/lua/lapi.h: Likewise.
28827 * script/lua/lcode.h: Likewise.
28828 * script/lua/luaconf.h: Likewise.
28829
cb8a2c38 288302009-09-26 Colin Watson <cjwatson@ubuntu.com>
28831
28832 * docs/grub.texi (Command-line and menu entry commands): Document
28833 date and echo commands.
28834
6b9b6276 288352009-09-24 Pavel Roskin <proski@gnu.org>
28836
28837 * include/grub/kernel.h (struct grub_module_header): Remove
28838 `grub_module_header_types'. Make `type' unsigned. Make `size'
28839 32-bit on all platforms.
28840 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
28841 8-bit field. Use grub_host_to_target32() for `size'.
28842 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
28843 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
28844 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
28845
4e5a02a7 288462009-09-24 Robert Millan <rmh.grub@aybabtu.com>
28847
28848 Fix "lost keypress" bug in at_keyboard.
28849
28850 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
28851 Checks for readyness of input buffer (without flushing it).
28852 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
28853 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
28854
c6dcedf6 288552009-09-24 Robert Millan <rmh.grub@aybabtu.com>
28856
28857 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
28858 size check within GRUB_MACHINE_PCBIOS section.
28859
74c958b1 288602009-09-24 Robert Millan <rmh.grub@aybabtu.com>
28861
28862 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
28863 return value.
28864 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
28865 KEYBOARD_ISREADY check.
28866 (grub_at_keyboard_checkkey): Rename to ...
28867 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
28868 Remove gratuitous cast.
28869
ff420223 288702009-09-23 Colin Watson <cjwatson@ubuntu.com>
28871
28872 * configure.ac: Call AC_PROG_MKDIR_P.
28873 * Makefile.in (docs/stamp-vti): Create docs directory. Create
28874 version.texi in $(builddir) rather than $(srcdir).
28875 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
28876 to makeinfo's @include search path.
28877
d96875df 288782009-09-23 Felix Zielcke <fzielcke@z-51.de>
28879
28880 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
28881
9b3f8365 288822009-09-23 Felix Zielcke <fzielcke@z-51.de>
28883
28884 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
28885 for `*.dpkg-new'.
28886
c44c90db 288872009-09-21 Colin Watson <cjwatson@ubuntu.com>
28888
28889 Build info documentation. Some code borrowed from Automake.
28890
28891 * configure.ac: Check for makeinfo.
28892 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
28893 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
28894 docs/version.texi.
28895 (MOSTLYCLEANFILES): Add vti.tmp.
28896 (docs/version.texi, docs/stamp-vti): Update automatically.
28897 (docs/grub.info): Build info documentation. Use --force and ignore
28898 errors for now.
28899 (all-local): Add $(INFOS).
28900 (install-local): Install info files.
28901 (uninstall): Uninstall info files.
28902 * docs/version.texi: Remove from revision control. This file is
28903 automatically generated on build now.
28904 * gendistlist.sh: Add `*.info'.
28905
e0b37bb5 289062009-09-21 Felix Zielcke <fzielcke@z-51.de>
28907
28908 * kern/term.c: Fix indentation.
28909
5a78865b 289102009-09-21 Felix Zielcke <fzielcke@z-51.de>
28911
28912 * util/hostdisk.c: Fix a comment.
28913
dace7e8a 289142009-09-20 Robert Millan <rmh.grub@aybabtu.com>
28915
28916 Fix regression introduced in r2539.
28917
28918 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
28919 to 0xA1.
28920
a83d079b 289212009-09-19 Colin Watson <cjwatson@ubuntu.com>
28922
28923 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 28924 os-prober. Under normal operation, it does not print anything to
28925 stderr; if it does, we need to debug it, and throwing away stderr
28926 makes that excessively difficult.
a83d079b 28927
be94a509 289282009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
28929
28930 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
28931
63f745e8 289322009-09-16 Robert Millan <rmh.grub@aybabtu.com>
28933
28934 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
28935 AC_LANG_PROGRAM from autoconf.
28936 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
28937 prototypes (fixes warning).
28938
28939 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
28940 `--disable-werror' was used.
28941
bbb2a70f 289422009-09-16 Robert Millan <rmh.grub@aybabtu.com>
28943
28944 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
28945 uninitialized `lastaddr'.
28946
77c24f1d 289472009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
28948
0f0b8c87 28949 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 28950
07197f23 289512009-09-14 Colin Watson <cjwatson@ubuntu.com>
28952
28953 * commands/test.c (get_fileinfo): Return immediately if
28954 grub_fs_probe fails.
28955
dabf1798 289562009-09-14 José Martínez <xosemp@gmail.com>
28957
28958 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
28959
d52109a7 289602009-09-14 Colin Watson <cjwatson@ubuntu.com>
28961
28962 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
28963 output.
28964
56532179 289652009-09-13 Robert Millan <rmh.grub@aybabtu.com>
28966
28967 * configure.ac: Remove --enable-grub-pe2elf. Only build
28968 grub-pe2elf when needed by the build system itself.
28969 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
28970
8ef070f5 289712009-09-12 Robert Millan <rmh.grub@aybabtu.com>
28972
28973 * configure.ac: Bump version to 1.97~beta3.
28974 * docs/version.texi: Likewise.
28975
61229557 289762009-09-12 Robert Millan <rmh.grub@aybabtu.com>
28977
28978 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
28979 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
28980 from here ...
28981 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
28982 (grub_linux_setup_video): ... to here (with some adjustments).
28983
5c9f8d84 289842009-09-12 Robert Millan <rmh.grub@aybabtu.com>
28985
28986 Fix memory corruption issue (spotted by Colin Watson).
28987
28988 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
28989 causing returned size to be stored in an incorrect memory location.
28990 Fix use of uninitialized value when storing the returned size.
28991
e8f5d6e9 289922009-09-12 Yves Blusseau <blusseau@zetam.org>
28993
28994 Change clean rules to properly remove files
28995
28996 * genmk.rb: add new clean rules
28997 * Makefile.in (clean): add the new targets
28998 (mostlyclean): likewise
28999
cda2a409 290002009-09-11 Colin Watson <cjwatson@ubuntu.com>
29001
29002 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
29003 to grub_uint64_t.
29004 * fs/ntfs.c (init_file): Understand 64-bit sizes for
29005 non-resident files.
29006
86695375 290072009-09-11 Colin Watson <cjwatson@ubuntu.com>
29008
29009 * configure.ac: Don't look for help2man when cross-compiling. Fixes
29010 part of bug #27349.
29011
8aa1541a 290122009-09-10 Felix Zielcke <fzielcke@z-51.de>
29013
29014 * util/grub-mkconfig.in: Make the created config mode 400 and
29015 print a warning if it fails.
29016
48d9bb0a 290172009-09-10 Robert Millan <rmh.grub@aybabtu.com>
29018
29019 * util/grub.d/40_custom.in: Ask user to type custom entries below
29020 comment, rather than below 'exec tail' line.
29021
3b0521be 290222009-09-10 Colin Watson <cjwatson@ubuntu.com>
29023
29024 * util/grub.d/40_custom.in: Make sure that the explanatory text is
29025 visible in grub.cfg.
29026
50051d55 290272009-09-10 Colin Watson <cjwatson@ubuntu.com>
29028
29029 * util/grub.d/40_custom.in: Make it a little clearer how to use this
29030 file.
29031
c0d34387 290322009-09-10 Felix Zielcke <fzielcke@z-51.de>
29033
29034 * docs/grub.cfg: Add an example menu entry for memtest86+.
29035
80a608f3 290362009-09-09 Felix Zielcke <fzielcke@z-51.de>
29037
a2094832 29038 * config.guess: Update to latest version from config git.
80a608f3 29039 * config.sub: Likewise.
29040
99423078 290412009-09-08 Colin Watson <cjwatson@ubuntu.com>
29042
29043 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
29044 unknown-command case. Fixes bug #27320.
29045
44454e4c 290462009-09-08 Felix Zielcke <fzielcke@z-51.de>
29047
29048 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
29049 `help' if the command exists.
29050
e30d87ad 290512009-09-06 Robert Millan <rmh.grub@aybabtu.com>
29052
29053 * INSTALL: Require GCC 4.1.3 or later.
29054
9a86f1ec 290552009-09-06 Yves Blusseau <blusseau@zetam.org>
29056
29057 * Makefile.in (RMKFILES): add i386-qemu.rmk
29058 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
29059 $(srcdir)/stamp-h.in
29060
7f26d466 290612009-09-05 Robert Millan <rmh.grub@aybabtu.com>
29062
29063 * util/grub-probe.c (probe): Comment out buggy codepath, which
29064 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
29065 should be re-enabled after 1.97.
29066
3a613259 290672009-09-05 Felix Zielcke <fzielcke@z-51.de>
29068
29069 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
29070 find searches for.
29071
197f76c7 290722009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
29073
29074 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
29075 unnecessary calls to grub_error.
29076
70ba68ce 290772009-09-04 Colin Watson <cjwatson@ubuntu.com>
29078
29079 * NEWS: Mention `keystatus' and Unicode fonts.
29080
4ff0d7a4 290812009-09-04 Robert Millan <rmh.grub@aybabtu.com>
29082
29083 * configure.ac: Bump version to 1.97~beta2.
29084 * docs/version.texi: Likewise.
29085
77c55a87 290862009-09-03 Colin Watson <cjwatson@ubuntu.com>
29087
29088 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
29089 containing unwind information in some cases where it previously did
29090 not. Use -fno-dwarf2-cfi-asm if available to restore the old
29091 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
29092 discussion.
29093
f79572cd 290942009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
29095
29096 Embedding loadenv module into grub-emu
29097
29098 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
29099 commands/loadenv.c
29100 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
29101 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
29102 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
29103 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
29104 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
29105 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
29106
93a81088 291072009-09-03 Magnus Granberg <zorry@ume.nu>
29108
29109 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
29110 include -fPIE in the default specs.
29111 * configure.ac: Check if pie_possible is yes and add -fno-PIE
29112 to TARGET_CFLAGS.
29113
160034b2 291142009-09-03 Felix Zielcke <fzielcke@z-51.de>
29115
29116 * INSTALL: Note that GNU Bison 2.3 or later is required.
29117
087c07c4 291182009-09-03 Colin Watson <cjwatson@ubuntu.com>
29119
29120 * kern/i386/pc/startup.S: Fix typo.
29121
cbf978c0 291222009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
29123
29124 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
29125 according to GCS.
29126
291272009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 29128
29129 * docs/grub.texi (Naming convention): Describe one-based partition
29130 numbering.
29131 (Device syntax): Likewise.
29132 (File name syntax): Likewise.
29133 (Block list syntax): Likewise.
29134 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
29135 menu.lst.
29136 (File name syntax): Likewise.
29137 (Command-line and menu entry commands): Document acpi, blocklist,
29138 crc, export, insmod, keystatus, ls, set, and unset commands.
29139
f3e8cdfd 291402009-09-02 Colin Watson <cjwatson@ubuntu.com>
29141
29142 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
29143 to avoid implying that only one of --shift, --ctrl, or --alt may be
29144 used.
29145
c0bc232b 291462009-09-02 Colin Watson <cjwatson@ubuntu.com>
29147
29148 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
29149 rather than comparing against S_IFREG, which will almost never work.
29150
aa0f752d 291512009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
29152
29153 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
29154 (write_blocklists): Likewise.
29155
ecb3166a 291562009-09-01 Colin Watson <cjwatson@ubuntu.com>
29157
29158 * script/lua/grub_lua.h (fputs): Supply a format string as the first
29159 argument to grub_printf.
29160
c403a125 291612009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 29162
29163 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 29164 non GNU test.
31aba781 29165
b5e7312c 291662009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
29167
29168 * kern/file.c (grub_file_read): Spelling fix
29169
fe00f472 291702009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
29171
29172 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
29173 loading of headers in some cases.
29174
cc55302e 291752009-08-30 Robert Millan <rmh.grub@aybabtu.com>
29176
29177 * configure.ac: Bump version to 1.97~beta1.
29178 * docs/version.texi: Likewise.
29179
5c90cdd2 291802009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 29181
29182 * include/grub/i386/xnu.h: Add license header.
29183 include grub/err.h explicitly.
29184
c90edae4 291852009-08-29 Robert Millan <rmh.grub@aybabtu.com>
29186
29187 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
29188 to `ufs' in the vfs.root.mountfrom kernel parameter.
29189
d8888b5c 291902009-08-29 Robert Millan <rmh.grub@aybabtu.com>
29191
29192 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
29193
29194 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
29195 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
29196
29197 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
29198 `ARRAY_SIZE' macro.
29199
6f07b921 292002009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
29201
29202 * kern/file.c (grub_file_read): Check offset.
29203 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
29204 * fs/jfs.c (grub_jfs_read_file): Likewise.
29205 * fs/ntfs.c (grub_ntfs_read): Likewise.
29206 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
29207 * fs/minix.c (grub_minix_read_file): Correct offset check.
29208 * fs/ufs.c (grub_ufs_read_file): Likewise.
29209
b4f34077 292102009-08-28 Colin Watson <cjwatson@ubuntu.com>
29211
29212 * term/i386/pc/console.c (bios_data_area): Cast
29213 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
29214
e7c69859 292152009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
29216
29217 1-bit optimised blitters.
29218
29219 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
29220 prototype.
29221 (grub_video_fbblit_replace_24bit_1bit): Likewise.
29222 (grub_video_fbblit_replace_16bit_1bit): Likewise.
29223 (grub_video_fbblit_replace_8bit_1bit): Likewise.
29224 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
29225 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
29226 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
29227 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
29228 function.
29229 (grub_video_fbblit_replace_24bit_1bit): Likewise.
29230 (grub_video_fbblit_replace_16bit_1bit): Likewise.
29231 (grub_video_fbblit_replace_8bit_1bit): Likewise.
29232 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
29233 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
29234 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
29235 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
29236 when possible.
29237 * video/video.c (grub_video_get_blit_format): Return
29238 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
29239
a57da43f 292402009-08-28 Colin Watson <cjwatson@ubuntu.com>
29241
29242 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
29243 the first argument to grub_printf.
29244
4cbe67e5 292452009-08-28 Colin Watson <cjwatson@ubuntu.com>
292462009-08-28 Robert Millan <rmh.grub@aybabtu.com>
29247
29248 Add `getkeystatus' terminal method. Add a new `keystatus' command
29249 to query it.
29250
29251 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
29252 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
29253 modifier key bitmasks.
29254 (struct grub_term_input): Add `getkeystatus' member.
29255 (grub_getkeystatus): Add prototype.
29256 * kern/term.c (grub_getkeystatus): New function.
29257
29258 * include/grub/i386/pc/memory.h
29259 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
29260 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
29261 Data Area layout.
29262 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
29263 (grub_console_term_input): Set `getkeystatus' member.
29264 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
29265 constants.
29266 (grub_usb_keyboard_getreport): Likewise.
29267 (grub_usb_keyboard_checkkey): Likewise.
29268 (grub_usb_keyboard_getkeystatus): New function.
29269 (grub_usb_keyboard_term): Set `getkeystatus' member.
29270
29271 * commands/keystatus.c: New file.
29272 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
29273 (keystatus_mod_SOURCES): New variable.
29274 (keystatus_mod_CFLAGS): Likewise.
29275 (keystatus_mod_LDFLAGS): Likewise.
29276 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
29277 commands/keystatus.c.
29278 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29279 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29280 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29281 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29282 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29283 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 29284
6e2a9085 292852009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
29286
29287 Split befs.mod and afs.mod into *_be.mod and *.mod
29288
29289 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
29290 (grub_fstest_SOURCES): Likewise.
29291 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
29292 (afs_be_mod_SOURCES): New variable.
29293 (afs_be_mod_CFLAGS): Likewise.
29294 (afs_be_mod_LDFLAGS): Likewise.
29295 (befs_be_mod_SOURCES): Likewise.
29296 (befs_be_mod_CFLAGS): Likewise.
29297 (befs_be_mod_LDFLAGS): Likewise.
29298 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
29299 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29300 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29301 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29302 (grub_emu_SOURCES): Likewise.
29303 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29304 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29305 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29306 * fs/afs_be.c: New file.
29307 * fs/befs_be.c: New file.
29308 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
29309 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
29310 (U16): Replaced with ...
29311 (grub_afs_to_cpu16): ...this. All users updated.
29312 (U32): Replaced with ...
29313 (grub_afs_to_cpu32): ...this. All users updated.
29314 (U64): Replaced with ...
29315 (grub_afs_to_cpu64): ...this. All users updated.
29316 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
29317 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 29318 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 29319 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
29320 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
29321 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
29322 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
29323 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
29324 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
29325 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
29326 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
29327
32a71655 293282009-08-26 Bean <bean123ch@gmail.com>
29329
29330 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
29331 64-bit number.
29332 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
29333 (grub_xfs_inode_block): Change return type to grub_uint64_t.
29334 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
29335
552bf6c5 293362009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29337
29338 NetBSD memory map support.
29339
29340 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
29341 (grub_netbsd_btinfo_mmap_header): New structure.
29342 (grub_netbsd_btinfo_mmap_entry): Likewise.
29343 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
29344
1ae2078c 293452009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29346
29347 Enable bsd.mod on coreboot.
29348
29349 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
29350 (bsd_mod_SOURCES): New variable.
29351 (bsd_mod_CFLAGS): Likewise.
29352 (bsd_mod_LDFLAGS): Likewise.
29353 (bsd_mod_ASFLAGS): Likewise.
29354 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
29355 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
29356
beefc598 293572009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29358
29359 Cleanup NetBSD root support.
29360
29361 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
29362 grub_bsd_get_device.
29363 Fix typo.
29364
3b76e68b 293652009-08-25 Felix Zielcke <fzielcke@z-51.de>
29366
29367 * util/grub.d/00_header.in: Move check for the video backend of
29368 gfxterm from here ...
29369 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
29370 a suitable video backend.
29371
aea664ea 293722009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29373
29374 Fix breakage in grub-setup.
29375
29376 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
29377 "msdos_partition_map".
29378
ff747d50 293792009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29380
29381 Fix breakage in normal/auth.c.
29382
29383 * normal/auth.c (grub_iswordseparator): New function.
29384
e7e1f93f 293852009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
29386
29387 Authentication support.
29388
29389 * commands/password.c: New file.
29390 * conf/common.rmk (pkglib_MODULES): Add password.mod.
29391 (password_mod_SOURCES): New variable.
29392 (password_mod_CFLAGS): Likewise.
29393 (password_mod_LDFLAGS): Likewise.
29394 (normal_mod_SOURCES): Add normal/auth.c.
29395 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
29396 normal/auth.c.
29397 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29398 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29399 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29400 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29401 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29402 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29403 * include/grub/auth.h: New file.
29404 * include/grub/err.h (grub_err_t): New enum value
29405 GRUB_ERR_ACCESS_DENIED.
29406 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
29407 'users'.
29408 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
29409 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
29410 users updated.
29411 * normal/auth.c: New file.
29412 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
29413 (grub_cmdline_run): Don't allow to go to command line without
29414 authentication.
29415 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
29416 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
29417 menuentry without superuser rights.
29418 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
29419 user isn't a superuser.
29420
70f1161d 294212009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29422
29423 Save space by inlining misc.c functions.
29424
29425 * kern/misc.c (grub_iswordseparator): Made static.
29426 * kern/misc.c (grub_strcat): Moved from here ...
29427 * include/grub/misc.h (grub_strcat): ... here. Inlined.
29428 * kern/misc.c (grub_strncat): Moved from here ...
29429 * include/grub/misc.h (grub_strncat): ... here. Inlined.
29430 * kern/misc.c (grub_strcasecmp): Moved from here ...
29431 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
29432 * kern/misc.c (grub_strncasecmp): Moved from here ...
29433 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
29434 * kern/misc.c (grub_isalpha): Moved from here ...
29435 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
29436 * kern/misc.c (grub_isdigit): Moved from here ...
29437 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
29438 * kern/misc.c (grub_isgraph): Moved from here ...
29439 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
29440 * kern/misc.c (grub_tolower): Moved from here ...
29441 * include/grub/misc.h (grub_tolower): ... here. Inlined.
29442
48e40bff 294432009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29444
29445 * script/sh/function.c (grub_script_function_find): Cut error message
29446 not to flood terminal.
29447 * script/sh/lexer.c (grub_script_yylex): Remove command line length
29448 limit.
29449 * script/sh/script.c (grub_script_arg_add): Duplicate string.
29450
c385bfc3 294512009-08-24 Colin Watson <cjwatson@ubuntu.com>
29452
29453 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
29454 `report' grub_uint8_t *.
29455 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
29456 Use a 50-millisecond timeout rather than just repeating
29457 grub_usb_keyboard_getreport 50 times.
29458 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
29459
2d21e3e8 294602009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29461
29462 Rename *_partition_map to part_*
29463
29464 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
29465 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
29466 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
29467 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
29468 All users updated.
29469 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
29470 All users updated.
29471 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
29472 * util/grub-probe.c (probe_partmap): Don't transform partition name
29473 to get module name.
29474
dd103c4e 294752009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29476
29477 Fix OpenBSD and NetBSD support.
29478
29479 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
29480 memory address conflict.
29481 (OPENBSD_MMAP_ACPI): New definition.
29482 (OPENBSD_MMAP_NVS): Likewise.
29483 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
29484 and OPENBSD_MMAP_NVS.
29485 Add memory map terminator
29486 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 29487 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 29488
16c84d74 294892009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29490
29491 Let user specify NetBSD root device.
29492
29493 * loader/i386/bsd.c (netbsd_root): New variable.
29494 (netbsd_opts): New option 'root'.
29495 (NETBSD_ROOT_ARG): New macro.
29496 (grub_netbsd_boot): Use 'netbsd_root'.
29497 (grub_bsd_unload): Free 'netbsd_root'.
29498 (grub_cmd_netbsd): Fill 'netbsd_root'.
29499
adb29902 295002009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29501
29502 Support for 64-bit NetBSD.
29503
29504 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
29505 point when booting non-FreeBSD.
29506
f5ae9f74 295072009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
29508
29509 Support --no-smp and --no-acpi for NetBSD.
29510
29511 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
29512 (NETBSD_AB_NOACPI): Likewise.
29513 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
29514 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
29515
de74f136 295162009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
29517
29518 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
29519 errors.
29520 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
29521 errors. Call grub_error when needed.
29522
e9a925da 295232009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
29524
29525 * commands/search.c (search_fs): Try searching without autoload first.
29526 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
29527 filesystem module explicitly for faster booting.
29528
5174302b 295292009-08-23 Colin Watson <cjwatson@ubuntu.com>
29530
29531 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
29532
c8c80635 295332009-08-23 Colin Watson <cjwatson@ubuntu.com>
29534
29535 * util/grub.d/30_os-prober.in: Disable os-prober if
29536 `GRUB_DISABLE_OS_PROBER' was set to true.
29537
71acf5e5 295382009-08-23 Robert Millan <rmh.grub@aybabtu.com>
29539
29540 * partmap/pc.c: Rename to ...
29541 * partmap/msdos.c: ... this. Update all users.
29542 (grub_pc_partition_map): Rename to ...
29543 (grub_msdos_partition_map): ... this. Update all users.
29544
29545 * parttool/pcpart.c: Rename to ...
29546 * parttool/msdospart.c: ... this. Update all users.
29547
29548 * include/grub/pc_partition.h: Rename to ...
29549 * include/grub/msdos_partition.h: ... this. Update all users.
29550 (grub_pc_partition_bsd_entry): Rename to ...
29551 (grub_msdos_partition_bsd_entry): ... this. Update all users.
29552 (grub_pc_partition_disk_label): Rename to ...
29553 (grub_msdos_partition_disk_label): ... this. Update all users.
29554 (grub_pc_partition_entry): Rename to ...
29555 (grub_msdos_partition_entry): ... this. Update all users.
29556 (grub_pc_partition_mbr): Rename to ...
29557 (grub_msdos_partition_mbr): ... this. Update all users.
29558 (grub_pc_partition): Rename to ...
29559 (grub_msdos_partition): ... this. Update all users.
29560 (grub_pc_partition_is_empty): Rename to ...
29561 (grub_msdos_partition_is_empty): ... this. Update all users.
29562 (grub_pc_partition_is_extended): Rename to ...
29563 (grub_msdos_partition_is_extended): ... this. Update all users.
29564 (grub_pc_partition_is_bsd): Rename to ...
29565 (grub_msdos_partition_is_bsd): ... this. Update all users.
29566
29567 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
29568 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
29569 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
29570 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
29571 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
29572 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
29573 (gpt_mod_LDFLAGS): Rename to ...
29574 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
29575 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
29576 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
29577 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
29578 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
29579 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
29580 (part_gpt_mod_LDFLAGS): ... this.
29581 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
29582 `pcpart.mod' to `msdospart.mod'.
29583 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
29584 to ...
29585 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
29586 (msdospart_mod_LDFLAGS): ... this.
29587
c11fded5 295882009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
29589
29590 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
29591 (openbsd_opts): Likewise.
29592 (netbsd_opts): Likewise.
29593 (freebsd_flags): Added 0 terminator.
29594 (openbsd_flags): Likewise.
29595 (netbsd_flags): Likewise.
29596 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
29597 (grub_cmd_freebsd): Transformed into extended command.
29598 (grub_cmd_openbsd): Likewise.
29599 (grub_cmd_netbsd): Likewise.
29600 (cmd_freebsd): Changed type to grub_extcmd_t.
29601 (cmd_openbsd): Likewise.
29602 (cmd_netbsd): Likewise.
29603 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
29604 grub_cmd_openbsd as extended commands.
29605 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
29606 cmd_netbsd and cmd_openbsd
29607
11d1c769 296082009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
29609
29610 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
29611
7a9094e5 296122009-08-21 Pavel Roskin <proski@gnu.org>
29613
5496c37e 29614 * Makefile.in (install-local): When checking if a file is in the
29615 build directory, use "test -e" to detect symlinks.
29616
7a9094e5 29617 * Makefile.in (install-local): Remove all files in
29618 $(DESTDIR)$(pkglibdir) before installing new files there.
29619
e53cea11 296202009-08-18 Felix Zielcke <fzielcke@z-51.de>
29621
29622 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
29623 grub-mkelfimage.
29624
9aced544 296252009-08-18 Felix Zielcke <fzielcke@z-51.de>
29626
29627 * util/grub-mkconfig.in: Don't use gfxterm by default if not
29628 explicitly specified by the user.
29629
b7da6bab 296302009-08-18 Pavel Roskin <proski@gnu.org>
29631
29632 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
29633 grub_uint8_t pointer for data.
29634 * include/grub/fbutil.h (struct grub_video_fbblit_info):
29635 Likewise.
29636 * video/fb/fbutil.c: Remove unnecessary casts.
29637
19f1b335 296382009-08-17 Michal Suchanek <hramrach@centrum.cz>
29639
29640 VBE cleanup.
29641
29642 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
29643 (grub_vbe_set_video_mode): Save active mode info
29644 only after setting the mode.
29645 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
29646 second argument.
29647
2f467aa9 296482009-08-17 Michal Suchanek <hramrach@centrum.cz>
29649
29650 Rename variables for clarity.
29651
29652 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
29653 (active_vbe_mode_info): ... this. All users updated.
29654 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
29655 All users updated.
29656 (initial_mode): Rename to ...
29657 (initial_vbe_mode): ... this. All users updated.
29658 (mode_in_use): Rename to ..
29659 (vbe_mode_in_use): ... this. All users updated.
29660 (mode_list): Rename to ..
29661 (vbe_mode_list): ... this. All users updated.
29662 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
29663 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
29664 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
29665 'mode_list_size' to 'vbe_mode_list_size'.
29666 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
29667 'best_mode_info' to 'best_vbe_mode_info' and
29668 'best_mode' to 'best_vbe_mode'
29669
6025fcd7 296702009-08-17 Michal Suchanek <hramrach@centrum.cz>
29671
29672 Remove duplicate grub_video_fb_get_video_ptr.
29673
29674 * include/grub/fbutil.h (get_data_ptr): Rename to ...
29675 (grub_video_fb_get_video_ptr): ... this.
29676 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
29677 * video/fb/fbutil.c: Add comment about addressing.
29678 (get_data_ptr): Rename to ...
29679 (grub_video_fb_get_video_ptr): ... this. All users updated.
29680 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
29681
cc8c6faf 296822009-08-17 Robert Millan <rmh.grub@aybabtu.com>
29683
29684 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
29685 grub_dprintf() that was just added.
29686
08aa61f0 296872009-08-17 Robert Millan <rmh.grub@aybabtu.com>
29688
29689 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
29690 (DEFAULT_VIDEO_MODE): Remove macros.
29691 (grub_linux_boot): Remove assumption that Linux has FB support,
29692 and use "text" as default video mode.
29693
7cef4f75 296942009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
29695
29696 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
29697 grub_dprintf.
29698 * fs/fat.c (grub_fat_read_data): Likewise.
29699
e1f39873 297002009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29701
29702 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
29703 payload.
29704 (grub_module): Likewise.
29705
c166d79e 297062009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29707
29708 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
29709 mbi->cmdline but free playground.
29710
c60cee8e 297112009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29712
29713 Handle group offset on UFS1.
29714
29715 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
29716 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
29717
c0d8b5d4 297182009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29719
29720 Split ufs.mod into ufs1.mod and ufs2.mod.
29721
29722 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
29723 (grub_fstest_SOURCES): Likewise.
29724 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
29725 (ufs_mod_SOURCES): Remove.
29726 (ufs_mod_CFLAGS): Likewise.
29727 (ufs_mod_LDFLAGS): Likewise.
29728 (ufs1_mod_SOURCES): New variable.
29729 (ufs1_mod_CFLAGS): Likewise.
29730 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 29731 (ufs2_mod_SOURCES): New variable.
29732 (ufs2_mod_CFLAGS): Likewise.
29733 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 29734 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
29735 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
29736 Likewise.
29737 (grub_emu_SOURCES): Likewise.
29738 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29739 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29740 (grub_setup_SOURCES): Likewise.
29741 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29742 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
29743 (grub_setup_SOURCES): Likewise.
29744 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
29745 Likewise.
29746 * fs/ufs2.c: New file.
29747 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
29748
d3539132 297492009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
29750
29751 Framebuffer split.
29752
29753 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
29754 subsystem at the end.
29755 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
29756 (video_fb_mod_SOURCES): New variable.
29757 (video_fb_mod_CFLAGS): Likewise.
29758 (video_fb_mod_LDFLAGS): Likewise.
29759 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
29760 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
29761 * video/i386/pc/vbeblit.c: Moved from here ...
29762 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
29763 * video/i386/pc/vbefill.c: Moved from here ...
29764 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
29765 * video/i386/pc/vbeutil.c: Moved from here ...
29766 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
29767 * include/grub/i386/pc/vbeblit.h: Moved from here ...
29768 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
29769 * include/grub/i386/pc/vbefill.h: Moved from here ...
29770 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
29771 * include/grub/i386/pc/vbeutil.h: Moved from here ...
29772 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
29773 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
29774 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
29775 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
29776 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
29777 (grub_video_adapter): Added 'get_info_and_fini'.
29778 (grub_video_get_info_and_fini): New prototype.
29779 (grub_video_set_mode): make modestring const char *.
29780 * loader/i386/linux.c (grub_linux_setup_video): Use
29781 grub_video_get_info_and_fini.
29782 (grub_linux_boot): Move modesetting just before booting.
29783 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
29784 grub_video_get_info_and_fini.
29785 * video/i386/pc/vbe.c: Moved framebuffer part ...
29786 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
29787 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
29788 grub_video_fbstd_colors and grub_video_fb_set_palette.
29789 (grub_video_vbe_init): Clear 'framebuffer' variable and use
29790 grub_video_fb_init.
29791 (grub_video_vbe_fini): Use grub_video_fb_fini.
29792 (grub_video_vbe_setup): Use framebuffer.render_target instead of
29793 render_target and use grub_video_fb_set_active_render_target and
29794 grub_video_fb_set_palette.
29795 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
29796 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
29797 (grub_video_vbe_adapter): Use framebuffer.
29798 * video/video.c (grub_video_get_info_and_fini): New function.
29799 (grub_video_set_mode): Make modestring const char *.
29800 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
29801 values are already initialised.
29802
d404ee56 298032009-08-14 Pavel Roskin <proski@gnu.org>
29804
29805 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
29806 ABS and APPLE_CC.
29807 * boot/i386/pc/diskboot.S: Likewise.
29808 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
29809 sectors allow compilation on MacOSX.
29810 * conf/i386-pc.rmk: Enable unconditional compilation of
29811 lnxboot.img.
29812
9a10df16 298132009-08-13 Colin Watson <cjwatson@ubuntu.com>
29814
29815 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
29816 * util/grub.d/00_header.in: Enter interruptible sleep if
29817 GRUB_HIDDEN_TIMEOUT is set.
29818
be3c9ca7 298192009-08-13 Yves Blusseau <blusseau@zetam.org>
29820
29821 * include/grub/symbol.h: Add the LOCAL macro.
29822 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
29823 starting with "L_".
29824
1f9e557e 298252009-08-13 Pavel Roskin <proski@gnu.org>
29826
9ca62843 29827 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
29828 any modern compilers we support.
29829
1f9e557e 29830 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
29831 Use local labels starting with "L_" so that Apple assembler
29832 knows they are local.
29833
81623db6 298342009-08-10 Robert Millan <rmh.grub@aybabtu.com>
29835
29836 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
29837 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
29838 (bsd_kernel_types): ... this enum.
29839
29840 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
29841 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
29842 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
29843
29844 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
29845 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
29846 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
29847 messages.
29848
f5d35e7a 298492009-08-08 Robert Millan <rmh.grub@aybabtu.com>
29850
29851 * util/grub-dumpdevtree: Moved from here ...
29852 * util/i386/efi/grub-dumpdevtree: ... to here.
29853 (hexify): New function. Converts a string to its hex version.
29854 Generate hex versions of "efi" and "device-properties" by calling
29855 hexify() on the ASCII strings rather than by hardcoding numbers.
29856
d1e1d527 298572009-08-08 Robert Millan <rmh.grub@aybabtu.com>
29858
29859 * fs/jfs.c: Update copyright year.
29860
1ebbe064 298612009-08-08 Felix Zielcke <fzielcke@z-51.de>
29862
29863 * util/grub.d/00_header.in: Fix a comment.
29864 * util/grub.d/10_linux.in: Likewise.
29865 * util/grub.d/10_windows.in: Likewise.
29866 * util/grub.d/10_hurd.in: Likewise.
29867
a78c8d24 298682009-08-08 Felix Zielcke <fzielcke@z-51.de>
29869
29870 * util/grub-mkconfig.in: Allow the user to specify the used font
29871 with GRUB_FONT.
29872
29a6b9e8 298732009-08-08 Pavel Roskin <proski@gnu.org>
29874
b5f16cc4 29875 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
29876 available, xfs.mod needs it now.
29877
2f5cb827 29878 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
29879 the "g" modifier in sed when the intention is to strip something
29880 once. This fixes comparison of kernels with multiple dashes.
29881
29a6b9e8 29882 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
29883 on it. Add missing space before closing bracket. Fix
29884 misleading formatting.
29885
892a3d98 298862009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29887
29888 * docs/grub.texi: Major overhaul. Remove all sections that are
29889 specific to GRUB Legacy, or mostly composed of Legacy-specific
29890 information.
29891
ed94253f 298922009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29893
29894 * docs/version.texi: New file. Provides version information for
29895 grub.texi.
29896
126d6628 298972009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29898
29899 * docs/grub.texi: Update CVS information to SVN.
29900 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
29901
998b5aa9 299022009-08-07 Felix Zielcke <fzielcke@z-51.de>
29903
29904 * util/grub-mkconfig.in: Remove a wrong `fi'.
29905
818e094a 299062009-08-07 Felix Zielcke <fzielcke@z-51.de>
29907
29908 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
29909 (grub_jfs_uuid): New function.
29910 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
29911
b969c52f 299122009-08-07 Felix Zielcke <fzielcke@z-51.de>
29913
29914 * util/grub-mkconfig_lib.in (font_path): Move the functionality
29915 of it to ...
29916 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
29917 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
29918
7a4894cc 299192009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29920
29921 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
29922 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
29923 Update all users.
29924
29925 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
29926 not just "vmlinu[zx]".
29927 Moved from here ...
29928 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
29929 all users.
29930
29931 * util/grub.d/10_linux.in (find_latest): Moved from here ...
29932 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
29933 all users.
29934
4e2171f8 299352009-08-07 Robert Millan <rmh.grub@aybabtu.com>
29936
29937 * util/grub.d/10_freebsd.in: Use an absolute device path for
29938 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
29939
6dcfcb32 299402009-08-06 Felix Zielcke <fzielcke@z-51.de>
29941
29942 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
29943 handling of multiple abstraction modules.
29944
f56a8756 299452009-08-04 Robert Millan <rmh.grub@aybabtu.com>
29946
29947 Fix a bug resulting in black screen when loading Linux using a
29948 packed video mode.
29949
29950 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
29951 function.
29952
29953 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
29954 (grub_vbe_bios_getset_dac_palette_width): New function.
29955 (grub_vbe_bios_get_dac_palette_width)
29956 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
29957 grub_vbe_bios_getset_dac_palette_width()).
29958
29959 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
29960 check for return status.
29961 (grub_vbe_get_video_mode_info): When getting information for a packed
29962 mode (<= 8 bpp), obtain DAC palette width using
29963 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
29964 {red,green,blue}_mark_size.
29965
222671b2 299662009-08-04 Felix Zielcke <fzielcke@z-51.de>
29967
ecb1a6d9 29968 * commands/search.c (options): Fix help output to match actual code.
222671b2 29969
f84114f5 299702009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
29971
29972 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
29973 of homegrown code.
29974
bd288a20 299752009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 29976
29977 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
29978 on XFS or ReiserFS.
29979
8aab5e25 299802009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
29981
29982 Support Apple partition map with sector size different from 512 bytes.
29983
29984 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
29985 (apple_partition_map_iterate): Respect 'aheader.blocksize'
29986 and 'apart.partmap_size'.
29987
6ad6258a 299882009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
299892009-08-01 Robert Millan <rmh.grub@aybabtu.com>
29990
29991 Fix cpuid command.
29992
29993 * commands/i386/cpuid.c (options): New variable.
29994 (grub_cmd_cpuid): Return real error.
29995 (GRUB_MOD_INIT(cpuid)): Declare options.
29996
67459bc6 299972009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
29998
29999 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
30000 valid.
30001
fbc6ab54 300022009-07-31 Bean <bean123ch@gmail.com>
30003
30004 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
30005 log2_inode.
30006 (grub_fshelp_node): Move inode field to the end.
30007 (grub_xfs_data): Remove inode field.
30008 (grub_xfs_inode_block): Calculate inode size using sblock.
30009 (grub_xfs_inode_offset): Likewise.
30010 (grub_xfs_read_inode): Calculate inode size using sblock.
30011 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
30012 (grub_xfs_iterate_dir): Calculate inode size using sblock.
30013 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
30014 to match inode size.
30015 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
30016 not accessible when data is null.
30017 (grub_xfs_open): Likewise.
30018
f45d6cfc 300192009-07-31 Bean <bean123ch@gmail.com>
30020
30021 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
30022 Don't change pv->disk if it's already set.
30023
30024 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
30025 (grub_raid_register): ... here.
30026 (grub_raid_rescan): Removed.
30027
30028 * include/grub/raid.h (grub_raid_rescan): Removed.
30029
30030 * util/grub-fstest.c: Remove include file <grub/raid.h>.
30031 (fstest): Replace grub_raid_rescan with module fini function followed
30032 by init function.
30033
30034 * util/grub-probe.c: Add include file <grub/raid.h>.
30035 (probe_raid_level): New function.
30036 (probe): Detect abstraction by walking the disk device, support two
30037 level of abstraction (LVM on RAID) when detecting partition map.
30038
24443b5a 300392009-07-31 Pavel Roskin <proski@gnu.org>
30040
30041 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
30042 to grub_zalloc(), it was erroneous.
30043 Reported by Bean <bean123ch@gmail.com>
30044
a275d9e7 300452009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
30046
30047 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 30048 embedding zone, not only the first one.
a275d9e7 30049
56c5a47f 300502009-07-29 Joe Auricchio <jauricchio@gmail.com>
30051
30052 * term/gfxterm.c (clear_char): New function.
30053 (grub_virtual_screen_setup): Use clear_char.
30054 (scroll_up): Likewise.
30055 (grub_virtual_screen_cls): Likewise.
30056
67bb323a 300572009-07-29 Felix Zielcke <fzielcke@z-51.de>
30058
30059 * util/deviceiter.c (get_acceleraid_disk_name): New static
30060 function.
30061 (grub_util_iterate_devices): Handle Accelraid devices.
30062 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
30063
388a7c75 300642009-07-28 Robert Millan <rmh.grub@aybabtu.com>
30065
30066 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
30067 separator for the suggested gfxpayload string (';' collides with the
30068 parser and needs escaping).
30069
3bb7abcf 300702009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
30071
30072 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
30073 Clear direction flag before jumping to OS.
30074 (grub_multiboot2_real_boot): Likewise.
30075
2ddd36d7 300762009-07-28 Felix Zielcke <fzielcke@z-51.de>
30077
30078 * util/i386/pc/grub-install: Fix parsing of --disk-module
30079 option.
30080
c521b62b 300812009-07-28 Felix Zielcke <fzielcke@z-51.de>
30082
30083 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
30084 when embedding.
30085
880e0a0c 300862009-07-26 Felix Zielcke <fzielcke@z-51.de>
30087
30088 * util/grub-mkconfig.in (package_version): New variable.
30089 Use it do display the version.
30090
2366e356 300912009-07-25 Felix Zielcke <fzielcke@z-51.de>
30092
30093 * kern/file.c (grub_file_open): Revert to previous check with
30094 grub_errno.
30095
7ad8c80e 300962009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
30097
30098 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
30099 from help line. It's out of sync with code.
30100
72b9658b 301012009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
30102
30103 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
30104 entries on failed boot.
30105
77435277 301062009-07-25 Felix Zielcke <fzielcke@z-51.de>
30107
30108 * kern/file.c (grub_file_open): Fix an error check.
30109
fcaa8b21 301102009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
30111
35d16c74 30112 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
30113 partition map couldn't be identified.
fcaa8b21 30114
48904cd1 301152009-07-23 Pavel Roskin <proski@gnu.org>
30116
ef3c317f 30117 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
30118 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
30119 case of little endian words becomes just an optimization.
30120 Respect const modifier.
ad8ea1f4 30121 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 30122
48904cd1 30123 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
30124 to avoid loss of upper bits if align is unsigned and shorter
30125 than addr.
30126
260c9a89 301272009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
30128
30129 UUID support for UFS
30130
30131 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
30132 (grub_ufs_uuid): New function.
30133 (grub_ufs_fs): add .uuid
30134
f76ce889 301352009-07-21 Pavel Roskin <proski@gnu.org>
30136
30137 * kern/dl.c (grub_dl_check_header): Make static.
30138
6a6cbcaf 301392009-07-21 Felix Zielcke <fzielcke@z-51.de>
30140
30141 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
30142 add drivemap for Vista. It breaks Windows 7.
30143
cffcddb2 301442009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
30145
30146 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
30147 128 bytes
30148
1ef44b80 301492009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
30150
30151 Add BFS support
30152
30153 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
30154 (grub_fstest_SOURCES): Likewise.
30155 (pkglib_MODULES): Add befs.mod.
30156 (befs_mod_SOURCES): New variable.
30157 (befs_mod_CFLAGS): Likewise.
30158 (befs_mod_LDFLAGS): Likewise.
30159 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30160 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30161 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30162 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30163 (grub_setup_SOURCES): Likewise.
30164 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30165 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30166 (grub_setup_SOURCES): Likewise.
30167 * fs/befs.c: New file.
30168 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
30169 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
30170 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
30171 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
30172 (B_KEY_INDEX_ALIGN): New declaration.
30173 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
30174 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
30175 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
30176 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
30177 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
30178 (grub_afs_mount) [MODE_BFS]: Likewise.
30179 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
30180 (grub_afs_fs): Use GRUB_AFS_FSNAME
30181 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
30182 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
30183 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
30184 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
30185
4f253044 301862009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
30187
30188 * util/getroot.c (find_root_device): Add support for MacOSX.
30189 * util/hostdisk.c: Likewise.
30190
57a55913 301912009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
30192
30193 * font/font.c (find_glyph): Check whether a font is present to avoid
30194 segmentation fault.
75421ca9 30195
301962009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 30197
30198 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
30199
e98cd0c2 302002009-07-20 Pavel Roskin <proski@gnu.org>
30201
30202 * configure.ac: Trim excessively wordy excuses.
30203
1d2d169a 302042009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
30205
30206 Add symlink, mtime and label support to AtheFS.
30207
30208 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
30209 (grub_afs_iterate_dir): Handle symlinks.
30210 (grub_afs_open): Use grub_afs_read_symlink.
30211 (grub_afs_dir): Likewise.
30212 Pass mtime.
30213 (grub_afs_label): New function.
30214 (grub_afs_fs): Add grub_afs_label.
30215 (grub_afs_read_symlink): New function.
30216
186f3189 302172009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
30218
30219 Fix AtheFS support.
30220
30221 * fs/afs.c: Fix comments style.
30222 (grub_afs_blockrun): Declare as packed.
30223 (grub_afs_datastream): Likewise.
30224 (grub_afs_bnode): Likewise.
30225 (grub_afs_btree): Likewise.
30226 (grub_afs_sblock): Likewise.
30227 Declare `name' as char.
30228 (grub_afs_inode): Declare as packed.
30229 Change void *vnode to grub_uint32_t unused.
30230 (grub_afs_iterate_dir): Check that key_size is positive.
30231 (grub_afs_mount): Don't read superblock twice.
75421ca9 30232 (grub_afs_dir): Don't free node in case of error,
186f3189 30233 grub_fshelp_find_file already handles this.
30234 (grub_afs_open): Likewise.
30235
5680109e 302362009-07-19 Pavel Roskin <proski@gnu.org>
30237
30238 * Makefile.in: Remove LIBLZO and enable_lzo.
30239 * conf/i386-pc.rmk: Remove lzo support.
30240 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
30241 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
30242 support.
30243 * kern/i386/pc/lzo1x.S: Remove.
30244 * kern/i386/pc/startup.S: Remove lzo support.
30245 * util/i386/pc/grub-mkimage.c: Likewise.
30246
ac70fa32 302472009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
30248
30249 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
30250 * fs/xfs.c (grub_xfs_dir): Likewise.
30251 * fs/afs.c (grub_afs_dir): Likewise.
30252 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
30253 (grub_iso9660_open): Likewise.
30254 * fs/jfs.c (grub_jfs_open): Likewise.
30255 * fs/ext2.c (grub_ext2_dir): Likewise.
30256 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
30257 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 30258
eab58da2 302592009-07-16 Pavel Roskin <proski@gnu.org>
30260
d2838156 30261 * configure.ac: Never add "-c" to CFLAGS.
30262
55c70904 30263 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
30264
43e6200c 30265 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
30266 grub_cv_cc_efiemu should be used.
30267
ce7a733d 30268 * configure.ac: Typo fixes.
30269
eab58da2 30270 * kern/mm.c (grub_zalloc): New function.
30271 (grub_debug_zalloc): Likewise.
30272 * include/grub/mm.h: Declare grub_zalloc() and
30273 grub_debug_zalloc().
30274 * util/misc.c (grub_zalloc): New function.
30275 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
30276 instead of grub_malloc(), remove unneeded initializations.
30277 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
30278 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
30279 * commands/parttool.c (grub_cmd_parttool): Likewise.
30280 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
30281 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
30282 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
30283 * disk/usbms.c (grub_usbms_finddevs): Likewise.
30284 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
30285 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
30286 (grub_cmd_efiemu_pnvram): Likewise.
30287 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
30288 * fs/iso9660.c (grub_iso9660_mount): Likewise.
30289 (grub_iso9660_iterate_dir): Likewise.
30290 * fs/jfs.c (grub_jfs_opendir): Likewise.
30291 * fs/ntfs.c (list_file): Likewise.
30292 (grub_ntfs_mount): Likewise.
30293 * kern/disk.c (grub_disk_open): Likewise.
30294 * kern/dl.c (grub_dl_load_core): Likewise.
30295 * kern/elf.c (grub_elf_file): Likewise.
30296 * kern/env.c (grub_env_context_open): Likewise.
30297 (grub_env_set): Likewise.
30298 (grub_env_set_data_slot): Likewise.
30299 * kern/file.c (grub_file_open): Likewise.
30300 * kern/fs.c (grub_fs_blocklist_open): Likewise.
30301 * loader/i386/multiboot.c (grub_module): Likewise.
30302 * loader/xnu.c (grub_xnu_create_key): Likewise.
30303 (grub_xnu_create_value): Likewise.
30304 * normal/main.c (grub_normal_add_menu_entry): Likewise.
30305 (read_config_file): Likewise.
30306 * normal/menu_entry.c (make_screen): Likewise.
30307 * partmap/sun.c (sun_partition_map_iterate): Likewise.
30308 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
30309 * script/sh/script.c (grub_script_parse): Likewise.
30310 * video/bitmap.c (grub_video_bitmap_create): Likewise.
30311 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
30312 * video/readers/png.c (grub_png_output_byte): Likewise.
30313 (grub_video_reader_png): Likewise.
30314
830afef7 303152009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 30316
30317 Enable all targets that can be built by default
30318
830afef7 30319 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 30320 grub-mkfont and grub-fstest if they can be built
30321
ee293aee 303222009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
30323
30324 Fix hang and segmentation fault in grub-emu-usb
30325
30326 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
30327 * util/usb.c (grub_libusb_devices): likewise
30328 (grub_libusb_init): rename to ...
30329 (GRUB_MOD_INIT (libusb)):...this
30330 (grub_libusb_fini): rename to ..
30331 (GRUB_MOD_FINI (libusb)):...this
30332 * disk/usbms.c (grub_usbms_transfer): fix retry logic
30333 * include/grub/disk.h (grub_raid_init): removed, it's useless
30334 (grub_raid_fini): likewise
30335 (grub_lvm_init): likewise
30336 (grub_lvm_fini): likewise
30337 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
30338 by grub_init_all
30339
94414221 303402009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
30341
30342 Fix libusb
30343
30344 * Makefile.in (LIBUSB): new macro
30345 * genmk.rb (Utility/print_tail): new method
30346 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
30347 (top level): call util.print_tail at the end.
30348
59ade63d 303492009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
30350
30351 Make FreeBSD accept zpool.cache
30352
30353 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
30354 type is /boot/zfs/zpool.cache
30355
a58da8c7 303562009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
30357
30358 Fix 64-bit efiemu
30359
30360 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
30361 correct wrong typedef
30362 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
30363
20591577 303642009-07-15 Pavel Roskin <proski@gnu.org>
30365
560ca572 30366 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
30367 * kern/disk.c (struct grub_disk_cache): Likewise.
30368
e8e8e4fd 30369 * commands/probe.c (options): Typo fix.
30370
fde24e10 30371 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
30372 Increase to 0x5a to accommodate FAT32. Adjust other offsets
30373 accordingly.
30374 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
30375
379c54c1 30376 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
30377 the end of "Error" to make the message more readable.
30378
7bd8f5bf 30379 * boot/i386/pc/boot.S (kernel_segment): Remove.
30380 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
30381 for destination.
30382
40b132c5 30383 * boot/i386/pc/boot.S (boot_version): Remove.
30384 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
30385 Remove.
30386
20591577 30387 * include/grub/i386/pc/boot.h: Sort all offsets.
30388 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
30389 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
30390 * boot/i386/pc/boot.S: Assert location of every offset listed in
30391 include/grub/i386/pc/boot.h.
30392
2df32b2c 303932009-07-13 Pavel Roskin <proski@gnu.org>
30394
44b5d879 30395 * include/grub/i386/coreboot/machine.h: Rename
30396 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
30397 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
30398 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
30399
17dc3751 30400 * kern/dl.c: Force native word size to suppress warnings when
30401 compiling grub-emu.
30402
2df32b2c 30403 * kern/device.c (grub_device_iterate): Change struct part_ent to
30404 hold the name, not a pointer to it. Use one grub_malloc() per
30405 partition, not two. Free partition_name if grub_malloc() fails.
30406 Set ents to NULL only before grub_partition_iterate() is called.
30407
75c59f59 304082009-07-11 Bean <bean123ch@gmail.com>
30409
30410 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
30411 childname.
30412
0ae1bf88 304132009-07-10 Bean <bean123ch@gmail.com>
304142009-07-10 Robert Millan <rmh.grub@aybabtu.com>
30415
30416 * kern/ieee1275/openfw.c (grub_children_iterate)
30417 (grub_devalias_iterate): Fix size evaluation for property or path
30418 strings, which was broken since r2132.
30419
8279cade 304202009-07-07 Pavel Roskin <proski@gnu.org>
30421
7d8a52d3 30422 * commands/search.c (search_file): Merge into ...
30423 (search_fs): ... this. Accept search type as argument.
30424 (grub_cmd_search): Pass search type to search_fs().
30425
25f9a05a 30426 * include/grub/util/console.h: New file.
30427 * util/console.c: Use it instead of grub/machine/console.h.
30428 * util/grub-emu.c: Likewise.
30429
8279cade 30430 * lib/arg.c (find_long_option): Remove.
30431 (find_long): Add `len' argument, make `s' const char *.
30432 (grub_arg_parse): Parse long options in place, not in a
30433 temporary buffer.
30434
4a11b60f 304352009-07-06 Pavel Roskin <proski@gnu.org>
30436
99f68041 30437 * commands/search.c (search_fs): Fix potential NULL pointer
30438 dereference.
30439
4a11b60f 30440 * commands/search.c (search_fs): Replace QUID macro with quid_fn
30441 function pointer.
30442
e110f4de 304432009-07-06 Daniel Mierswa <impulze@impulze.org>
30444
30445 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
30446 comparison.
30447
46eeb6a2 304482009-07-05 Pavel Roskin <proski@gnu.org>
30449
bab74958 30450 * include/grub/i386/linux.h (struct linux_kernel_params):
30451 Restore padding3, it's still needed.
30452
46eeb6a2 30453 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
30454 FreeBSD.
30455 * util/osdetect.lua: Likewise.
30456
b4a1dc79 304572009-07-05 Bean <bean123ch@gmail.com>
30458
30459 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
30460
30461 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
30462 (grub_lua_getenv): Likewise.
30463 (grub_lua_setenv): Likewise.
30464 (save_errno): New function.
30465 (push_result): Likewise.
30466 (grub_lua_enum_device): Likewise.
30467 (grub_lua_enum_file): Likewise.
30468 (grub_lua_file_open): Likewise.
30469 (grub_lua_file_close): Likewise.
30470 (grub_lua_file_seek): Likewise.
30471 (grub_lua_file_read): Likewise.
30472 (grub_lua_file_getline): Likewise.
30473 (grub_lua_file_getsize): Likewise.
30474 (grub_lua_file_getpos): Likewise.
30475 (grub_lua_file_eof): Likewise.
30476 (grub_lua_file_exist): Likewise.
30477 (grub_lua_add_menu): Likewise.
30478
30479 * script/lua/grub_lua.h (isupper): New inline function.
30480 (islower): Likewise.
30481 (ispunct): Likewise.
30482 (isxdigit): Likewise.
30483 (strcspn): Change to normal function.
30484 (strpbkr): New function declaration.
30485 (memchr): Likewise.
30486
30487 * script/lua/grub_main.c (scan_str): New function.
30488 (strcspn): Likewise.
30489 (strpbrk): Likewise.
30490 (memchr): Likewise.
30491
30492 * script/lua/linit.c (lualibs): Enable the string library.
30493
30494 * util/osdetect.lua: New file.
30495
2da92295 304962009-07-04 Robert Millan <rmh.grub@aybabtu.com>
30497
30498 * include/grub/i386/linux.h (struct linux_kernel_params): Add
30499 `capabilities' member.
30500
b2582ec9 305012009-07-02 Pavel Roskin <proski@gnu.org>
30502
30503 * genparttoollist.sh: Add missing newline at the end.
30504
32622956 305052009-07-01 Pavel Roskin <proski@gnu.org>
30506
87a7339e 30507 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
30508
d23af54e 30509 * util/hostdisk.c (open_device): Remove `const' from
30510 `sysctl_size', as sysctlbyname() can change it (in this case it
30511 doesn't actually happen).
30512
c94b18a9 30513 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
30514 using signed long int constants.
30515
c6cd3ef0 30516 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
30517 constant to avoid a warning on FreeBSD.
30518
0df63420 30519 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
30520 where it's needed.
30521
999577f1 30522 * Makefile.in: Install include/grub/machine symlink.
30523
6f41557f 30524 * Makefile.in: When installing symlinks, use "cp -fR", which
30525 works on FreeBSD and MacOSX.
30526 From Yves Blusseau <cl7m42e02@sneakemail.com>
30527
c8d22988 30528 * kern/dl.c (grub_dl_resolve_symbol): Make static.
30529 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
30530
1b96e952 30531 * util/misc.c: Move grub_reboot() and grub_halt() ...
30532 * util/grub-emu.c: ... here. Make main_env static.
30533 * include/grub/util/misc.h: Remove main_env.
30534
2ef0084d 30535 * kern/mm.c: Use correct format to print size_t.
30536
32622956 30537 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
30538 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
30539 * kern/powerpc/dl.c: Likewise.
30540 * kern/sparc64/dl.c: Likewise.
30541 * kern/x86_64/dl.c: Likewise.
30542
3f7f0cd0 305432009-07-01 Robert Millan <rmh.grub@aybabtu.com>
30544
30545 Fix grub-emu build on sparc64-ieee1275.
30546
75421ca9 30547 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 30548 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
30549
211d06b5 305502009-07-01 Robert Millan <rmh.grub@aybabtu.com>
30551
30552 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
30553 (grub_reboot, grub_halt): New functions.
30554
30555 * util/i386/pc/misc.c: Delete. Update all users.
30556 * util/sparc64/ieee1275/misc.c: Likewise.
30557 * util/powerpc/ieee1275/misc.c: Likewise.
30558
aaf53e3c 305592009-07-01 Robert Millan <rmh.grub@aybabtu.com>
30560
30561 * conf/i386.rmk (setjmp_mod_SOURCES)
30562 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
30563 * conf/common.rmk (setjmp_mod_SOURCES)
30564 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
30565 to use $(target_cpu).
30566 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
30567 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
30568 * conf/powerpc-ieee1275.rmk: Likewise.
30569 * conf/sparc64-ieee1275.rmk: Likewise.
30570
30571 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
30572 $(target_cpu) for kern/$(target_cpu)/dl.c.
30573 * conf/i386-efi.rmk: Likewise.
30574 * conf/i386-ieee1275.rmk: Likewise.
30575 * conf/x86_64-efi.rmk: Likewise.
30576 * conf/i386-coreboot.rmk: Likewise.
30577 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
30578 $(target_cpu) for kern/$(target_cpu)/dl.c and for
30579 kern/$(target_cpu)/cache.S.
30580 * conf/sparc64-ieee1275.rmk: Likewise.
30581
a337130b 305822009-07-01 Robert Millan <rmh.grub@aybabtu.com>
30583
30584 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
30585 type to `grub_uint8_t', and adjust `padding9' accordingly.
30586
c6fe4d53 305872009-06-29 Robert Millan <rmh.grub@aybabtu.com>
30588
b09db61d 30589 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
30590
c6fe4d53 30591 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
30592 assembly in final jump, using register constraints.
30593
b09db61d 30594 (grub_linux_boot): For text mode, initialize `have_vga' using
30595 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
30596
30597 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
30598 right before the final jump.
30599
30600 Set `video_mode' to 0x3.
30601
30602 Document initialization of `video_page', `video_mode' and
30603 `video_ega_bx'.
30604
28333ad0 306052009-06-29 Robert Millan <rmh.grub@aybabtu.com>
30606
30607 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
30608 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 30609 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 30610
02164e1b 306112009-06-29 Robert Millan <rmh.grub@aybabtu.com>
30612
30613 Fix build on Debian / sparc.
30614
30615 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
30616
18b6c557 306172009-06-28 Pavel Roskin <proski@gnu.org>
30618
85f2aab6 30619 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
30620 fix a warning.
30621
18b6c557 30622 * util/grub.d/10_linux.in: Match SUSE style initrd names.
30623
ad760f81 306242009-06-27 Robert Millan <rmh.grub@aybabtu.com>
30625
30626 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
30627 `err'.
30628
87a4623b 306292009-06-27 Robert Millan <rmh.grub@aybabtu.com>
30630
30631 Revert r2338.
30632
30633 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
30634 file can't be opened. grub_file_open() is already supposed to set
75421ca9 30635 grub_errno / grub_errmsg appropriately.
87a4623b 30636 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
30637
8231fb77 306382009-06-27 Pavel Roskin <proski@gnu.org>
306392009-06-27 Robert Millan <rmh.grub@aybabtu.com>
30640
30641 * include/grub/dl.h: Include grub/elf.h.
30642 (struct grub_dl): Add symtab field.
30643 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
30644 GRUB_MODULES_MACHINE_READONLY.
30645 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
30646 of the header for read-only modules.
30647 (grub_dl_unload): Free mod->symtab for read-only modules.
30648 * kern/i386/dl.c: Use mod->symtab.
30649 * kern/powerpc/dl.c: Likewise.
30650 * kern/sparc64/dl.c: Likewise.
30651 * kern/x86_64/dl.c: Likewise.
30652
30653 * conf/i386-qemu.rmk: New file.
30654 * kern/i386/qemu/startup.S: Likewise.
30655 * kern/i386/qemu/mmap.c: Likewise.
30656 * boot/i386/qemu/boot.S: Likewise.
30657 * include/grub/i386/qemu/time.h: Likewise.
30658 * include/grub/i386/qemu/serial.h: Likewise.
30659 * include/grub/i386/qemu/kernel.h: Likewise.
30660 * include/grub/i386/qemu/console.h: Likewise.
30661 * include/grub/i386/qemu/boot.h: Likewise.
30662 * include/grub/i386/qemu/init.h: Likewise.
30663 * include/grub/i386/qemu/machine.h: Likewise.
30664 * include/grub/i386/qemu/loader.h: Likewise.
30665 * include/grub/i386/qemu/memory.h: Likewise.
30666
30667 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
30668 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
30669 [qemu] (pkglib_IMAGES): Add `boot.img'.
30670 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
30671 [qemu] (boot_img_FORMAT): New variables.
30672 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
30673 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
30674 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
30675 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
30676 [qemu] (kernel_img_FORMAT): New variables.
30677
30678 * configure.ac: Recognise `i386-qemu'.
30679
30680 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
30681 (for no compression).
30682 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
30683 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
30684 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
30685 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
30686 ifdefs).
30687
97fe384e 306882009-06-27 Pavel Roskin <proski@gnu.org>
30689
30690 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
30691 read.
30692 * efiemu/prepare32.c: Likewise.
30693 * efiemu/prepare64.c: Likewise.
30694
c402ab17 306952009-06-26 Pavel Roskin <proski@gnu.org>
30696
30697 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
30698 * include/grub/elf.h: Define symbols without "32" or "64" based
30699 on GRUB_TARGET_WORDSIZE.
30700 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
30701 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
30702 ELF definitions.
30703 * efiemu/loadcore64.c: Likewise.
30704 * loader/i386/bsd32.c: Likewise.
30705 * loader/i386/bsd64.c: Likewise.
30706 * kern/dl.c: Remove own ELF definitions.
30707 * util/i386/efi/grub-mkimage.c: Likewise.
30708
9bbdfd4d 307092009-06-23 Robert Millan <rmh.grub@aybabtu.com>
30710
30711 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
30712 segment 0x0 unconditionally, because the reference generated by
30713 GAS is an absolute address.
30714
a42ce6e9 307152009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30716
30717 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
30718 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
30719
c952cf92 307202009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30721
30722 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
30723 indexes. Check for -f explicitly.
cc3752ad 30724 (search_file): Improve error message.
30725 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 30726
132a0a59 307272009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30728
30729 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
30730 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
30731
387a140c 307322009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30733
30734 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
30735 * conf/i386-ieee1275.rmk: Likewise.
30736 * conf/i386-coreboot.rmk: Likewise.
30737
30738 * kern/i386/pc/startup.S (grub_stop): Remove function.
30739 * kern/i386/ieee1275/startup.S: Likewise.
30740 * kern/i386/coreboot/startup.S: Likewise.
30741 * kern/i386/misc.S (grub_stop): New function.
30742
41da9665 307432009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30744
30745 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
30746 * kern/i386/realmode.S (real_to_prot): ... to here.
30747
bf337234 307482009-06-22 Robert Millan <rmh.grub@aybabtu.com>
30749
30750 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
30751 with `kernel.img'.
30752 (kernel_elf_SOURCES): Rename to ...
30753 (kernel_img_SOURCES): ... this.
30754 (kernel_elf_HEADERS): Rename to ...
30755 (kernel_img_HEADERS): ... this. Update all users.
30756 (kernel_elf_ASFLAGS): Rename to ...
30757 (kernel_img_ASFLAGS): ... this.
30758 (kernel_elf_CFLAGS): Rename to ...
30759 (kernel_img_CFLAGS): ... this.
30760 (kernel_elf_LDFLAGS): Rename to ...
30761 (kernel_img_LDFLAGS): ... this.
30762 * conf/i386-coreboot.rmk: Likewise.
30763 * conf/powerpc-ieee1275.rmk: Likewise.
30764
30765 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
30766 with "kernel.img".
30767
f52196ff 307682009-06-21 Pavel Roskin <proski@gnu.org>
30769
c3cee413 30770 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
30771 to match nested functions.
30772 * loader/sparc64/ieee1275/linux.c: Likewise.
30773
f52196ff 30774 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
30775
58750afc 307762009-06-21 Robert Millan <rmh.grub@aybabtu.com>
30777
30778 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
30779 all i386 platforms.
30780
15355c7d 307812009-06-21 Robert Millan <rmh.grub@aybabtu.com>
30782
30783 Fix asm file handling on ELF, and remove workarounds.
30784
30785 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 30786 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 30787 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
30788 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
30789
3f3ec72b 307902009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
30791
30792 Load BSD ELF modules
30793
30794 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
30795 and loader/i386/bsd64.c
30796 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
30797 (FREEBSD_MODTYPE_ELF_MODULE): New definition
30798 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
30799 (grub_freebsd_load_elfmodule32): New declaration
30800 (grub_freebsd_load_elfmoduleobj64): Likewise
30801 (grub_freebsd_load_elf_meta32): Likewise
30802 (grub_freebsd_load_elf_meta64): Likewise
30803 (grub_freebsd_add_meta): Likewise
30804 (grub_freebsd_add_meta_module): Likewise
30805 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
30806 (grub_freebsd_add_meta_module): Likewise and move module-specific
30807 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
30808 (grub_cmd_freebsd): Add elf-kernel specific parts
30809 based on grub_freebsd_add_meta_module
30810 (grub_cmd_freebsd_module): Add type parsing moved from
30811 grub_freebsd_add_meta_module
30812 (grub_cmd_freebsd_module_elf): New function
30813 (cmd_freebsd_module_elf): New variable
30814 (GRUB_MOD_INIT): Register freebsd_module_elf
30815 * loader/i386/bsd32.c: New file
30816 * loader/i386/bsd64.c: Likewise
30817 * loader/i386/bsdXX.c: Likewise
30818 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
30819 (grub_elf64_load): Likewise
30820 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
30821 All users updated
30822 (grub_elf64_load_hook_t): Likewise
30823
0db15301 308242009-06-21 Colin Watson <cjwatson@ubuntu.com>
30825
30826 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
30827 variable.
30828 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
30829 don't write a menu entry for recovery mode.
30830
546796c1 308312009-06-20 Robert Millan <rmh.grub@aybabtu.com>
30832
30833 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
30834 after it's no longer needed.
30835
cd7310d5 308362009-06-20 Robert Millan <rmh.grub@aybabtu.com>
30837
30838 * include/grub/i386/loader.h (grub_linux_prot_size)
30839 (grub_linux_tmp_addr, grub_linux_real_addr)
30840 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
30841 GRUB_MACHINE_PCBIOS.
30842 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
30843 common grub_util_info() call to ...
30844 (generate_image): ... here.
30845 Fix use of uninitialized memory, comparison of signed with
30846 unsigned integers and memory leak.
30847 Remove bogus module address message.
30848
ab32d3b5 308492009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
30850
30851 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
30852 grub_raid_register
30853 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
30854
024ef597 308552009-06-19 Pavel Roskin <proski@gnu.org>
30856
30857 * configure.ac: Remove stray AC_MSG_CHECKING.
30858
3ac72b51 308592009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
30860
30861 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 30862
e14cd814 308632009-06-18 Pavel Roskin <proski@gnu.org>
30864
30865 * conf/common.rmk: Add fs_file.mod.
30866 * disk/fs_file.c: New file.
30867 * include/grub/disk.h (enum grub_disk_dev_id): Add
30868 GRUB_DISK_DEVICE_FILE_ID.
30869
26586d98 308702009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
30871
30872 Fix build with Apple's toolchain. Part 2
30873
30874 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
30875 a fake start
30876
26de2bcd 308772009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
30878
30879 Fix build with Apple's toolchain. Part 1
30880
30881 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
30882 for long calls
30883 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 30884 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 30885 Apple's toolchain
30886
09b3490b 308872009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
30888
30889 Fix warnings
30890
30891 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
30892 (decomp_block): initialize ch
30893 use grub_memcpy instead of memcpy
30894
c22a006a 308952009-06-17 Pavel Roskin <proski@gnu.org>
30896
d3638678 30897 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
30898 version, use declarations needed to use vga_text as the startup
30899 console.
30900
c22a006a 30901 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
30902 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
30903 the kernel.
30904 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
30905 and grub_at_keyboard_fini(), it's done on module load and
30906 unload.
30907
05b129e0 309082009-06-17 Felix Zielcke <fzielcke@z-51.de>
30909
30910 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
30911 file can't be found.
30912 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
30913
cf24ed9e 309142009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
30915
30916 Fix newline handling
30917
30918 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 30919 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 30920 (grub_script_yylex): don't segfault on unterminated script
30921 newline terminates command and variable
30922
74aa8e4b 309232009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
30924
30925 avoid double grub_adjust_range call. Bug reported by David Simner
30926
30927 * kern/disk.c (grub_disk_write): change to raw disk access before
30928 calling disk_read
30929
1bd265f3 309302009-06-17 Colin Watson <cjwatson@ubuntu.com>
30931
30932 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
30933 spaces, for the benefit of help2man.
30934 * util/i386/efi/grub-mkimage.c (usage): Likewise.
30935
a2d08c06 309362009-06-16 Pavel Roskin <proski@gnu.org>
30937
30938 * kern/i386/halt.c: Include grub/machine/init.h.
30939 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
30940
b97bcb19 309412009-06-16 Felix Zielcke <fzielcke@z-51.de>
30942
30943 * util/grub.d/30_os-prober.in: Use ${root} in the generated
30944 drivemap menuentry.
30945
0644f96c 309462009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
30947
30948 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
30949 `echo' command.
30950
3ef17a2e 309512009-06-16 Pavel Roskin <proski@gnu.org>
30952
30953 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
30954 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
30955 save %dx, we only need %dl and we never change it.
30956 * boot/i386/pc/cdboot.S: Don't set the root drive.
30957 * boot/i386/pc/pxeboot.S: Likewise.
30958 * include/grub/i386/pc/boot.h: Remove
30959 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
30960 GRUB_BOOT_MACHINE_DRIVE_CHECK.
30961 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
30962 * kern/i386/pc/init.c (make_install_device): Remove references
30963 to grub_root_drive.
30964 * kern/i386/pc/startup.S: Likewise.
30965 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
30966
693fe637 309672009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
30968
30969 xnu_uuid command
30970
30971 * commands/xnu_uuid.c: new file
30972 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
30973 (xnu_uuid_mod_SOURCES): new variable
30974 (xnu_uuid_mod_CFLAGS): likewise
30975 (xnu_uuid_mod_LDFLAGS): likewise
30976 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
30977 * conf/i386-ieee1275.rmk: likewise
30978 * conf/i386-pc.rmk: likewise
30979 * conf/powerpc-ieee1275.rmk: likewise
30980 * conf/sparc64-ieee1275.rmk: likewise
30981 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
30982
c9da87d0 309832009-06-16 Pavel Roskin <proski@gnu.org>
30984
30985 * configure.ac: Avoid '==' in test command, it's not portable.
30986
9c6f4596 309872009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
30988
30989 Probe command
30990
30991 * commands/probe.c: new file
30992 * conf/common.rmk (pkglib_MODULES): add probe.mod
30993 (probe_mod_SOURCES): new variable
30994 (probe_mod_CFLAGS): likewise
30995 (probe_mod_LDFLAGS): likewise
30996 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
30997 * conf/i386-ieee1275.rmk: likewise
30998 * conf/i386-pc.rmk: likewise
30999 * conf/powerpc-ieee1275.rmk: likewise
31000 * conf/sparc64-ieee1275.rmk: likewise
31001
70b7f9fd 310022009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
31003
31004 Fix handling of string like \"hello\" and "a
31005 b"
31006
31007 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
31008 (grub_script_yylex): fix parsing of quoting, escaping and newline
31009
71c79a6b 310102009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
31011
dd74360c 31012 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 31013 handling
dd74360c 31014
0644f96c 310152009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 31016
31017 * util/grub-mkconfig.in: Fix parsing of --output option.
31018
e40893c3 310192009-06-12 Pavel Roskin <proski@gnu.org>
31020
31021 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
31022 genmk.rb don't need to be generated or installed.
31023
3a1acfe2 310242009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
31025
31026 * commands/i386/pc/drivemap_int13h.S: add more comments
31027
3a4575d4 310282009-06-11 Pavel Roskin <proski@gnu.org>
31029
0658e928 31030 * Makefile.in (uninstall): Uninstall manuals.
31031
ca0388f0 31032 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
31033 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
31034 and update-grub_lib in two places.
31035 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
31036
e3b27c39 31037 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
31038 a compiler warning.
31039
3a4575d4 31040 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
31041 `entry_lo' to fix variable shadowing.
31042
af1f4f55 310432009-06-11 Christian Franke <franke@computer.org>
31044
31045 * kern/misc.c (__enable_execute_stack): Add missing return type
31046 to prevent gcc warning.
31047
5225e649 310482009-06-11 Felix Zielcke <fzielcke@z-51.de>
31049
31050 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
31051
7d83bd47 310522009-06-11 Pavel Roskin <proski@gnu.org>
31053
c1cb63ba 31054 * Makefile.in: Don't rely on any scripts being executable.
31055 Always use $(SHELL) to run shell scripts.
31056
7d83bd47 31057 * configure.ac: Always define ___main if using -nostdlib. This
31058 fixes tests on Cygwin.
31059
948f48e7 310602009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
31061
31062 UDF fix
31063
7d83bd47 31064 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 31065 is in bytes and not in blocks
7d83bd47 31066
8ada9bc1 310672009-06-11 Pavel Roskin <proski@gnu.org>
31068
31069 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
31070 warning.
31071
25ad2323 310722009-06-11 Felix Zielcke <fzielcke@z-51.de>
31073
31074 * util/grub.d/30_os-prober.in: Fix a comment. Source
31075 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
31076 to set the root device. Place drivemap command in the generated
31077 chain entry.
31078
e65acb0c 310792009-06-11 Pavel Roskin <proski@gnu.org>
31080
31081 * configure.ac: Remove host_m32. Issues with 64-bit utilities
31082 have long been resolved.
31083
f285fe2d 310842009-06-11 Colin Watson <cjwatson@ubuntu.com>
31085
bd47b0b5 31086 * util/grub.d/10_linux.in: Capitalise "Linux".
31087
f285fe2d 31088 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
31089
a0c62e4e 310902009-06-11 Pavel Roskin <proski@gnu.org>
31091
b6783cb2 31092 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
31093 fix a gcc warning and ensure that the function won't ever exit.
31094
dde032e8 31095 * kern/i386/ieee1275/init.c: Add missing prototype for
31096 grub_stop_floppy().
31097
22cd079d 31098 * loader/ieee1275/multiboot2.c [__i386__]: Include
31099 grub/cpu/multiboot.h.
31100
a0c62e4e 31101 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
31102 casts to short - they are not portable and cause warnings. Fix
31103 use of uninitialized values in input_buf. Use ARRAY_SIZE.
31104
63963d17 311052009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
31106
31107 Drivemap fixes
31108
31109 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
31110 new function
31111 (grub_get_root_biosnumber_saved): new variable
31112 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
31113 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 31114 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 31115 %dx after the call if necessary
31116 * conf/common.rmk (pkglib_MODULES): remove boot.mod
31117 (boot_mod_SOURCES): remove
31118 (boot_mod_CFLAGS): remove
31119 (boot_mod_LDFLAGS): remove
31120 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
31121 (boot_mod_SOURCES): new variable
31122 (boot_mod_CFLAGS): likewise
31123 (boot_mod_LDFLAGS): likewise
31124 * conf/i386-efi.rmk: likewise
31125 * conf/i386-ieee1275.rmk: likewise
31126 * conf/i386-pc.rmk: likewise
31127 * conf/powerpc-ieee1275.rmk: likewise
31128 * conf/sparc64-ieee1275.rmk: likewise
31129 * conf/x86_64-efi.rmk: likewise
31130 * include/grub/i386/pc/biosnum.h: new file
31131 * lib/i386/pc/biosnum.c: likewise
31132 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
31133 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
31134 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 31135
33abf7ae 311362009-06-10 Pavel Roskin <proski@gnu.org>
31137
5ac35b35 31138 * io/gzio.c (test_header): Don't reuse one buffer for all data.
31139 Use separate variables. Read only the file size at the end, but
31140 not the checksum that we don't use.
31141
5c5215d5 31142 * kern/file.c (grub_file_read): Use void pointer for the buffer.
31143 Adjust all callers.
31144
27d5fef7 31145 * kern/ieee1275/openfw.c: Remove libc includes.
31146 * kern/ieee1275/cmain.c: Likewise.
31147 * include/grub/ieee1275/ieee1275.h: Likewise.
31148
33abf7ae 31149 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
31150 compiler warnings.
31151
19d50c2b 311522009-06-10 Felix Zielcke <fzielcke@z-51.de>
31153
31154 * Makefile.in: Remove all trailing whitespace.
31155 * conf/i386-pc.rmk: Likewise.
31156 * conf/powerpc-ieee1275.rmk: Likewise.
31157 * conf/sparc64-ieee1275.rmk: Likewise.
31158 * docs/grub.texi: Likewise.
31159 * docs/texinfo.tex: Likewise.
31160 * disk/fs_uuid.c: Likewise.
31161 * disk/lvm.c: Likewise.
31162 * disk/scsi.c: Likewise.
31163 * disk/ata.c: Likewise.
31164 * disk/ieee1275/ofdisk.c: Likewise.
31165 * disk/i386/pc/biosdisk.c: Likewise.
31166 * disk/host.c: Likewise.
31167 * disk/raid.c: Likewise.
31168 * disk/efi/efidisk.c: Likewise.
31169 * disk/usbms.c: Likewise.
31170 * disk/memdisk.c: Likewise.
31171 * disk/loopback.c: Likewise.
31172 * kern/powerpc/dl.c: Likewise.
31173 * kern/device.c: Likewise.
31174 * kern/dl.c: Likewise.
31175 * kern/sparc64/dl.c: Likewise.
31176 * kern/ieee1275/ieee1275.c: Likewise.
31177 * kern/term.c: Likewise.
31178 * kern/fs.c: Likewise.
31179 * kern/i386/dl.c: Likewise.
31180 * kern/i386/pc/startup.S: Likewise.
31181 * kern/i386/pc/init.c: Likewise.
31182 * kern/i386/pc/mmap.c: Likewise.
31183 * kern/i386/pc/lzo1x.S: Likewise.
31184 * kern/i386/ieee1275/init.c: Likewise.
31185 * kern/i386/realmode.S: Likewise.
31186 * kern/i386/tsc.c: Likewise.
31187 * kern/partition.c: Likewise.
31188 * kern/corecmd.c: Likewise.
31189 * kern/file.c: Likewise.
31190 * kern/efi/efi.c: Likewise.
31191 * kern/efi/init.c: Likewise.
31192 * kern/efi/mm.c: Likewise.
31193 * kern/main.c: Likewise.
31194 * kern/err.c: Likewise.
31195 * kern/env.c: Likewise.
31196 * kern/disk.c: Likewise.
31197 * kern/generic/millisleep.c: Likewise.
31198 * kern/generic/rtc_get_time_ms.c: Likewise.
31199 * kern/misc.c: Likewise.
31200 * kern/parser.c: Likewise.
31201 * genmk.rb: Likewise.
31202 * configure.ac: Likewise.
31203 * boot/i386/pc/diskboot.S: Likewise.
31204 * boot/i386/pc/pxeboot.S: Likewise.
31205 * boot/i386/pc/boot.S: Likewise.
31206 * boot/i386/pc/lnxboot.S: Likewise.
31207 * boot/i386/pc/cdboot.S: Likewise.
31208 * parttool/pcpart.c: Likewise.
31209 * video/readers/tga.c: Likewise.
31210 * video/video.c: Likewise.
31211 * video/bitmap.c: Likewise.
31212 * lib/envblk.c: Likewise.
31213 * lib/i386/setjmp.S: Likewise.
31214 * fs/xfs.c: Likewise.
31215 * fs/afs.c: Likewise.
31216 * fs/fat.c: Likewise.
31217 * fs/ntfs.c: Likewise.
31218 * fs/udf.c: Likewise.
31219 * fs/affs.c: Likewise.
31220 * fs/iso9660.c: Likewise.
31221 * fs/hfs.c: Likewise.
31222 * fs/fshelp.c: Likewise.
31223 * fs/ext2.c: Likewise.
31224 * fs/jfs.c: Likewise.
31225 * fs/reiserfs.c: Likewise.
31226 * fs/hfsplus.c: Likewise.
31227 * fs/minix.c: Likewise.
31228 * fs/cpio.c: Likewise.
31229 * fs/sfs.c: Likewise.
31230 * fs/ufs.c: Likewise.
31231 * efiemu/prepare.c: Likewise.
31232 * efiemu/loadcore_common.c: Likewise.
31233 * efiemu/runtime/efiemu.sh: Likewise.
31234 * efiemu/runtime/efiemu.S: Likewise.
31235 * efiemu/runtime/efiemu.c: Likewise.
31236 * efiemu/pnvram.c: Likewise.
31237 * efiemu/main.c: Likewise.
31238 * efiemu/i386/pc/cfgtables.c: Likewise.
31239 * efiemu/i386/loadcore64.c: Likewise.
31240 * efiemu/i386/loadcore32.c: Likewise.
31241 * efiemu/loadcore.c: Likewise.
31242 * efiemu/symbols.c: Likewise.
31243 * efiemu/mm.c: Likewise.
31244 * include/grub/autoefi.h: Likewise.
31245 * include/grub/datetime.h: Likewise.
31246 * include/grub/term.h: Likewise.
31247 * include/grub/hfs.h: Likewise.
31248 * include/grub/lvm.h: Likewise.
31249 * include/grub/i386/tsc.h: Likewise.
31250 * include/grub/i386/linux.h: Likewise.
31251 * include/grub/i386/xnu.h: Likewise.
31252 * include/grub/i386/efiemu.h: Likewise.
31253 * include/grub/i386/pc/biosdisk.h: Likewise.
31254 * include/grub/i386/pc/memory.h: Likewise.
31255 * include/grub/i386/pc/vbe.h: Likewise.
31256 * include/grub/parttool.h: Likewise.
31257 * include/grub/video.h: Likewise.
31258 * include/grub/memory.h: Likewise.
31259 * include/grub/fs.h: Likewise.
31260 * include/grub/partition.h: Likewise.
31261 * include/grub/xnu.h: Likewise.
31262 * include/grub/efi/api.h: Likewise.
31263 * include/grub/efi/pe32.h: Likewise.
31264 * include/grub/efi/memory.h: Likewise.
31265 * include/grub/multiboot.h: Likewise.
31266 * include/grub/usbdesc.h: Likewise.
31267 * include/grub/multiboot2.h: Likewise.
31268 * include/grub/acpi.h: Likewise.
31269 * include/grub/efiemu/efiemu.h: Likewise.
31270 * include/grub/disk.h: Likewise.
31271 * include/grub/ieee1275/ieee1275.h: Likewise.
31272 * include/grub/net.h: Likewise.
31273 * include/grub/machoload.h: Likewise.
31274 * include/grub/macho.h: Likewise.
31275 * include/multiboot.h: Likewise.
31276 * genmoddep.awk: Likewise.
31277 * normal/main.c: Likewise.
31278 * normal/menu_entry.c: Likewise.
31279 * normal/menu_viewer.c: Likewise.
31280 * normal/completion.c: Likewise.
31281 * normal/cmdline.c: Likewise.
31282 * normal/misc.c: Likewise.
31283 * normal/datetime.c: Likewise.
31284 * bus/usb/usbtrans.c: Likewise.
31285 * bus/usb/ohci.c: Likewise.
31286 * bus/usb/uhci.c: Likewise.
31287 * bus/usb/usb.c: Likewise.
31288 * mmap/efi/mmap.c: Likewise.
31289 * mmap/i386/pc/mmap_helper.S: Likewise.
31290 * mmap/i386/pc/mmap.c: Likewise.
31291 * mmap/i386/mmap.c: Likewise.
31292 * mmap/i386/uppermem.c: Likewise.
31293 * mmap/mmap.c: Likewise.
31294 * commands/acpi.c: Likewise.
31295 * commands/echo.c: Likewise.
31296 * commands/blocklist.c: Likewise.
31297 * commands/loadenv.c: Likewise.
31298 * commands/usbtest.c: Likewise.
31299 * commands/boot.c: Likewise.
31300 * commands/parttool.c: Likewise.
31301 * commands/search.c: Likewise.
31302 * commands/cat.c: Likewise.
31303 * commands/i386/pc/play.c: Likewise.
31304 * commands/i386/pc/drivemap.c: Likewise.
31305 * commands/i386/pc/vbeinfo.c: Likewise.
31306 * commands/i386/pc/acpi.c: Likewise.
31307 * commands/i386/pc/vbetest.c: Likewise.
31308 * commands/ls.c: Likewise.
31309 * commands/cmp.c: Likewise.
31310 * commands/test.c: Likewise.
31311 * commands/efi/acpi.c: Likewise.
31312 * commands/gptsync.c: Likewise.
31313 * commands/help.c: Likewise.
31314 * partmap/amiga.c: Likewise.
31315 * partmap/apple.c: Likewise.
31316 * partmap/acorn.c: Likewise.
31317 * partmap/pc.c: Likewise.
31318 * partmap/sun.c: Likewise.
31319 * partmap/gpt.c: Likewise.
31320 * script/sh/lexer.c: Likewise.
31321 * script/sh/function.c: Likewise.
31322 * font/font.c: Likewise.
31323 * font/font_cmd.c: Likewise.
31324 * loader/powerpc/ieee1275/linux.c: Likewise.
31325 * loader/efi/chainloader.c: Likewise.
31326 * loader/multiboot_loader.c: Likewise.
31327 * loader/macho.c: Likewise.
31328 * loader/i386/multiboot.c: Likewise.
31329 * loader/i386/linux.c: Likewise.
31330 * loader/i386/pc/linux.c: Likewise.
31331 * loader/i386/pc/multiboot2.c: Likewise.
31332 * loader/i386/pc/chainloader.c: Likewise.
31333 * loader/i386/pc/xnu.c: Likewise.
31334 * loader/i386/bsd_trampoline.S: Likewise.
31335 * loader/i386/efi/linux.c: Likewise.
31336 * loader/i386/multiboot_elfxx.c: Likewise.
31337 * loader/i386/bsd_helper.S: Likewise.
31338 * loader/i386/bsd.c: Likewise.
31339 * loader/i386/linux_trampoline.S: Likewise.
31340 * loader/i386/xnu_helper.S: Likewise.
31341 * loader/i386/xnu.c: Likewise.
31342 * loader/i386/bsd_pagetable.c: Likewise.
31343 * loader/i386/multiboot_helper.S: Likewise.
31344 * loader/xnu.c: Likewise.
31345 * loader/xnu_resume.c: Likewise.
31346 * io/gzio.c: Likewise.
31347 * term/efi/console.c: Likewise.
31348 * term/terminfo.c: Likewise.
31349 * term/ieee1275/ofconsole.c: Likewise.
31350 * term/i386/pc/serial.c: Likewise.
31351 * term/i386/pc/vesafb.c: Likewise.
31352 * term/i386/pc/vga.c: Likewise.
31353 * term/usb_keyboard.c: Likewise.
31354 * term/gfxterm.c: Likewise.
31355 * aclocal.m4: Likewise.
31356 * util/lvm.c: Likewise.
31357 * util/grub.d/30_os-prober.in: Likewise.
31358 * util/grub.d/10_hurd.in: Likewise.
31359 * util/console.c: Likewise.
31360 * util/grub-macho2img.c: Likewise.
31361 * util/grub-probe.c: Likewise.
31362 * util/hostfs.c: Likewise.
31363 * util/i386/pc/grub-mkimage.c: Likewise.
31364 * util/i386/pc/grub-setup.c: Likewise.
31365 * util/i386/efi/grub-mkimage.c: Likewise.
31366 * util/grub-mkconfig.in: Likewise.
31367 * util/raid.c: Likewise.
31368 * util/resolve.c: Likewise.
31369 * util/grub-mkdevicemap.c: Likewise.
31370 * util/grub-emu.c: Likewise.
31371 * util/getroot.c: Likewise.
31372 * util/hostdisk.c: Likewise.
31373 * util/usb.c: Likewise.
31374 * util/grub-editenv.c: Likewise.
31375 * util/misc.c: Likewise.
31376
d2d49665 313772009-06-10 Felix Zielcke <fzielcke@z-51.de>
31378
31379 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
31380 `genparttoollist.sh'.
31381 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
31382 Add `*.sh' to the list find searches for and change `mdate.sh'
31383 to `mdate-sh'.
31384
fe052e37 313852009-06-10 Pavel Roskin <proski@gnu.org>
31386
2763ac18 31387 * include/grub/multiboot2.h: Provide compatibility defines for
31388 multiboot2.h.
31389 * include/multiboot2.h: Include stdint.h only if needed, using
31390 angle brackets.
31391 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
31392 grub/multiboot2.h.
31393 * loader/ieee1275/multiboot2.c: Likewise.
31394 * loader/multiboot2.c: Likewise.
31395 * loader/multiboot_loader.c: Likewise.
31396
437e6adc 31397 * configure.ac: Use -nostdlib when probing for the target. It
31398 should not be required to have libc for the target.
31399
06a6836c 31400 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
31401 they fail without libc headers for the target.
31402 * include/grub/powerpc/libgcc.h: Use weak attribute for all
31403 exports.
31404 * include/grub/sparc64/libgcc.h: Likewise. Don't use
31405 preprocessor conditionals.
31406
fe052e37 31407 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
31408 build system doesn't need to be aware of the tar.c internals.
31409
afd22553 314102009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 31411
afd22553 31412 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 31413
6b787c4f 314142009-06-09 Robert Millan <rmh.grub@aybabtu.com>
31415
31416 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
31417 disk limit to 26 for IDE, Virtio, Xen and SCSI.
31418
314192009-06-09 Felix Zielcke <fzielcke@z-51.de>
31420
31421 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 31422 aren't available if ata.mod gets used.
6b787c4f 31423
473d1e45 314242009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 31425
473d1e45 31426 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 31427 initialising controller.
473d1e45 31428 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 31429
255a27d4 314302009-06-08 Felix Zielcke <fzielcke@z-51.de>
31431
31432 * util/i386/pc/grub-install.in: Add a parameter --disk-module
31433 to choose between ata and biosdisk module on i386-pc.
31434
473d1e45 314352009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 31436
d55842d8 31437 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
31438 Subclass and Programming Interface fields in terms of the 3 byte
31439 Class Code register.
31440 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
31441
fa5db0b1 31442 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
31443 interface is OHCI. Add grub_dprintf for symmetry with
31444 bus/usb/uhci.c.
31445 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
31446 interface is UHCI. Add interf variable for programming
31447 interface. Print interface with class/subclass.
31448
c0947beb 31449 * bus/usb/ohci.c: Set interf with correct field.
31450
69da8877 31451 * bus/usb/uhci.c: Remove unneeded doubled lines.
31452 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
31453 Remove whitespace inside comment.
31454
9e172e30 314552009-06-08 Robert Millan <rmh.grub@aybabtu.com>
31456
31457 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
31458 as fallback an equivalent option without depth.
31459
de65ee2b 314602009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
31461
31462 Not fail if unable to retrieve C/H/S on LBA disks
31463
473d1e45 31464 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 31465 if unable to retrieve C/H/S on LBA disks
31466
b57ea2c9 314672009-06-08 Pavel Roskin <proski@gnu.org>
31468
31469 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
31470 about aliasing.
31471
af361263 314722009-06-08 Felix Zielcke <fzielcke@z-51.de>
31473
31474 * Makefile.in (uninstall): Remove all $lib_DATA files.
31475
4c9ec6b3 314762009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
31477
31478 Bugfix: install on partitionless device
31479
31480 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
31481 is a whole disk
31482
e76fc924 314832009-06-08 Felix Zielcke <fzielcke@z-51.de>
31484
31485 * Makefile.in (uninstall): Remove all $include_DATA files.
31486
ba5a0d05 314872009-06-08 Felix Zielcke <fzielcke@z-51.de>
31488
31489 * commands/true.c: New file. Implement the true and false commands.
31490 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
31491 (true_mod_SOURCES): New variable.
31492 (true_mod_CFLAGS): Likewise.
31493 (true_mod_LDFLAGS): Likewise.
31494
c8048e32 314952009-06-05 Colin D Bennett <colin@gibibit.com>
31496
31497 Optimized font character lookup using binary search instead of linear
31498 search. Fonts now are required to have the character index ordered by
31499 code point.
31500
31501 * font/font.c (load_font_index): Verify that fonts have ordered
31502 character indices.
31503 (find_glyph): Use binary search instead of linear search to find a
31504 character in a font.
31505
408305be 315062009-06-05 Michael Scherer <misc@mandriva.org>
31507
31508 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
31509 uses case sensitive btree.
31510 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
31511 only for case insensitive filesystems.
31512
8ee1e0d9 315132009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
31514
31515 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
31516 * conf/common.rmk (search_mod_CFLAGS): likewise
31517
a9966eb1 315182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31519
473d1e45 31520 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 31521 compensate a compiler bug
31522
9e7100fb 315232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31524
473d1e45 31525 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 31526 instead of '\b'
473d1e45 31527
ede21d71 315282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31529
31530 Definitions for creating asm symbols with Apple's CC
31531
31532 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
31533 [APPLE_CC] (VARIABLE): likewise
31534
9dbf7653 315352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31536
31537 Disable lnxboot.img when compiled
31538 with Apple's CC
31539
31540 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
31541 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
31542 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
31543 [! APPLE_CC] (CODE_LENG): skip
31544 [! APPLE_CC] (setup_sects): likewise
31545 [! APPLE_CC]: skip filling
473d1e45 31546
e93cdc3d 315472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31548
31549 Address in trampolines based on 32-bit registers when compiled
31550 with Apple's CC
31551
473d1e45 31552 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 31553 for addresses
31554 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
31555
6c688477 315562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31557
31558 Avoid aliases when compiling with Apple's CC for PCBIOS machine
31559
31560 * kern/misc.c [APPLE_CC] (memcpy): new function
31561 [APPLE_CC] (memmove): likewise
31562 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 31563 (memcpy): define alias conditionally on !APPLE_CC
6c688477 31564 (memset): likewise
31565 (abort): likewise
31566 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
31567 APPLE_CC are defined
31568 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
31569 (grub_assert_fail): make prototype conditional
31570
e37ffc5c 315712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31572
31573 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
31574
473d1e45 31575 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
31576 grub-macho2img
e37ffc5c 31577 (CLEANFILES): add grub-macho2img
31578 (grub_macho2img_SOURCES): new variable
31579 * kern/i386/pc/startup.S (bss_start): new variable
31580 (bss_end): likewise
31581 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
31582 * util/grub-macho2img.c: new file
31583
cf00df31 315842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31585
31586 Use objconv when compiling with Apple's CC
31587
31588 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
31589 (efiemu64.o): likewise
31590 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
31591 when compiling with Apple's CC
31592 (efiemu64_s.o): likewise
31593 * configure.ac: check for objconv when compiling with Apple's CC
31594 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 31595
d119a20c 315962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31597
31598 Define segment as well as section when compiling with
31599 Apple's CC
31600
31601 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
31602 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
31603 (efiemu_convert_pointer): likewise
31604 (efiemu_set_virtual_address_map): likewise
31605 (efiemu_convert_pointer): likewise
31606 (efiemu_getcrc32): likewise
31607 (init_crc32_table): likewise
31608 (reflect): likewise
31609 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
31610 (GRUB_MOD_DEP): likewise
473d1e45 31611
c8600122 316122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31613
31614 Allow a compilation without -mcmodel=large
31615
31616 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
31617 when compiled without -mcmodel=large
473d1e45 31618 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 31619 without -mcmodel=large
473d1e45 31620 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 31621 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 31622
e8df1d4e 316232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31624
31625 Remove nested functions in efiemu core
31626
31627 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 31628
cc6c3ac1 316292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31630
31631 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
31632
31633 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
31634 temporary storage
473d1e45 31635 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
31636 using Apple's CC
cc6c3ac1 31637 (grub_cpu_is_tsc_supported): likewise
31638 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 31639
3e325901 316402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31641
31642 Absolute addressing through constant with Apple's cc
31643
31644 * kern/i386/pc/startup.S: Define necessary constants
31645 and address through it when using ABS with Apple's CC
31646 * boot/i386/pc/diskboot.S: likewise
31647 * boot/i386/pc/boot.S: likewise
31648 * boot/i386/pc/lnxboot.S: likewise
31649 * boot/i386/pc/cdboot.S: likewise
31650 * mmap/i386/pc/mmap_helper.S: likewise
31651 * commands/i386/pc/drivemap_int13h.S: likewise
31652
2b167a72 316532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31654
31655 Check if compiler is apple cc
31656
31657 * Makefile.in (ASFLAGS): new variable
31658 (TARGET_ASFLAGS): likewise
31659 (TARGET_MODULE_FORMAT): likewise
31660 (TARGET_APPLE_CC): likewise
31661 (OBJCONV): likewise
31662 (TARGET_IMG_CFLAGS): likewise
31663 (TARGET_CPPFLAGS): add includedir
31664 * configure.ac: call grub_apple_cc and grub_apple_target_cc
31665 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
31666 Check for linker script only if compiler isn't Apple's CC
31667 (TARGET_MODULE_FORMAT): set
31668 (TARGET_APPLE_CC): likewise
31669 (TARGET_ASFLAGS): likewise
31670 (ASFLAGS): likewise
31671 Check for objcopy only if compiler isn't Apple's CC
31672 Check for BSS symbol only if compiler isn't Apple's CC
31673 * genmk.rb: adapt nm options if we use Apple's utils
31674 * aclocal.m4 (grub_apple_cc): new test
31675 (grub_apple_target_cc): likewise
473d1e45 31676
fb14123e 316772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31678
31679 Simplify sed expressions and improve awk
31680
31681 * Makefile.in (install-local): simplify sed expression
31682 * gencmdlist.sh: likewise
31683 * genmoddep.awk: avoid adding module as a dependency of itself
31684
5b889789 316852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31686
31687 Add missing start symbols
31688
31689 * boot/i386/pc/boot.S: add start
fb14123e 31690 * boot/i386/pc/pxeboot.S: likewise
473d1e45 31691
fd2bf2e3 316922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31693
31694 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 31695
31696 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 31697 (relocate_addresses): consider both r_addend and value at offset
31698 (make_mods_section): zerofill modinfo and header
31699 (convert_elf): write prefix here
473d1e45 31700
5389763d 317012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31702
31703 Use .asciz instead of .string
31704
31705 * i386/pc/diskboot.S: use .asciz instead of .string
31706 * i386/pc/boot.S: likewise
31707 * include/grub/dl.h (GRUB_MOD_DEP): likewise
31708 (GRUB_MOD_NAME): likewise
473d1e45 31709
3eb5ed4e 317102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31711
31712 gfxpayload support
31713
31714 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
31715 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
31716 (grub_video_setup): remove
31717 (grub_video_set_mode): new prototype
31718 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
31719 (vid_mode): remove
31720 (linux_vesafb_res): compile only on PCBIOS
31721 (grub_linux_boot): support gfxpayload
31722 * loader/i386/pc/xnu.c (video_hook): new function
31723 (grub_xnu_set_video): support gfxpayload
31724 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
31725 (DEFAULT_VIDEO_HEIGHT): likewise
31726 (DEFAULT_VIDEO_FLAGS): likewise
31727 (DEFAULT_VIDEO_MODE): new definition
31728 (video_hook): new function
31729 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 31730 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 31731 loading xnu
31732 * video/video.c (grub_video_setup): removed
473d1e45 31733 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 31734 grub_video_setup
31735
4b0e1143 317362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31737
31738 Avoid calling biosdisk in drivemap
31739
31740 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
31741 (revparse_biosdisk): likewise
31742 (list_mappings): derive name from id directly
31743 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 31744
fda6cb98 317452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
31746
31747 Script fixes
31748
31749 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
31750 (grub_lexer_param): add tokenonhold
31751 (grub_script_create_cmdline): remove cmdline. All callers updated
31752 (grub_script_function_create): make functionname
31753 grub_script_arg. All callers updated
31754 (grub_script_execute_argument_to_string): new prototype
31755 * kern/parser.c (state_transitions): reorder
31756 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 31757 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 31758 make global
31759 (grub_script_execute_cmdline): use new format
31760 * script/sh/function.c (grub_script_function_create): make functionname
31761 grub_script_arg. All callers updated
473d1e45 31762 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 31763 (grub_script_yylex): remove
31764 (grub_script_yylex2): renamed to ...
31765 (grub_script_yylex): ...renamed
31766 parse the expressions like a${b}c
31767 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
31768 (GRUB_PARSER_TOKEN_VAR): remove
31769 (GRUB_PARSER_TOKEN_NAME): likewise
31770 ("if"): declare as typeless
31771 ("while"): likewise
31772 ("function"): likewise
31773 ("else"): likewise
31774 ("then"): likewise
31775 ("fi"): likewise
31776 (text): remove
31777 (argument): likewise
31778 (script): accept empty scripts and make exit on error
31779 (arguments): use GRUB_PARSER_TOKEN_ARG
31780 (function): likewise
31781 (command): move error handling to script
31782 (menuentry): move grub_script_lexer_ref before
473d1e45 31783 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 31784 argument. All callers updated
31785
f4448a07 317862009-06-04 Robert Millan <rmh.grub@aybabtu.com>
31787
31788 Prevent GRUB from probing floppies during boot.
31789
31790 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
31791 * commands/search.c (options): Add --no-floppy.
31792 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
31793 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
31794 --no-floppy when searching for UUIDs.
31795
2bf5885a 317962009-06-04 Robert Millan <rmh.grub@aybabtu.com>
31797
31798 Simplify the code duplication in commands/search.c.
31799
31800 * commands/search.c (search_label, search_fs_uuid): Merge into ...
31801 (search_fs): ... this. Update all users.
31802
f6fd460a 318032009-06-03 Felix Zielcke <fzielcke@z-51.de>
31804
31805 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
31806
cbb3c83e 318072009-05-28 Pavel Roskin <proski@gnu.org>
31808
57788cfd 31809 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
31810 Remove the original symlink explicitly.
31811
cbb3c83e 31812 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
31813 just one slash. That's how grub_fshelp_find_file() does it.
31814
cd0d5e30 318152009-05-26 Pavel Roskin <proski@gnu.org>
31816
f0f8bbe2 31817 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
31818 to `str'.
31819
cd0d5e30 31820 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
31821 possibly unused.
31822
8c2cab51 318232009-05-25 Christian Franke <franke@computer.org>
31824
31825 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
31826 register.
31827 (grub_atapi_identify): Add wait after drive select.
31828 (grub_ata_identify): Do more strict status register check before
31829 calling grub_atapi_identify (). Suppress error message if status
31830 register is 0x00 after command failure. Add status register
31831 check after PIO read to avoid bogus identify due to stuck DRQ.
31832 Thanks to Pavel Roskin for testing.
31833 (grub_device_initialize): Remove unsafe status register check.
31834 Thanks to 'phcoder' for problem report and patch.
31835 Prevent sign extension in debug message.
31836
230c0ad6 318372009-05-23 Colin D Bennett <colin@gibibit.com>
31838
31839 Cleaned up `include/grub/normal.h'. Grouped prototypes by
31840 definition file, and functions defined in `normal/menu.c' have had
31841 their prototypes moved to `include/grub/menu.h' for consistency.
31842
31843 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
31844 from normal.h.
31845 (grub_menu_get_entry): Likewise.
31846 (grub_menu_get_timeout): Likewise.
31847 (grub_menu_set_timeout): Likewise.
31848 (grub_menu_execute_entry): Likewise.
31849 (grub_menu_execute_with_fallback): Likewise.
31850 (grub_menu_entry_run): Likewise.
31851
31852 * include/grub/normal.h: Re-ordered and grouped function
31853 prototypes by file that the function is defined in.
31854 (grub_menu_execute_callback): Removed; moved to menu.h.
31855 (grub_menu_get_entry): Likewise.
31856 (grub_menu_get_timeout): Likewise.
31857 (grub_menu_set_timeout): Likewise.
31858 (grub_menu_execute_entry): Likewise.
31859 (grub_menu_execute_with_fallback): Likewise.
31860 (grub_menu_entry_run): Likewise.
31861 (grub_menu_addentry): Renamed from this ...
31862 (grub_normal_add_menu_entry): ... to this.
31863
31864 * normal/main.c (grub_menu_addentry): Renamed from this ...
31865 (grub_normal_add_menu_entry): ... to this.
31866
31867 * script/sh/execute.c (grub_script_execute_menuentry): Update
31868 reference to renamed grub_menu_addentry function.
31869
861f03a5 318702009-05-23 Felix Zielcke <fzielcke@z-51.de>
31871
31872 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
31873
96b1619a 318742009-05-22 Pavel Roskin <proski@gnu.org>
31875
bf6a5fb2 31876 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
31877 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
31878 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
31879 compiling for the i386 targets, but not for the utilities.
31880
96b1619a 31881 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
31882 to grub_uint8_t.
31883 (grub_root_drive): Likewise.
31884 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
31885 remove alignment.
31886 (grub_root_drive): Change size to byte.
31887 (grub_start_addr): Remove.
31888 (grub_end_addr): Likewise.
31889 (grub_apm_bios_info): Likewise.
31890
b729776b 318912009-05-21 Felix Zielcke <fzielcke@z-51.de>
31892
31893 * normal/i386: Remove.
31894 * normal/powerpc: Likewise.
31895 * normal/sparc64: Likewise.
31896 * normal/x86_64: Likewise.
31897
0a15ce80 318982009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
31899
31900 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 31901 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 31902 * loader/i386/xnu_helper.S: Likewise
d6da58e6 31903
33db9015 319042009-05-18 Colin D Bennett <colin@gibibit.com>
31905
d6da58e6 31906 Display error messages when parsing a Lua statement fails.
31907 Previously, executing a syntactically invalid statement like
31908 ")foo" or "bar;" would silently fail.
33db9015 31909
31910 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 31911 (grub_lua_parse_line): Improved reporting of Lua parser and
31912 execution errors.
33db9015 31913
46422c89 319142009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
31915
31916 Remove -Werror which causes build to fail on some systems
31917
31918 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
31919 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
31920 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 31921
22f53a96 319222009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
31923
31924 trampoline for linux on 64-bit platform
31925
18f547ad 31926 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
31927 loader/i386/efi/linux_trampoline.S
31928 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 31929 declaration
d6da58e6 31930 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
31931 here
22f53a96 31932 * loader/i386/linux_trampoline.S: moved here
d6da58e6 31933 * loader/i386/efi/linux.c (allocate_pages): reserve space for
31934 trampoline
22f53a96 31935 (jumpvector): removed
31936 (grub_linux_trampoline_start): new declaration
31937 (grub_linux_trampoline_end): likewise
31938 (grub_linux_boot): use trampoline when on 64-bit platform
31939 * loader/i386/linux.c: likewise
31940
cb5a0f40 319412009-05-16 Pavel Roskin <proski@gnu.org>
31942
31943 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
31944 const to avoid a warning.
31945 (grub_lua_setenv): Likewise.
31946 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
31947 lmsg to fix a warning.
31948
334f2c28 319492009-05-16 Felix Zielcke <fzielcke@z-51.de>
31950
31951 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 31952 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
31953 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
31954 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
31955 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
31956 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
31957 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
31958 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 31959
59e5d3ec 319602009-05-16 Felix Zielcke <fzielcke@z-51.de>
31961
31962 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
31963
9d87a1ba 319642009-05-16 Bean <bean123ch@gmail.com>
31965
31966 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
31967 (lua_mod_SOURCES): New variable.
31968 (lua_mod_CFLAGS): Likewise.
31969 (lua_mod_LDFLAGS): Likewise.
31970
31971 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
31972 (setjmp_mod_SOURCES): New variable.
31973 (setjmp_mod_CFLAGS): Likewise.
31974 (setjmp_LDFLAGS): Likewise.
31975
31976 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
31977 (setjmp_mod_SOURCES): New variable.
31978 (setjmp_mod_CFLAGS): Likewise.
31979 (setjmp_LDFLAGS): Likewise.
31980
31981 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
31982 (setjmp_mod_SOURCES): New variable.
31983 (setjmp_mod_CFLAGS): Likewise.
31984 (setjmp_LDFLAGS): Likewise.
31985
31986 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
31987 (setjmp_mod_SOURCES): New variable.
31988 (setjmp_mod_CFLAGS): Likewise.
31989 (setjmp_LDFLAGS): Likewise.
31990
31991 * normal/i386/setjmp.S: Moved from here ...
31992 * lib/i386/setjmp.S: ... Moved here
31993 * normal/x86_64/setjmp.S: Moved from here ...
31994 * lib/x86_64/setjmp.S: ... Moved here
31995 * normal/powerpc/setjmp.S: Moved from here ...
31996 * lib/powerpc/setjmp.S: ... Moved here
31997 * normal/sparc64/setjmp.S: Moved from here ...
31998 * lib/sparc64/setjmp.S: ... Moved here
31999
32000 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
32001 returns_twice in mingw.
32002
32003 * script/lua/grub_lib.c: New file.
32004 * script/lua/grub_lib.h: Likewise.
32005 * script/lua/grub_lua.h: Likewise.
32006 * script/lua/grub_main.c: Likewise.
32007 * script/lua/lapi.c: Likewise.
32008 * script/lua/lapi.h: Likewise.
32009 * script/lua/lauxlib.c: Likewise.
32010 * script/lua/lauxlib.h: Likewise.
32011 * script/lua/lbaselib.c: Likewise.
32012 * script/lua/lcode.c: Likewise.
32013 * script/lua/lcode.h: Likewise.
32014 * script/lua/ldblib.c: Likewise.
32015 * script/lua/ldebug.c: Likewise.
32016 * script/lua/ldebug.h: Likewise.
32017 * script/lua/ldo.c: Likewise.
32018 * script/lua/ldo.h: Likewise.
32019 * script/lua/ldump.c: Likewise.
32020 * script/lua/lfunc.c: Likewise.
32021 * script/lua/lfunc.h: Likewise.
32022 * script/lua/lgc.c: Likewise.
32023 * script/lua/lgc.h: Likewise.
32024 * script/lua/linit.c: Likewise.
32025 * script/lua/liolib.c: Likewise.
32026 * script/lua/llex.c: Likewise.
32027 * script/lua/llex.h: Likewise.
32028 * script/lua/llimits.h: Likewise.
32029 * script/lua/lmathlib.c: Likewise.
32030 * script/lua/lmem.c: Likewise.
32031 * script/lua/lmem.h: Likewise.
32032 * script/lua/loadlib.c: Likewise.
32033 * script/lua/lobject.c: Likewise.
32034 * script/lua/lobject.h: Likewise.
32035 * script/lua/lopcodes.c: Likewise.
32036 * script/lua/lopcodes.h: Likewise.
32037 * script/lua/loslib.c: Likewise.
32038 * script/lua/lparser.c: Likewise.
32039 * script/lua/lparser.h: Likewise.
32040 * script/lua/lstate.c: Likewise.
32041 * script/lua/lstate.h: Likewise.
32042 * script/lua/lstring.c: Likewise.
32043 * script/lua/lstring.h: Likewise.
32044 * script/lua/lstrlib.c: Likewise.
32045 * script/lua/ltable.c: Likewise.
32046 * script/lua/ltable.h: Likewise.
32047 * script/lua/ltablib.c: Likewise.
32048 * script/lua/ltm.c: Likewise.
32049 * script/lua/ltm.h: Likewise.
32050 * script/lua/lua.h: Likewise.
32051 * script/lua/luaconf.h: Likewise.
32052 * script/lua/lualib.h: Likewise.
32053 * script/lua/lundump.c: Likewise.
32054 * script/lua/lundump.h: Likewise.
32055 * script/lua/lvm.c: Likewise.
32056 * script/lua/lvm.h: Likewise.
32057 * script/lua/lzio.c: Likewise.
32058 * script/lua/lzio.h: Likewise.
32059
5e898c9d 320602009-05-16 Bean <bean123ch@gmail.com>
32061
32062 * include/grub/kernel.h (grub_module_header_types): Add type
32063 OBJ_TYPE_CONFIG.
32064
32065 * kern/main.c (grub_load_config): New function.
32066 (grub_main): Call grub_load_config to read boot config.
32067
32068 * grub-mkimage (generate_image): New parameter config_path.
32069 (options): New option --config.
32070 (main): Parse --config option, and pass it to generate_image.
32071
cf353a47 320722009-05-14 Christian Franke <franke@computer.org>
32073
32074 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
32075 This fixes build on Cygwin.
32076
3834887f 320772009-05-14 Pavel Roskin <proski@gnu.org>
32078
32079 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
32080 jump. This saves two bytes, so the typical case of 2 swapped
32081 drives would fit 32 bytes.
32082
8090fc01 320832009-05-13 Pavel Roskin <proski@gnu.org>
32084
ac963883 32085 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
32086 grub_uint32_t to avoid a warning.
32087
8090fc01 32088 * loader/i386/linux.c (allocate_pages): When assigning
32089 real_mode_mem, cast through grub_size_t to fix a warning. The
32090 code already makes sure that the value would fit a pointer.
32091 (grub_linux_setup_video): Cast render_target->data to
32092 grub_size_t to fix a warning.
32093
18f547ad 320942009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 32095
32096 * commands/i386/pc/drivemap.c: New file - implement drivemap
32097 command.
32098 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
32099 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
32100
6f6a8b28 321012009-05-13 Pavel Roskin <proski@gnu.org>
32102
32103 * util/i386/pc/grub-setup.c (setup): Remove unused variable
32104 embedding_area_exists.
32105
15fbf4c4 321062009-05-13 Robert Millan <rmh.grub@aybabtu.com>
32107
32108 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
32109 it easier to understand / work with.
59978c8a 32110 Improve warning messages for cases where there's no embedding area,
32111 or when it is too small (or core.img too large).
15fbf4c4 32112
238e871f 321132009-05-13 Pavel Roskin <proski@gnu.org>
32114
0ab3a9a4 32115 * loader/i386/pc/multiboot2.c: Add necessary includes for
32116 grub_multiboot2_real_boot().
32117
a2c8c5f8 32118 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
32119 PX record is always little-endian. We only need the lower 2
32120 bytes of the mode.
32121
faec96af 32122 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
32123 facilitate code reuse.
32124 (grub_cpio_mount): Use "struct head", not a char buffer. This
32125 fixes a warning reported by gcc 4.4.
32126
238e871f 32127 * kernel/disk.c (grub_disk_read): Use void pointer for the
32128 buffer.
32129 (grub_disk_write): Use const void pointer for the buffer.
32130 Adjust all callers. Remove unnecessary casts.
32131
901d2f0c 321322009-05-10 Robert Millan <rmh.grub@aybabtu.com>
32133
32134 * util/i386/pc/grub-install.in: Update copyright year.
32135
18f547ad 321362009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 32137
32138 gptsync
32139
32140 * commands/gptsync.c: new file
32141 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
32142 (gptsync_mod_SOURCES): new variable
32143 (gptsync_mod_CFLAGS): likewise
32144 (gptsync_mod_LDFLAGS): likewise
18f547ad 32145 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 32146 new definition
32147 (GRUB_PC_PARTITION_TYPE_HFS): likewise
32148 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
32149 * conf/i386-ieee1275.rmk: likewise
32150 * conf/i386-pc.rmk: likewise
32151 * conf/powerpc-ieee1275.rmk: likewise
32152
b4ba690a 321532009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
32154
32155 Fixed grub-emu
32156
32157 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
32158 (grub_dl_ref): likewise
32159
317e1a44 321602009-05-08 Robert Millan <rmh.grub@aybabtu.com>
32161
32162 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
32163 split in two functions (one for msdos and one for gpt).
32164
041b8094 321652009-05-08 Pavel Roskin <proski@gnu.org>
32166
752473c2 32167 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
32168 not modified.
32169
041b8094 32170 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
32171 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
32172 Initialize them with -1. Add sanity check for bad1. Eliminate
32173 nerr variable.
32174
172800ce 321752009-05-08 David S. Miller <davem@davemloft.net>
32176
32177 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
32178
29aa5e81 321792009-05-06 Robert Millan <rmh.grub@aybabtu.com>
32180
32181 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 32182 existence.
29aa5e81 32183
96613b62 321842009-05-05 Felix Zielcke <fzielcke@z-51.de>
32185
32186 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 32187 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 32188
eef73c8a 321892009-05-05 David S. Miller <davem@davemloft.net>
32190
32191 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
32192
119494b5 321932009-05-05 Pavel Roskin <proski@gnu.org>
32194
32195 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
32196 of grub_dl_ref() and grub_dl_unref().
32197 * commands/parttool.c: Remove preprocessor conditionals around
32198 grub_dl_ref() and grub_dl_unref().
32199 * fs/affs.c: Likewise.
32200 * fs/afs.c: Likewise.
32201 * fs/cpio.c: Likewise.
32202 * fs/ext2.c: Likewise.
32203 * fs/fat.c: Likewise.
32204 * fs/hfs.c: Likewise.
32205 * fs/hfsplus.c: Likewise.
32206 * fs/iso9660.c: Likewise.
32207 * fs/jfs.c: Likewise.
32208 * fs/minix.c: Likewise.
32209 * fs/ntfs.c: Likewise.
32210 * fs/reiserfs.c: Likewise.
32211 * fs/sfs.c: Likewise.
32212 * fs/udf.c: Likewise.
32213 * fs/ufs.c: Likewise.
32214 * fs/xfs.c: Likewise.
32215 * include/grub/dl.h: Likewise.
32216 * loader/xnu.c: Likewise.
32217
de5fd76e 322182009-05-04 Pavel Roskin <proski@gnu.org>
32219
32220 * commands/acpi.c: Remove unused variable my_mod.
32221 * partmap/amiga.c: Likewise.
32222 * partmap/apple.c: Likewise.
32223 * partmap/gpt.c: Likewise.
32224 * partmap/pc.c: Likewise.
32225 * partmap/sun.c: Likewise.
32226 * term/gfxterm.c: Likewise.
32227 * term/i386/pc/vesafb.c: Likewise.
32228 * term/i386/pc/vga.c: Likewise.
32229
983598ad 322302009-05-04 David S. Miller <davem@davemloft.net>
32231
32232 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
32233 pointer args to grub_ieee1275_get_property().
32234
8aadec43 32235 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
32236
9554b15e 32237 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
32238 devices, and do not traverse down under controller nodes.
32239
67e23c90 32240 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
32241 (grub_ofdisk_open): Use it to un-escape "," characters.
32242 * kern/disk.c (find_part_sep): New.
32243 (grub_disk_open): Use it to find the first non-escaped ','
32244 character in the disk name.
32245 * util/ieee1275/devicemap.c (escape_of_path): New.
32246 (grub_util_emit_devicemap_entry): Use it.
32247 * util/sparc64/ieee1275/grub-install.in: Update script to
32248 strip partition specifiers properly by not triggering on
32249 '\' escaped ',' characters.
32250
74bfdd2f 322512009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32252
32253 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
32254 to 0x300.
32255 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
32256 resolutions.
32257 (linux_vesafb_modes): Add a lot of additional modes to the list (based
32258 on documentation from Wikipedia).
32259
4241d2b1 322602009-05-04 Pavel Roskin <proski@gnu.org>
32261
32262 * disk/ata.c: Spelling fixes.
32263 * disk/raid.c: Likewise.
32264 * disk/usbms.c: Likewise.
32265 * disk/dmraid_nvidia.c: Likewise.
32266 * kern/ieee1275/openfw.c: Likewise.
32267 * kern/ieee1275/init.c: Likewise.
32268 * kern/ieee1275/cmain.c: Likewise.
32269 * boot/i386/pc/cdboot.S: Likewise.
32270 * video/readers/png.c: Likewise.
32271 * video/i386/pc/vbe.c: Likewise.
32272 * fs/udf.c: Likewise.
32273 * fs/hfs.c: Likewise.
32274 * fs/reiserfs.c: Likewise.
32275 * efiemu/runtime/efiemu.c: Likewise.
32276 * efiemu/main.c: Likewise.
32277 * efiemu/mm.c: Likewise.
32278 * include/grub/elf.h: Likewise.
32279 * include/grub/xnu.h: Likewise.
32280 * include/grub/usbdesc.h: Likewise.
32281 * include/grub/usb.h: Likewise.
32282 * include/grub/script_sh.h: Likewise.
32283 * include/grub/lib/LzmaEnc.h: Likewise.
32284 * include/grub/efiemu/efiemu.h: Likewise.
32285 * include/grub/command.h: Likewise.
32286 * normal/menu.c: Likewise.
32287 * normal/main.c: Likewise.
32288 * normal/datetime.c: Likewise.
32289 * bus/usb/uhci.c: Likewise.
32290 * mmap/i386/uppermem.c: Likewise.
32291 * mmap/mmap.c: Likewise.
32292 * commands/acpi.c: Likewise.
32293 * commands/test.c: Likewise.
32294 * partmap/apple.c: Likewise.
32295 * font/font.c: Likewise.
32296 * loader/sparc64/ieee1275/linux.c: Likewise.
32297 * loader/macho.c: Likewise.
32298 * loader/i386/bsd_trampoline.S: Likewise.
32299 * loader/i386/bsd.c: Likewise.
32300 * loader/xnu.c: Likewise.
32301 * term/i386/pc/vesafb.c: Likewise.
32302 * term/usb_keyboard.c: Likewise.
32303 * util/resolve.c: Likewise.
32304 * util/getroot.c: Likewise.
32305
0cfc0083 323062009-05-04 Felix Zielcke <fzielcke@z-51.de>
32307
32308 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
32309
7c1d00cd 323102009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32311
32312 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
32313 build error.
32314
b01f0548 323152009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32316
32317 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
32318 parameter only available on BIOS.
32319
ecc3eb22 323202009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
32321
32322 Removed wrong semicolon in declaration
32323
32324 * grub/misc.h (grub_dprintf): remove semicolon
32325
112972a9 323262009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32327
32328 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
32329 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
32330 is done by grub_cmd_linux() now).
32331 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
32332 restore video to text mode.
32333 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
32334 indicates lack of "vga=" parameter. "vga=0" is mapped to
32335 `GRUB_LINUX_VID_MODE_NORMAL'.
32336
afd5c115 323372009-05-04 Felix Zielcke <fzielcke@z-51.de>
32338
32339 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
32340 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
32341 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 32342 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 32343 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
32344 `grub_script.tab.c'.
32345
32346 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32347 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32348 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32349 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32350 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32351
faa517ce 32352 * Makefile.in: Remove duplicated 2008 in Copyright line.
32353
ae0c0bdc 323542009-05-04 Robert Millan <rmh.grub@aybabtu.com>
32355
473d1e45 32356 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 32357 unconditionally.
32358 * include/grub/util/misc.h (grub_util_warn): New declaration.
32359
32360 * util/i386/pc/grub-install.in: Understand --force and pass it down
32361 to grub-setup.
32362
32363 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
32364 down to setup().
32365 (setup): Improve error messages and add warnings when requested to
32366 install in odd layouts. Refuse to install using blocklists unless
32367 --force was set.
32368
18f547ad 323692009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 32370
32371 * disk/raid.c (grub_raid_scan_device): Improve debug message.
32372
6d260daa 323732009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
32374
32375 Updated copyright year
32376
32377 * fs/hfsplus.c: updated copyright year
18f547ad 32378
69f853f8 323792009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
32380
32381 HFS+ UUID
32382
18f547ad 32383 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 32384 in the space previously used by unused3
32385 (grub_hfsplus_uuid): new function
32386 (grub_hfsplus_fs): added uuid field
32387
4c402e73 323882009-05-03 Pavel Roskin <proski@gnu.org>
32389
32390 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
32391 suppress warnings. It's no longer needed.
32392 * disk/host.c: Likewise.
32393 * disk/ata_pthru.c: Likewise.
32394 * disk/loopback.c: Likewise.
32395 * hook/datehook.c: Likewise.
32396 * parttool/pcpart.c: Likewise.
32397 * fs/i386/pc/pxe.c: Likewise.
32398 * fs/ntfscomp.c: Likewise.
32399 * efiemu/main.c: Likewise.
32400 * mmap/mmap.c: Likewise.
32401 * commands/crc.c: Likewise.
32402 * commands/hexdump.c: Likewise.
32403 * commands/hdparm.c: Likewise.
32404 * commands/acpi.c: Likewise.
32405 * commands/echo.c: Likewise.
32406 * commands/minicmd.c: Likewise.
32407 * commands/blocklist.c: Likewise.
32408 * commands/memrw.c: Likewise.
32409 * commands/loadenv.c: Likewise.
32410 * commands/usbtest.c: Likewise.
32411 * commands/lsmmap.c: Likewise.
32412 * commands/boot.c: Likewise.
32413 * commands/parttool.c: Likewise.
32414 * commands/configfile.c: Likewise.
32415 * commands/search.c: Likewise.
32416 * commands/ieee1275/suspend.c: Likewise.
32417 * commands/cat.c: Likewise.
32418 * commands/i386/pc/pxecmd.c: Likewise.
32419 * commands/i386/pc/play.c: Likewise.
32420 * commands/i386/pc/halt.c: Likewise.
32421 * commands/i386/pc/vbeinfo.c: Likewise.
32422 * commands/i386/pc/vbetest.c: Likewise.
32423 * commands/lspci.c: Likewise.
32424 * commands/date.c: Likewise.
32425 * commands/handler.c: Likewise.
32426 * commands/ls.c: Likewise.
32427 * commands/test.c: Likewise.
32428 * commands/cmp.c: Likewise.
32429 * commands/efi/loadbios.c: Likewise.
32430 * commands/efi/fixvideo.c: Likewise.
32431 * commands/halt.c: Likewise.
32432 * commands/help.c: Likewise.
32433 * commands/reboot.c: Likewise.
32434 * hello/hello.c: Likewise.
32435 * script/sh/main.c: Likewise.
32436 * loader/xnu.c: Likewise.
32437 * term/terminfo.c: Likewise.
32438 * term/i386/pc/serial.c: Likewise.
32439 * term/usb_keyboard.c: Likewise.
32440
515b5079 324412009-05-03 David S. Miller <davem@davemloft.net>
32442
32443 * normal/menu.c: Include grub/parser.h
32444
dfc31a22 324452009-05-03 Pavel Roskin <proski@gnu.org>
32446
2fee74f1 32447 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
32448 not char*.
32449 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
32450 Suggested by Javier Martín <lordhabbit@gmail.com>
32451
dfc31a22 32452 * util/i386/pc/grub-mkrescue.in: Allow for the case when
32453 efiemu??.o doesn't exist.
32454 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
32455 copying.
32456
18f547ad 324572009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 32458
32459 FreeBSD 64-bit support
32460
18f547ad 32461 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 32462 and loader/i386/bsd_trampoline.S
32463 (bsd_mod_ASFLAGS): new variable
32464 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
32465 (FREEBSD_MODTYPE_KERNEL64): likewise
32466 (grub_bsd64_trampoline_start): likewise
32467 (grub_bsd64_trampoline_end): likewise
32468 (grub_bsd64_trampoline_selfjump): likewise
32469 (grub_bsd64_trampoline_gdt): likewise
32470 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
32471 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
32472 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
32473 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 32474 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 32475 of "attrib" member
32476 * loader/i386/bsd_pagetable.c: new file
32477 * loader/i386/bsd_trampoline.S: likewise
32478 * loader/i386/bsd.c (ALIGN_QWORD): new macro
32479 (ALIGN_VAR): likewise
32480 (entry_hi): new variable
32481 (kern_end_mdofs): likewise
32482 (is_64bit): likewise
32483 (grub_freebsd_add_meta): use ALIGN_VAR
32484 (grub_e820_mmap): new declaration
32485 (grub_freebsd_add_mmap): new function
32486 (grub_freebsd_add_meta_module): support 64 bit kernels
32487 (grub_freebsd_list_modules): use ALIGN_VAR
32488 (gdt_descriptor): new declaration
32489 (grub_freebsd_boot): support 64 bit kernels
32490 (grub_bsd_elf64_hook): new function
32491 (grub_bsd_load_elf): support elf64
32492
038c5720 324932009-05-03 Bean <bean123ch@gmail.com>
32494
32495 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
32496 after we get the result of if statement.
32497
fc45fb58 324982009-05-03 Bean <bean123ch@gmail.com>
32499
32500 * Makefile.in (enable_efiemu): New variable.
32501
32502 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
32503 set.
32504 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
32505 path.
32506 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
32507 path, add -mno-red-zone option.
32508 (efiemu64_s.o): Likewise.
32509 (efiemu64.o): Use macro $^ for source file.
32510
32511 * configure.ac (--enable-efiemu): New option.
32512
bbee0f2b 325132009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
32514
32515 xnu support
32516
32517 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
32518 (pkglib_MODULES): add xnu.mod
32519 (xnu_mod_SOURCES): new variable
32520 (xnu_mod_CFLAGS): likewise
32521 (xnu_mod_LDFLAGS): likewise
32522 (xnu_mod_ASFLAGS): likewise
32523 * conf/i386-pc.rmk: likewise
32524 * conf/x86_64-efi.rmk: likewise
7dd4a573 32525 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 32526 new declaration
32527 * include/grub/i386/macho.h: new file
32528 * include/grub/i386/xnu.h: likewise
32529 * include/grub/macho.h: likewise
32530 * include/grub/machoload.h: likewise
32531 * include/grub/x86_64/macho.h: likewise
32532 * include/grub/x86_64/xnu.h: likewise
32533 * include/grub/xnu.h: likewise
32534 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
32535 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
32536 * loader/i386/efi/xnu.c: new file
32537 * loader/i386/pc/xnu.c: likewise
32538 * loader/i386/xnu.c: likewise
32539 * loader/i386/xnu_helper.S: likewise
32540 * loader/macho.c: likewise
32541 * loader/xnu.c: likewise
32542 * loader/xnu_resume.c: likewise
32543 * util/grub-dumpdevtree: likewise
32544 * include/grub/i386/pit.h: include grub/err.h
32545 (grub_pit_wait): export
32546 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 32547
5caf964d 325482009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
32549
32550 Efiemu
7dd4a573 32551
5caf964d 32552 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 32553 _linux_efi, linux_efi.
32554 new files in grub-emu
5caf964d 32555 new targets efiemu32.o and efiemu64.o
32556 * loader/linux_normal_efiemu.c: likewise
32557 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 32558 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 32559 files to copy
32560 * include/grub/autoefi.h: new file
7dd4a573 32561 * include/grub/i386/efiemu.h: likewise
5caf964d 32562 * include/grub/i386/pc/efiemu.h: likewise
32563 * include/grub/efi/api.h: add LL suffix when necessary
32564 new definitions relating to tables
32565 * include/grub/efiemu/efiemu.h: new file
32566 * include/grub/efiemu/runtime.h: likewise
32567 * efiemu/prepare.c: likewise
32568 * efiemu/loadcore_common.c: likewise
32569 * efiemu/loadcore64.c: likewise
32570 * efiemu/runtime/efiemu.sh: likewise
32571 * efiemu/runtime/efiemu.S: likewise
32572 * efiemu/runtime/efiemu.c: likewise
32573 * efiemu/runtime/config.h: likewise
32574 * efiemu/prepare32.c: likewise
32575 * efiemu/main.c: likewise
32576 * efiemu/modules/pnvram.c: likewise
32577 * efiemu/modules/i386: likewise
32578 * efiemu/modules/i386/pc: likewise
32579 * efiemu/modules/acpi.c: likewise
32580 * efiemu/i386/pc/cfgtables.c: likewise
32581 * efiemu/i386/loadcore64.c: likewise
32582 * efiemu/i386/loadcore32.c: likewise
32583 * efiemu/prepare64.c: likewise
32584 * efiemu/loadcore.c: likewise
32585 * efiemu/symbols.c: likewise
32586 * efiemu/mm.c: likewise
32587 * efiemu/loadcore32.c: likewise
7dd4a573 32588
325892009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 32590
32591 ACPI spoofing
32592
32593 * commands/acpi.c: new file
32594 * commands/i386/pc/acpi.c: likewise
32595 * commands/efi/acpi.c: likewise
32596 * include/grub/acpi.h: likewise
32597 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
32598 (acpi_mod_SOURCES): new variable
32599 (acpi_mod_CFLAGS): likewise
32600 (acpi_mod_LDFLAGS): likewise
32601 * conf/i386-efi.rmk: likewise
32602 * conf/x86_64-efi.rmk: likewise
32603
7dd4a573 326042009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 32605
32606 Missing part from mmap patch
32607
32608 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
32609 (grub_mmap_unregister)
32610 (grub_mmap_free_and_unregister): use grub_mmap_register
32611
7dd4a573 326122009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 32613
32614 Mmap services
32615
32616 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
32617 * loader/i386/linux.c (find_mmap_size): likewise
32618 (allocate_pages): likewise
32619 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
32620 (grub_fill_multiboot_mmap): likewise
32621 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
32622 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
32623 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
32624 (OPENBSD_MMAP_RESERVED): likewise
32625 * include/grub/i386/pc/memory.h: include grub/memory.h
32626 (grub_lower_mem): removed
32627 (grub_upper_mem): likewise
32628 (GRUB_MACHINE_MEMORY_ACPI): new definition
32629 (GRUB_MACHINE_MEMORY_NVS): likewise
32630 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
32631 (GRUB_MACHINE_MEMORY_HOLE): likewise
32632 (grub_machine_mmap_register): likewise
32633 (grub_machine_mmap_unregister): likewise
32634 (grub_machine_get_upper): likewise
32635 (grub_machine_get_lower): likewise
32636 (grub_machine_get_post64): likewise
32637 * include/grub/i386/efi/memory.h: new file
32638 * include/grub/x86_64/efi/memory.h: likewise
32639 * include/grub/efi/memory.h: likewise
32640 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
32641 (mmap_mod_SOURCES): new variable
32642 (mmap_mod_LDFLAGS): likewise
32643 (mmap_mod_ASFLAGS): likewise
32644 * conf/i386-coreboot.rmk: likewise
32645 * conf/i386-ieee1275.rmk: likewise
32646 * conf/i386-efi.rmk: likewise
32647 * conf/x86_64-efi.rmk: likewise
32648 * include/grub/types.h (UINT_TO_PTR): new macro
32649 (PTR_TO_UINT32): likewise
32650 (PTR_TO_UINT64): likewise
32651 * include/grub/memory.h: new file
32652 * mmap/i386/pc/mmap.c: likewise
32653 * mmap/i386/pc/mmap_helper.S: likewise
32654 * mmap/i386/uppermem.c: likewise
32655 * mmap/mmap.c: likewise
32656 * mmap/efi/mmap.c: likewise
7dd4a573 32657 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 32658 grub_upper_mem
32659 * kern/i386/pc/init.c (grub_lower_mem): removed variable
32660 (grub_upper_mem): likewise
32661 (grub_machine_init): don't use grub_upper_mem,
32662 make grub_lower_mem local
32663 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
32664 grub_mmap_iterate and grub_mmap_get_upper
32665 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
32666
d558e6b5 326672009-05-02 Bean <bean123ch@gmail.com>
32668
32669 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
32670 script/sh/parser.y.
32671 (pkglib_MODULES): Add normal.mod and sh.mod.
32672 (normal_SOURCES): New variable.
32673 (normal_mod_CFLAGS): Likewise.
32674 (normal_mod_LDFLAGS): Likewise.
32675 (sh_mod_SOURCES): Likewise.
32676 (sh_mod_CFLAGS): Likewise.
32677 (sh_mod_LDFLAGS): Likewise.
32678
32679 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
32680 script/sh/lexer.c_DEPENDENCIES.
32681 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
32682 kern/rescue_reader.c and kern/rescue_parser.c.
32683 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
32684 (grub_emu_SOURCES): Change source files.
32685 (pkglib_MODULES): Remove normal.mod.
32686 (normal_SOURCES): Removed.
32687 (normal_mod_CFLAGS): Likewise.
32688 (normal_mod_LDFLAGS): Likewise.
32689 * conf/i386-coreboot.rmk: Likewise.
32690 * conf/i386-efi.rmk: Likewise.
32691 * conf/i386-ieee1276.rmk: Likewise.
32692 * conf/powerpc-ieee1275.rmk: Likewise.
32693 * conf/sparc64-ieee1275.rmk: Likewise.
32694 * conf/x86_64-efi.rmk: Likewise.
32695
32696 * include/grub/command.h (grub_command_execute): New inline function.
32697
32698 * include/grub/menu.h (grub_menu_entry): Removed commands field.
32699
32700 * include/grub/normal.h: Remove <grub/setjmp.h>.
32701 (grub_fs_module_list): Moved to normal/autofs.c.
32702 (grub_exit_env): Removed.
32703 (grub_command_execute): Likewise.
32704 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
32705 parameter script.
32706 (read_command_list): New function declaration.
32707 (read_fs_list): Likewise.
32708
32709 * include/parser.h: Include <grub/reader.h>.
32710 (grub_parser_split_cmdline): Change type of getline parameter.
32711 (grub_parser): New structure.
32712 (grub_parser_class): New variable.
32713 (grub_parser_execute): New function declaration.
32714 (grub_register_rescue_parser): Likewise.
32715 (grub_parser_register): New inline function.
32716 (grub_parser_unregister): Likewise.
32717 (grub_parser_get_current): Likewise.
32718 (grub_parser_set_current): Likewise.
32719
32720 * include/grub/reader.h: New file.
32721 * kern/reader.c: Likewise.
32722 * kern/rescue_parser.c: Likewise.
32723 * kern/rescue_reader.c: Likewise.
32724 * normal/autofs.c: Likewise.
32725 * normal/dyncmd.c: Likewise.
32726
32727 * include/grub/rescue.h: Removed.
32728 * normal/command.h: Likewise.
32729
32730 * include/grub/script.h: Moved to ...
32731 * include/grub/script_sh.h: ... Moved here.
32732 * normal/execute.c: Moved to ...
32733 * script/sh/execute.c: ... Moved here.
32734 * normal/function.c: Moved to ...
32735 * script/sh/function.c: ... Moved here.
32736 * normal/lexer.c: Moved to ...
32737 * script/sh/lexer.c: ... Moved here.
32738 * normal/parser.y: Moved to ...
32739 * script/sh/parser.y: ... Moved here.
32740 * normal/script.c: Moved to ...
32741 * script/sh/script.c: ... Moved here.
32742
32743 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
32744 <grub/reader.h>.
32745 (grub_exit_env): Removed.
32746 (fs_module_list): Moved to normal/autofs.c.
32747 (grub_file_getline): Don't handle comment here.
32748 (free_menu): Skip removed field entry->commands.
32749 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
32750 script parameter.
32751 (read_config_file): Removed nested parameter, change getline function.
32752 (grub_enter_normal_mode): Removed.
32753 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
32754 (read_command_list): Likewise.
32755 (autoload_fs_module): Moved to normal/autofs.c.
32756 (read_fs_list): Likewise.
32757 (reader_nested): New variable.
32758 (grub_normal_execute): Run parser.sh to switch to sh parser.
32759 (grub_cmd_rescue): Removed.
32760 (cmd_normal): Removed.
32761 (grub_cmd_normal): Unregister itself at the beginning. Don't register
32762 rescue command.
32763 (grub_cmdline_run): New function.
32764 (grub_normal_reader_init): Likewise.
32765 (grub_normal_read_line): Likewise.
32766 (grub_env_write_pager): Likewise.
32767 (cmdline): New variable.
32768 (grub_normal_reader): Likewise.
32769 (GRUB_MOD_INIT): Register normal reader and set as current, register
32770 pager hook, register normal command with grub_register_command_prio,
32771 so that it won't show up in command.lst.
32772 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
32773 grub_fs_autoload_hook.
32774
32775 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
32776 (grub_menu_execute_entry): Replace grub_script_execute with
32777 grub_parser_execute, change parameter to grub_command_execute.
32778
32779 * normal/menu_text.c: Remove <grub/script.h>.
32780
32781 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
32782 and <grub/parser.h>.
32783 (run): Change editor_getline to use new parser interface. Change
32784 parameter to grub_command_execute.
32785
32786 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
32787 <grub/reader.h> and <grub/parser.h>.
32788 (grub_load_normal_mode): Execute normal command.
32789 (grub_main): Call grub_register_core_commands,
32790 grub_register_rescue_parser and grub_register_rescue_reader, use
32791 grub_reader_loop to enter input loop.
32792
7dd4a573 32793 * kern/parser.c (grub_parser_split_cmdline): Change type of
32794 getline parameter.
d558e6b5 32795 (grub_parser_class): New variable.
32796 (grub_parser_execute): New function.
32797
32798 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
32799 * loader/multiboot2.c: Likewise.
32800 * loader/sparc64/ieee1275/linux.c: Likewise.
32801
32802 * util/grub-emu.c (read_command_list): New dummy function.
32803
18db813d 328042009-05-02 Robert Millan <rmh.grub@aybabtu.com>
32805
32806 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
32807 count to 16 for CCISS and IDA.
32808
6c67de15 328092009-05-02 Robert Millan <rmh.grub@aybabtu.com>
32810
32811 * normal/menu_text.c (grub_wait_after_message): Print a newline
32812 after waiting for user input.
32813
32814 * loader/i386/linux.c: Include `<grub/normal.h>'.
32815 (grub_cmd_linux): Improve the error message about `ask' mode, by
32816 waiting for user input so it's not missed (we can do this, since
32817 user requested interaction).
32818
d9dc87b0 328192009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
32820
32821 Added missing lst to grub-mkrescue
32822
32823 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
32824 and ${input_dir}/parttool.lst
32825
ac8a2baa 328262009-04-30 David S. Miller <davem@davemloft.net>
32827
ad22a610 32828 * util/hostdisk.c (device_is_wholedisk): New function.
32829 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
32830 zero only if device_is_wholedisk() returns true.
32831
6966215d 32832 * util/hostdisk.c (convert_system_partition_to_system_disk):
32833 Handle virtual disk devices named /dev/vdiskX as found on sparc
32834 and powerpc.
32835
ac8a2baa 32836 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
32837 lettered partition specifier is found, convert to numbered.
32838
979b4fb4 328392009-04-29 David S. Miller <davem@davemloft.net>
32840
e2bf39b2 32841 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
32842 * include/grub/sparc64/ieee1275/memory.h: Likewise.
32843
3c64e104 32844 * normal/command.c: Add missing newline at end of file.
32845
979b4fb4 32846 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
32847 warnings.
32848 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
32849 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
32850 grub_ofdisk_read): Likewise, and deal similarly with the fact that
32851 ihandles have a 32-bit type but need to be stored in a "void *".
32852
136d9f82 328532009-04-28 Pavel Roskin <proski@gnu.org>
32854
9459c306 32855 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
32856 not disk. Adjust all dependencies.
2e08a26a 32857 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 32858 grub_disk_close().
32859
136d9f82 32860 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
32861 parent's partition, don't copy it by reference, as it gets freed
32862 on close.
32863
7dd4a573 328642009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 32865
32866 Preboot hooks support
32867
32868 * commands/boot.c (struct grub_preboot_t): new declaration
32869 (preboots_head): new variable
32870 (preboots_tail): likewise
32871 (grub_loader_register_preboot_hook): new function
32872 (grub_loader_unregister_preboot_hook): likewise
32873 (grub_loader_set): launch preboot hooks
32874 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
32875 (grub_loader_register_preboot_hook): new declaration
32876 (grub_loader_unregister_preboot_hook): likewise
32877
5af922b5 328782009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
32879
32880 Warning fix
32881
7dd4a573 32882 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 32883 calling grub_dprintf
32884
a5562c30 328852009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
32886
32887 Bug and warning fixes
32888
7dd4a573 32889 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 32890 declaration
32891 * commands/test.c (test_parse): fixed bug with file tests and corrected
32892 declaration of find_file
32893
4006f85c 328942009-04-26 Pavel Roskin <proski@gnu.org>
32895
32896 * Makefile.in: Don't install empty manual pages if help2man is
32897 missing. Use help2man option for output, not shell redirection.
32898
5c77c3de 328992009-04-26 David S. Miller <davem@davemloft.net>
32900
32901 * util/grub-mkdevicemap.c (make_device_map): Add missing
32902 NESTED_FUNC_ATTR to process_device().
32903
033b10a8 329042009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
32905
32906 Test command
32907
32908 * commands/test.c: rewritten to use bash-like test
32909
e4343593 329102009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
32911
32912 Parttool autoloading and improvements
32913
7dd4a573 32914 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 32915 (parttool.lst): new target
32916 * genmk.rb: generate parttool-*
32917 (CLEANFILES): add #{parttool}
32918 (PARTTOOLFILES): new variable
32919 * genparttoollist.sh: new file
7dd4a573 32920 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 32921 (grub_pcpart_type): likewise
32922 * commands/parttool.c (helpmsg): new variable
32923 (grub_cmd_parttool): output help if not enough arguments are supplied
32924 autoload modules
32925 (GRUB_MOD_INIT(parttool)): use helpmsg
32926
0d312500 329272009-04-24 David S. Miller <davem@davemloft.net>
32928
7dd4a573 32929 Avoiding opening same device multiple times in device iterator.
0d312500 32930
32931 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 32932 and use it to build a list of partitions in iterate_disk() and
0d312500 32933 iterate_partition().
32934
ac20caff 32935 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
32936 on disk->data.
32937
0dcf7495 32938 * disk/ieee1275/nand.c (grub_nand_iterate): Return
32939 grub_devalias_iterate() result instead of unconditional 0.
32940 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
32941 Also, capture hook return value, either directly or via
32942 grub_children_iterate(), and propagate to caller.
32943 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
32944 grub_children_iterate): Return value is now 'int' instead of
32945 'grub_err_t'.
32946 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
32947 like a proper iterator, stopping when hooks return non-zero.
32948 (grub_devalias_iterate): Likewise.
32949
c8c08833 329502009-04-23 David S. Miller <davem@davemloft.net>
32951
32952 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
32953
f01005a8 329542009-04-22 David S. Miller <davem@davemloft.net>
32955
32956 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
32957 is larger than address_cells, use that value for address_cells too.
32958
4e8269da 32959 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
32960 IEEE1275_MAX_PATH_LEN): Define.
32961 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
32962 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
32963 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
32964 'devtype'. Explicitly NULL terminate devalias expansion.
32965
a1447506 32966 * util/sparc64/ieee1275/misc.c: New file.
32967 * util/sparc64/ieee1275/grub-setup.c: New file.
32968 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
32969 * util/sparc64/ieee1275/grub-mkimage.c: New file.
32970 * util/sparc64/ieee1275/grub-install.in: New file.
32971 * util/ieee1275/ofpath.c: New file.
32972 * util/ieee1275/devicemap.c: New file.
32973 * util/devicemap.c: New file.
32974 * util/deviceiter.c: New file.
32975 * kern/sparc64/ieee1275/init.c: New file.
32976 * include/grub/util/ofpath.h: New file.
32977 * include/grub/util/deviceiter.h: New file.
32978 * util/grub-mkdevicemap.c: Include deviceiter.h.
32979 Implement using grub_util_emit_devicemap_entry and
32980 grub_util_iterate_devices.
32981 * conf/i386-corebook.rmk: Build util/deviceiter.c and
32982 util/devicemap.c into grub-mkdevicemap
32983 * conf/i386-efi.rmk: Likewise.
32984 * conf/i386-ieee1275.rmk: Likewise.
32985 * conf/i386-pc.rmk: Likewise.
32986 * conf/powerpc-ieee1275.rmk: Likewise.
32987 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
32988 images and installation utilities. Build kernel as image
32989 instead of as elf binary. Use common rules as much as possible.
32990
7dd4a573 329912009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 32992
32993 Correct GPT definition
32994
7dd4a573 32995 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 32996 of "attrib" member
32997
c6c5219f 329982009-04-19 Felix Zielcke <fzielcke@z-51.de>
32999
33000 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
33001
0552ff9f 330022009-04-19 David S. Miller <davem@davemloft.net>
33003
33004 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
33005 (grub_rescue_cmd_linux): Rename to...
33006 (grub_cmd_linux): and fix prototype.
33007 (grub_rescue_cmd_initrd): Rename to...
33008 (grub_cmd_initrd): and fix prototype.
33009 (cmd_linux, cmd_initrd): New.
33010 (GRUB_MOD_INIT(linux)): Use grub_register_command().
33011 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
33012
d1a282fc 330132009-04-17 Pavel Roskin <proski@gnu.org>
33014
07c5039f 33015 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
33016 format.
33017 (grub_ohci_transfer): Likewise.
33018
b012002d 33019 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
33020
1bc09c35 33021 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
33022 return without a value. Fix inconsistent indentation.
33023
e0ff9126 33024 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
33025 match struct grub_fs.
33026
d1a282fc 33027 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
33028 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
33029 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
33030 * commands/lspci.c (grub_lspci_iter): Likewise.
33031
a96df3f2 330322009-04-16 Bean <bean123ch@gmail.com>
33033
33034 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
33035 value.
33036
41bb0fe9 330372009-04-15 Pavel Roskin <proski@gnu.org>
33038
33039 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
33040 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
33041 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
33042 definitions.
33043
596c6970 330442009-04-15 Felix Zielcke <fzielcke@z-51.de>
33045
33046 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 33047 that no multiple data or metadata areas are supported and `Unknown
596c6970 33048 metadata header'.
33049
7dd4a573 330502009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 33051
33052 Move loader out of the kernel
33053
33054 * kern/loader.c: moved to ...
33055 * commands/boot.c: ... moved here
33056 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
33057 * commands/boot.c (grub_cmd_boot): moved here. All users updated
33058 * include/grub/kernel.h (grub_machine_fini): export
33059 * include/grub/loader.h (grub_loader_is_loaded): update declaration
33060 (grub_loader_set): likewise
33061 (grub_loader_unset): likewise
33062 (grub_loader_boot): likewise
33063 * conf/common.rmk: new module boot.mod
33064 (pkglib_MODULES): add boot.mod
33065 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
33066 (grub_emu_SOURCES): likewise
33067 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
33068 (grub_emu_SOURCES): likewise
33069 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
33070 (grub_emu_SOURCES): likewise
33071 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
33072 (grub_emu_SOURCES): likewise
33073 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
33074 (grub_emu_SOURCES): likewise
7dd4a573 33075 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
33076 (grub_emu_SOURCES): likewise
0d5d5653 33077 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 33078 (grub_emu_SOURCES): likewise
0d5d5653 33079
7dd4a573 330802009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 33081
33082 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 33083
5999d619 33084 * kern/misc.c (grub_itoa): Removed function
33085 (grub_ltoa): likewise
33086 (grub_vsprintf): use grub_lltoa
33087
7dd4a573 330882009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 33089
33090 Restore grub-emu
33091
33092 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
33093 * conf/i386-coreboot.rmk: likewise
33094 * conf/i386-ieee1275.rmk: likewise
33095 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 33096
20318222 330972009-04-15 Felix Zielcke <fzielcke@z-51.de>
33098
33099 * INSTALL: Add that `./autogen.sh' needs to be run before
33100 `./configure.'.
33101
d05f0df3 331022009-04-14 Bean <bean123ch@gmail.com>
33103
33104 * Makefile.in (pkglib_DATA): Add handler.lst.
33105 (handler.lst): New rule.
33106
33107 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
33108 * conf/i386-coreboot.rmk: Likewise.
33109 * conf/i386-ieee1275.rmk: Likewise.
33110 * conf/i386-efi.rmk: Likewise.
33111 * conf/x86_64-efi.rmk: Likewise.
33112 * conf/powerpc-ieee1275.rmk: Likewise.
33113 * conf/sparc64-ieee1275.rmk: Likewise.
33114
33115 * genhandlerlist.sh: New file.
33116
33117 * genmk.rb: Add rules to generate handler.lst.
33118
33119 * include/grub/normal.h (grub_file_getline): New function definition.
33120 (read_handler_list): Likewise.
33121 (free_handler_list): Likewise.
33122
33123 * include/grub/term.h (grub_term_register_input): Add name parameter
33124 for auto generation of handler.lst.
33125 (grub_term_register_output): Likewise.
33126
33127 * normal/handler.c: New file.
33128
33129 * normal/main.c (get_line): Renamed to grub_file_getline.
33130 (read_config_file): Use the newly renamed grub_file_getline.
33131 (read_command_list): Likewise.
33132 (read_fs_list): Likewise.
33133 (grub_normal_execute): Call read_handler_list to parse handler.lst.
33134 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
33135
33136 * term/efi/console.c (grub_console_init): Add name parameter for auto
33137 generation of handler.lst.
33138 * term/gfxterm.c: Likewise.
33139 * term/i386/pc/at_keyboard.c: Likewise.
33140 * term/i386/pc/console.c: Likewise.
33141 * term/i386/pc/serial.c: Likewise.
33142 * term/i386/pc/vesafb.c: Likewise.
33143 * term/i386/pc/vga.c: Likewise.
33144 * term/i386/pc/vga_text.c: Likewise.
33145 * term/ieee1275/ofconsole.c: Likewise.
33146 * term/usb_keyboard.c: Likewise.
33147
33c846be 331482009-04-14 Bean <bean123ch@gmail.com>
33149
33150 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
33151 properly with null character.
33152
4484e01e 331532009-04-14 Felix Zielcke <fzielcke@z-51.de>
33154
33155 * configure: Remove.
33156 * config.h.in: Likewise.
f93d668e 33157 * stamp-h.in: Likewise.
4484e01e 33158 * DISTLIST: Likewise.
33159 * conf/common.mk: Likewise.
33160 * conf/i386-coreboot.mk: Likewise.
33161 * conf/i386-efi.mk: Likewise.
33162 * conf/i386-ieee1275.mk: Likewise.
33163 * conf/i386.mk: Likewise.
33164 * conf/i386-pc.mk: Likewise.
33165 * conf/powerpc-ieee1275.mk: Likewise.
33166 * conf/sparc64-ieee1275.mk: Likewise.
33167 * conf/x86_64-efi.mk: Likewise.
33168
33169 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
33170 develop on GRUB.
33171
7dd4a573 331722009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 33173 David S. Miller <davem@davemloft.net>
33174
33175 * util/hostdisk.c (make_device_name): Fix buffer length
33176 calculations.
33177
e25b5a8c 331782009-04-14 Felix Zielcke <fzielcke@z-51.de>
33179
33180 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
33181 <sys/param.h> and <sys/sysctl.h>.
33182 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
33183 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
33184 opening the device and reset them afterwards.
33185
1f1f580c 331862009-04-13 Pavel Roskin <proski@gnu.org>
33187
33188 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
33189 Reported by John Stanley <jpsinthemix@verizon.net>
33190
7ebc2d6b 331912009-04-13 Robert Millan <rmh@aybabtu.com>
33192
33193 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 33194 that name for menuentries when appropriate.
7ebc2d6b 33195
d8ba3667 331962009-04-13 Felix Zielcke <fzielcke@z-51.de>
33197
33198 * util/grub.d/10_freebsd.in: Add a missing `fi'.
33199
cba416eb 332002009-04-13 Robert Millan <rmh@aybabtu.com>
33201
33202 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
33203 to Linux, simply abort telling the user it's no longer supported.
33204
a547a745 332052009-04-13 Felix Zielcke <fzielcke@z-51.de>
33206
33207 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 33208 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 33209 `freebsd_loadenv' only when devices.hints exist.
33210
232a769c 332112009-04-13 Pavel Roskin <proski@gnu.org>
33212
33213 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
33214
c3012039 332152009-04-13 Felix Zielcke <fzielcke@z-51.de>
33216
33217 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
33218 partition number.
33219 (grub_drive): Likewise.
33220
234022fe 332212009-04-13 David S. Miller <davem@davemloft.net>
33222
33223 * kern/sparc64/ieee1275/ieee1275.c: New file.
33224 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
33225 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
33226 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
33227 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
33228 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
33229 grub_ieee1275_alloc_physmem): Declare new exported functions.
33230
d8e1836c 33231 * include/grub/sparc64/ieee1275/loader.h: New file.
33232 * include/grub/sparc64/ieee1275/memory.h: Likewise.
33233 * include/grub/sparc64/kernel.h: Likewise.
33234 * loader/sparc64/ieee1275/linux.c: Likewise.
33235
96bd81ec 33236 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
33237 (grub_fstest_SOURCES): Likewise.
33238
6a4737e5 33239 * util/hostdisk.c (make_device_name): Do not make any assumptions
33240 about the length of drive names.
33241
1d7a72fd 33242 * kern/dl.c (grub_dl_load_file): Close file immediately when
33243 we are done using it.
33244
56bc2471 332452009-04-12 David S. Miller <davem@davemloft.net>
33246
33247 * kern/misc.c (grub_ltoa): Fix cast when handling negative
33248 values. Noticed by Pavel Roskin.
33249
df38d0bb 33250 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
33251 target compiler.
7dd4a573 33252
e382e93a 33253 * genmk.rb: Add more flexible image type specification, also
33254 pass --strip-unneeded to objcopy.
33255 * conf/i386-pc.rmk: Use *_FORMAT.
33256 * conf/i386-pc.mk: Rebuilt.
33257
f5dbbca9 33258 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
33259 (OFDISK_HASH_SZ): Define.
33260 (ofdisk_hash): New hash table.
33261 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
33262 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
33263 instead of device phandle which is not unique.
33264
91c88b12 33265 * kern/sparc64/ieee1275/init.c: Delete, replace with...
33266 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
33267 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
33268 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
33269 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
33270 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
33271 GRUB_KERNEL_MACHINE_DATA_END): Define.
33272 (grub_kernel_image_size, grub_total_module_size): Declare.
33273
5b5d4aa5 332742009-04-12 Pavel Roskin <proski@gnu.org>
33275
7dd4a573 33276 * configure.ac: Change the logic when we check for target tools.
33277 Do it when the target is specified and it's different from the
33278 specified value of the host.
5b5d4aa5 33279
c91e1793 332802009-04-11 Felix Zielcke <fzielcke@z-51.de>
33281
33282 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
33283 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
33284 GNU/kFreeBSD. Check if a device is a character device. Use
33285 DIOCGMEDIASIZE to get the size.
33286 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
33287 support for GNU/kFreeBSD.
33288 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
33289 is a character device instead of a block device. Add support for
33290 FreeBSD device names.
33291
33292 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
33293 is a character device instead of a block device.
33294
33295 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
33296 is a character device instead of a block device.
33297
b1ac8644 332982009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
33299
33300 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
33301 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
33302 FreeBSD. Check if a device is a character device. Use
33303 DIOCGMEDIASIZE to get the size.
33304 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
33305 support for FreeBSD.
33306 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
33307 is a character device instead of a block device. Add support for
33308 FreeBSD device names.
33309
33310 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
33311 a character device instead of a block device.
33312 (grub_util_check_char_device): New function.
33313
33314 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
33315 a character device instead of a block device.
33316
33317 * include/grub/util/getroot.h (grub_util_check_char_device): New
33318 prototype.
33319
a3f7515a 333202009-04-11 David S. Miller <davem@davemloft.net>
33321
33322 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
33323 static libgcc.
33324 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
33325 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
33326 function, if present.
33327 (__bswapdi2): Likewise.
33328
0d44993d 33329 * include/grub/sparc64/ieee1275/boot.h: New file.
33330 * boot/sparc64/ieee1275/boot.S: Likewise.
33331 * boot/sparc64/ieee1275/diskboot.S: Likewise.
33332
ed3d2bc2 33333 * kern/misc.c (grub_ltoa): New function.
33334 (grub_vsprintf): Use it to format 'long' integers.
33335
d3bfb59c 333362009-04-10 David S. Miller <davem@davemloft.net>
33337
33338 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
33339 slots are of type grub_ieee1275_cell_t.
33340 (grub_nand_read): Likewise.
33341 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
33342 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
33343 macros are used to compare values in arg/ret block of the call.
33344 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
33345 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
33346 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
33347 grub_ieee1275_instance_to_path, grub_ieee1275_write,
33348 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
33349 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
33350 grub_ieee1275_close, grub_ieee1275_set_property,
33351 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
33352 grub_ieee1275_cell_t.
33353 * kern/ieee1275/openfw.c (grub_map): Likewise.
33354 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
33355 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
33356
450e2238 33357 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
33358 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
33359 (grub_devalias_iterate): Likewise.
33360
7dd4a573 333612009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 33362
33363 UFS improvements
33364
33365 * fs/ufs.c (INODE_NBLOCKS): new definition
33366 (struct grub_ufs_dirent): added fields for non-BSD dirents
33367 (grub_ufs_get_file_block): fixed double indirect handling
33368 (grub_ufs_lookup_symlink): use more robust way to determine whether
33369 symlink is inline
33370 (grub_ufs_find_file): support for non-BSD dirents
33371 (grub_ufs_dir): support for non-BSD dirents
33372
e7e6862a 333732009-04-10 Bean <bean123ch@gnail.com>
33374
33375 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
33376 attribute, otherwise the size would be wrong for i386 platform.
33377
33378 * include/grub/pci.h (grub_pci_read_word): New inline function.
33379 (grub_pci_read_byte): Likewise.
33380 (grub_pci_write): Likewise.
33381 (grub_pci_write_word): Likewise.
33382 (grub_pci_write_byte): Likewise.
33383
33384 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
33385
33386 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
33387 (find_framebuf): Scan pci to locate the frame buffer address.
33388
33389 * commands/efi/fixvideo.c: New file.
33390
33391 * commands/efi/loadbios.c: Likewise.
33392
33393 * commands/memrw.c: Likewise.
33394
33395 * util/grub-dumpbios.in: Likewise.
33396
33397 * conf/common.rmk (grub-dumpbios): New utility.
33398 (pkglib_MODULES): New module memrw.mod.
33399 (memrw_mod_SOURCE): New macro.
33400 (memrw_mod_CFLAGS): Likewise.
33401 (memrw_mod_LDFLAGS): Likewise.
33402
7dd4a573 33403 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 33404 fixvideo.mod.
33405 (loadbios_mod_SOURCE): New macro.
33406 (loadbios_mod_CFLAGS): Likewise.
33407 (loadbios_mod_LDFLAGS): Likewise.
33408 (fixvideo_mod_SOURCE): Likewise.
33409 (fixvideo_mod_CFLAGS): Likewise.
33410 (fixvideo_mod_LDFLAGS): Likewise.
33411
7dd4a573 33412 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 33413 fixvideo.mod.
33414 (loadbios_mod_SOURCE): New macro.
33415 (loadbios_mod_CFLAGS): Likewise.
33416 (loadbios_mod_LDFLAGS): Likewise.
33417 (fixvideo_mod_SOURCE): Likewise.
33418 (fixvideo_mod_CFLAGS): Likewise.
33419 (fixvideo_mod_LDFLAGS): Likewise.
33420
af63ada2 334212009-04-08 Felix Zielcke <fzielcke@z-51.de>
33422
33423 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
33424
c2cdde70 334252009-04-07 David S. Miller <davem@davemloft.net>
33426
33427 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
33428 support for R_SPARC_OLO10 relocations. Fix compile warning for
33429 R_SPARC_WDISP30 case.
ea3f72cf 33430 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 33431
761319cf 334322009-04-06 Pavel Roskin <proski@gnu.org>
33433
1007d1f5 33434 * include/grub/misc.h (ARRAY_SIZE): New macro.
33435 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
33436 New macro.
33437 * loader/i386/linux.c (allocate_pages): Use free_pages().
33438 (grub_linux_unload): Don't use free_pages().
33439 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
33440 wrong index. Treat all other modes as text modes.
33441 (grub_cmd_linux): Initialize vid_mode unconditionally to
33442 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
33443
761319cf 33444 * commands/help.c (print_command_help): Use cmd->prio, not
33445 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
33446
ea761d40 334472009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 33448
ea761d40 33449 Parttool
33450
33451 * parttool/pcpart.c: new file
33452 * commands/parttool.c: likewise
33453 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
33454 (parttool_mod_SOURCES): new variable
33455 (parttool_mod_CFLAGS): likewise
33456 (parttool_mod_LDFLAGS): likewise
33457 (pcpart_mod_SOURCES): likewise
33458 (pcpart_mod_CFLAGS): likewise
33459 (pcpart_mod_LDFLAGS): likewise
7dd4a573 33460 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 33461 and parttool/pcpart.c
33462 * conf/i386-efi.rmk: likewise
33463 * conf/i386-ieee1275.rmk: likewise
33464 * conf/i386-pc.rmk: likewise
33465 * conf/powerpc-ieee1275.rmk: likewise
33466 * conf/sparc64-ieee1275.rmk: likewise
33467 * conf/x86_64-ieee1275.rmk: likewise
33468
05aaebfb 334692009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
33470
33471 Support for mtime and further expandability of dir command
33472
33473 * include/grub/lib/datetime.h: moved to ...
7dd4a573 33474 * include/grub/datetime.h: ... moved here and added
05aaebfb 33475 declaration of grub_unixtime2datetime. All users updated
7dd4a573 33476 * include/grub/fs.h: new syntax for dir and mtime functions in
33477 struct grub_fs
05aaebfb 33478 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
33479 and GRUB_FSHELP_FLAGS_MASK
33480 * commands/ls.c (grub_ls_list_files): Write mtime in long format
33481 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
33482 (grub_ext2_mtime): new function
33483 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
33484 (grub_hfsplus_mtime): new function
33485 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
33486 (GRUB_UFS_ATTR_FILE): likewise
33487 (GRUB_UFS_ATTR_LNK): likewise
33488 (struct grub_ufs_sblock): new fields mtime
33489 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
33490 all users updated
33491 (grub_ufs_dir): mtime support
33492 (grub_ufs_mtime): new function
33493 * fs/affs.c (grub_affs_dir): use new dir syntax
33494 * fs/afs.c (grub_afs_dir): likewise
33495 * fs/cpio.c (grub_cpio_dir): likewise
33496 * fs/fat.c (grub_fat_find_dir): likewise
33497 * fs/hfs.c (grub_hfs_dir): likewise
33498 * fs/iso9660.c (grub_iso9660_dir): likewise
33499 * fs/jfs.c (grub_jfs_dir): likewise
33500 * fs/minix.c (grub_minix_dir): likewise
33501 * fs/ntfs.c (grub_ntfs_dir): likewise
33502 * fs/reiserfs.c (grub_reiserfs_dir): likewise
33503 * fs/sfs.c (grub_sfs_dir): likewise
33504 * fs/xfs.c (grub_xfs_dir): likewise
33505 * util/hostfs.c (grub_hostfs_dir): likewise
33506 * lib/datetime.c: moved to ...
33507 * normal/datetime.c: ... moved here
33508 (grub_unixtime2datetime): new function
33509 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 33510 * normal/completion.c (iterate_dir): use new dir syntax
33511 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 33512 last modification time of a volume
7dd4a573 33513 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 33514 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 33515 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 33516 (normal_mod_SOURCES): likewise
33517 (datetime_mod_SOURCES): Removed lib/datetime.c
33518 * conf/i386-efi.rmk: likewise
7dd4a573 33519 * conf/i386-ieee1275.rmk: likewise
05aaebfb 33520 * conf/i386-pc.rmk: likewise
33521 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 33522 * conf/sparc64-ieee1275.rmk: likewise
33523 * conf/x86_64-efi.rmk: likewise
05aaebfb 33524
8a7e1a14 335252009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
33526
33527 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 33528
33529 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 33530 on grub_fat_find_dir
33531 (grub_fat_find_dir): use grub_fat_iterate_dir
33532 (grub_fat_label): likewise
33533
04186a9c 335342009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
33535
7dd4a573 33536 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 33537 and command.h
33538 remove extraneous kernel_elf_HEADERS
33539
da4c0bb6 335402009-04-04 Bean <bean123ch@gnail.com>
33541
33542 * include/grub/util/misc.h: Add dummy function fsync for mingw.
33543
33544 * util/misc.c: Likewise.
33545
54ad9555 335462009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
33547
33548 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
33549 instead of grub_printf.
33550
7a6bf9f2 335512009-04-03 Robert Millan <rmh@aybabtu.com>
33552
33553 * loader/i386/linux.c (grub_linux_setup_video): Fill
33554 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
33555 values from `mode info' structure instead of hardcoded
33556 values.
33557
3fcc2083 335582009-04-01 Pavel Roskin <proski@gnu.org>
33559
33560 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
33561 unused now.
33562 * genmk.rb: Likewise.
33563 * configure.ac: Likewise.
33564
5ec9740b 335652009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
33566
33567 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
33568 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
33569
5270cec8 335702009-04-01 David S. Miller <davem@davemloft.net>
33571
33572 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 33573 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 33574 (grub_setjmp): Mark with 'returns_twice' attribute.
33575 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
33576 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
33577 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
33578
9c3dd854 335792009-04-01 Robert Millan <rmh@aybabtu.com>
33580
33581 Reapply fix from 2008-07-28 which was accidentally reverted; also
33582 perform the same fix to a similar check in same function.
33583
33584 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
33585 with the same number are found, just use issue a warning with
33586 grub_dprintf(), as this error has been reported to be non-fatal.
33587
0d818b7e 335882009-03-31 Pavel Roskin <proski@gnu.org>
33589
33590 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
33591 for cross-compilation.
33592
95646d92 335932009-03-30 Robert Millan <rmh@aybabtu.com>
33594
33595 Fix i386-ieee1275 build.
33596
33597 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
33598 Remove declaration.
33599
6a003ed1 336002009-03-30 Pavel Roskin <proski@gnu.org>
33601
33602 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
33603 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
33604 zero-terminated, rely only on the strlen value. Fix comparison
33605 of strings differing in length.
33606
92f33540 336072009-03-30 Robert Millan <rmh@aybabtu.com>
33608
33609 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
33610 checking for abi version. Improve error messages on BIOS to notify
33611 user about `linux16' command.
33612
a8c48fd5 336132009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
33614
f968172e 33615 Leak fixes
a8c48fd5 33616
f968172e 33617 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
33618 in case of collision
33619 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 33620
9c323f09 336212009-03-29 Robert Millan <rmh@aybabtu.com>
33622
33623 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
33624 set `vid_mode' accordingly.
33625 (grub_linux_boot): Process `vid_mode' and set video mode.
33626
ae68f423 336272009-03-29 Robert Millan <rmh@aybabtu.com>
33628
33629 * util/grub.d/10_linux.in (linux_entry): New function.
33630 Factorize generation of Linux boot entries.
33631
5709cfc4 336322009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
33633
33634 Make the format of Environment Block plain text. The boot loader
33635 part is not tested well yet.
7dd4a573 33636
5709cfc4 33637 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
33638 (buffer): Removed.
33639 (envblk): Likewise.
33640 (usage): Remove "info" and "clear". Add "unset". Update the
33641 description of "set", as this does not delete variables any
33642 longer.
33643 (create_envblk_file): Complete rewrite.
33644 (open_envblk_file): Likewise.
33645 (cmd_info): Removed.
33646 (cmd_list): Likewise.
33647 (cmd_set): Likewise.
33648 (cmd_clear): Likewise.
33649 (list_variables): New function.
33650 (write_envblk): Likewise.
33651 (set_variables): Likewise.
33652 (unset_variables): Likewise.
33653 (main): Complete rewrite.
33654
33655 * commands/loadenv.c (buffer): Removed.
33656 (envblk): Likewise.
33657 (open_envblk_file): New function.
33658 (read_envblk_file): Complete rewrite.
33659 (grub_cmd_load_env): Likewise.
33660 (grub_cmd_list_env): Likewise.
33661 (struct blocklist): New struct.
33662 (free_blocklists): New function.
33663 (check_blocklists): Likewise.
33664 (write_blocklists): Likewise.
33665 (grub_cmd_save_env): Complete rewrite.
33666
33667 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
33668 a plain text signature.
33669 (GRUB_ENVBLK_MAXLEN): Removed.
33670 (struct grub_envblk): Complete rewrite.
33671 (grub_envblk_find): Removed.
33672 (grub_envblk_insert): Likewise.
33673 (grub_envblk_open): New prototype.
33674 (grub_envblk_set): Likewise.
33675 (grub_envblk_delete): Put const to VALUE.
33676 (grub_envblk_iterate): Put const to NAME and VALUE.
33677 (grub_envblk_close): New prototype.
33678 (grub_envblk_buffer): New inline function.
33679 (grub_envblk_size): Likewise.
33680
33681 * lib/envblk.c: Include grub/mm.h.
33682 (grub_env_find): Removed.
33683 (grub_envblk_open): New function.
33684 (grub_envblk_close): Likewise.
33685 (escaped_value_len): Likewise.
33686 (find_next_line): Likewise.
33687 (grub_envblk_insert): Removed.
33688 (grub_envblk_set): New function.
33689 (grub_envblk_delete): Complete rewrite.
33690 (grub_envblk_iterate): Likewise.
33691
a9368fd3 336922009-03-28 Robert Millan <rmh@aybabtu.com>
33693
33694 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
33695 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
33696 variables. Use 16-bit loader.
33697 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
33698 loader.
33699 * kern/i386/loader.S (grub_linux_boot): Rename to ...
33700 (grub_linux16_boot): ... this. Update all users.
33701 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
33702 (grub_linux_boot): ... this. Update all users.
33703
33704 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
33705 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
33706 commands to `linux16' and `initrd16'.
33707 (GRUB_MOD_FINI(linux)): Rename to ...
33708 (GRUB_MOD_FINI(linux16)): ... this.
33709
e4dd5a7e 337102009-03-24 Pavel Roskin <proski@gnu.org>
33711
33712 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
33713 not just for compilation.
33714
c04d6e05 337152009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
33716
33717 Move multiboot helper out of kernel
33718
33719 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
33720 `loader/i386/multiboot_helper.S'.
33721 * conf/i386-coreboot.rmk: Likewise
33722 * conf/i386-ieee1275.rmk: Likewise
33723
33724 * kern/i386/loader.S: Move multiboot helpers from here...
33725 * loader/i386/multiboot_helper.S: ...moved here
33726 * include/grub/i386/loader.h: Move declarations of multiboot
33727 helpers from here...
33728 * include/grub/i386/multiboot.h: ...moved here
33729 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
33730
42a5b3fc 337312009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
33732
33733 * kern/env.c (grub_env_context_open): Added an argument to specify
33734 whether a new context inherits exported variables from current
33735 one. This is useful when making a sandbox to interpret a config
33736 file.
33737 All callers updated.
33738
33739 * include/grub/env.h (grub_env_context_open): Updated the prototype.
33740
b28bbc4e 337412009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
33742
33743 * kern/env.c (grub_env_context_close): Fix memory leaks.
33744
f04f02e4 337452009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
33746
33747 * normal/main.c (grub_normal_execute): Added an argument
33748 BATCH to specify if an interactive interface should be provided
33749 after reading a config file.
33750 All callers updated.
33751 (read_command_list): Prevent being executed twice.
33752 (read_fs_list): Likewise.
33753
42a5b3fc 33754 * include/grub/normal.h (grub_normal_execute): Updated the
33755 prototype.
f04f02e4 33756
41473ac2 337572009-03-22 Pavel Roskin <proski@gno.org>
33758
fbc00b0c 33759 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
33760 _start.
33761 * kern/i386/pc/startup.S: Likewise.
33762 * kern/i386/efi/startup.S: Likewise.
33763 * kern/i386/ieee1275/startup.S: Likewise.
33764 * kern/i386/coreboot/startup.S: Likewise.
33765 * kern/x86_64/efi/startup.S: Likewise.
33766
41473ac2 33767 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
33768 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
33769 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
33770
2274cc8f 337712009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
33772
33773 Bugfixes in multiboot for bugs uncovered by solaris kernel.
33774
33775 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
33776 limit detection.
33777 Use vaddr of correct segment for entry_point.
33778
b1b797cb 337792009-03-21 Bean <bean123ch@gmail.com>
33780
33781 * commands/blocklist.c: Add include file <grub/command.h>, remove
33782 <grub/normal.h> and <grub/arg.h>.
33783 (grub_cmd_blocklist): Use the new command interface.
33784 (GRUB_MOD_INIT): Likewise.
33785 (GRUB_MOD_FINI): Likewise.
33786 * commands/boot.c: Likewise.
33787 * commands/cat.c: Likewise.
33788 * commands/cmp.c: Likewise.
33789 * commands/configfile.c: Likewise.
33790 * commands/crc.c: Likewise.
33791 * commands/echo.c: Likewise.
33792 * commands/halt.c: Likewise.
33793 * commands/handler.c: Likewise.
33794 * commands/hdparm.c: Likewise.
33795 * commands/help.c: Likewise.
33796 * commands/hexdump.c: Likewise.
33797 * commands/loadenv.c: Likewise.
33798 * commands/ls.c: Likewise.
33799 * commands/lsmmap.c: Likewise.
33800 * commands/lspci.c: Likewise.
33801 * commands/loadenv.c: Likewise.
33802 * commands/read.c: Likewise.
33803 * commands/reboot.c: Likewise.
33804 * commands/search.c: Likewise.
33805 * commands/sleep.c: Likewise.
33806 * commands/test.c: Likewise.
33807 * commands/usbtest.c: Likewise.
33808 * commands/videotest.c: Likewise.
33809 * commands/i386/cpuid.c: Likewise.
33810 * commands/i386/pc/halt.c: Likewise.
33811 * commands/i386/pc/play.c: Likewise.
33812 * commands/i386/pc/pxecmd.c: Likewise.
33813 * commands/i386/pc/vbeinfo.c: Likewise.
33814 * commands/i386/pc/vbetest.c: Likewise.
33815 * commands/ieee1275/suspend.c: Likewise.
33816 * disk/loopback.c: Likewise.
33817 * font/font_cmd.c: Likewise.
33818 * hello/hello.c: Likewise.
33819 * loader/efi/appleloader.c: Likewise.
33820 * loader/efi/chainloader.c: Likewise.
33821 * loader/i386/bsd.c: Likewise.
33822 * loader/i386/efi/linux.c: Likewise.
33823 * loader/i386/ieee1275/linux.c: Likewise.
33824 * loader/i386/linux.c: Likewise.
33825 * loader/i386/pc/chainloader.c: Likewise.
33826 * loader/i386/pc/linux.c: Likewise.
33827 * loader/powerpc/ieee1275/linux.c: Likewise.
33828 * loader/multiboot_loader.c: Likewise.
33829 * term/gfxterm.c: Likewise.
33830 * term/i386/pc/serial.c: Likewise.
33831 * term/terminfo.c: Likewise.
33832
33833 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
33834 * term/i386/pc/vga.c: Likewise.
33835 * video/readers/jpeg.c: Likewise.
33836 * video/readers/png.c: Likewise.
33837 * video/readers/tga.c: Likewise.
33838
33839 * util/grub-fstest (cmd_loopback): Removed.
33840 (cmd_blocklist): Likewise.
33841 (cmd_ls): Likewise.
33842 (grub_register_command): Likewise.
33843 (grub_unregister_command): Likewise.
33844 (execute_command): Use grub_command_find to locate command and execute
33845 it.
33846
33847 * include/grub/efi/chainloader.h: Removed.
33848 * loader/efi/chainloader_normal.c: Likewise.
33849 * loader/i386/bsd_normal.c: Likewise.
33850 * loader/i386/pc/chainloader_normal.c: Likewise.
33851 * loader/i386/pc/multiboot_normal.c: Likewise.
33852 * loader/linux_normal.c: Likewise.
33853 * loader/multiboot_loader_normal.c: Likewise.
33854 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33855
33856 * gencmdlist.sh: Scan new registration command grub_register_extcmd
33857 and grub_register_command_p1.
33858
33859 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
33860 kern/command.c, lib/arg.c and commands/extcmd.c.
33861 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
33862 (minicmd_mod_SOURCES): New variable.
33863 (minicmd_mod_CFLAGS): Likewise.
33864 (minicmd_mod_LDFLAGS): Likewise.
33865 (extcmd_mod_SOURCES): Likewise.
33866 (extcmd_mod_CFLAGS): Likewise.
33867 (extcmd_mod_LDFLAGS): Likewise.
33868 (boot_mod_SOURCES): Removed.
33869 (boot_mod_CFLAGS): Likewise.
33870 (boot_mod_LDFLAGS): Likewise.
33871
33872 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
33873 kern/corecmd.c.
33874 (kernel_img_HEADERS): Add command.h.
33875 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
33876 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
33877 and lib/arg.c.
33878 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
33879 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
33880 remove the corresponding normal mode command.
33881 (normal_mod_SOURCES): Remove normal/arg.c.
33882 * conf/i386-coreboot.rmk: Likewise.
33883 * conf/i386-efi.rmk: Likewise.
33884 * conf/i386-ieee1275.rmk: Likewise.
33885 * conf/powerpc-ieee1275.rmk: Likewise.
33886 * conf/x86_64-efi.rmk: Likewise.
33887
33888 * include/grub/arg.h: Move from here ...
33889 * include/grub/lib/arg.h: ... to here.
33890
33891 * normal/arg.c: Move from here ...
33892 * lib/arg.c: ... to here.
33893
33894 * commands/extcmd.c: New file.
33895 * commands/minicmd.c: Likewise.
33896 * include/grub/command.h: Likewise.
33897 * include/grub/extcmd.h: Likewise.
33898 * kern/command.c: Likewise.
33899 * kern/corecmd.c: Likewise.
33900
33901 * kern/list.c (grub_list_iterate): Return int instead of void.
33902 (grub_list_insert): New function.
33903 (grub_prio_list_insert): Likewise.
33904
33905 * kern/rescue.c (grub_rescue_command): Removed.
33906 (grub_rescue_command_list): Likewise.
33907 (grub_rescue_register_command): Likewise.
33908 (grub_rescue_unregister_command): Likewise.
33909 (grub_rescue_cmd_boot): Move to minicmd.c
33910 (grub_rescue_cmd_help): Likewise.
33911 (grub_rescue_cmd_info): Likewise.
33912 (grub_rescue_cmd_boot): Likewise.
33913 (grub_rescue_cmd_testload): Likewise.
33914 (grub_rescue_cmd_dump): Likewise.
33915 (grub_rescue_cmd_rmmod): Likewise.
33916 (grub_rescue_cmd_lsmod): Likewise.
33917 (grub_rescue_cmd_exit): Likewise.
33918 (grub_rescue_print_devices): Moved to corecmd.c.
33919 (grub_rescue_print_files): Likewise.
33920 (grub_rescue_cmd_ls): Likewise.
33921 (grub_rescue_cmd_insmod): Likewise.
33922 (grub_rescue_cmd_set): Likewise.
33923 (grub_rescue_cmd_unset): Likewise.
7d074e3c 33924 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 33925 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 33926 commands, remove grub_rescue_register_command calls.
b1b797cb 33927
7d074e3c 33928 * normal/command.c (grub_register_command): Removed.
b1b797cb 33929 (grub_unregister_command): Likewise.
33930 (grub_command_find): Likewise.
33931 (grub_iterate_commands): Likewise.
33932 (rescue_command): Likewise.
33933 (export_command): Moved to corecmd.c.
33934 (set_command): Removed.
33935 (unset_command): Likewise.
33936 (insmod_command): Likewise.
33937 (rmmod_command): Likewise.
33938 (lsmod_command): Likewise.
33939 (grub_command_init): Likewise.
33940
33941 * normal/completion.c (iterate_command): Use cmd->prio to check for
33942 active command.
33943 (complete_arguments): Use grub_extcmd_t structure to find options.
33944 (grub_normal_do_completion): Change function grub_iterate_commands to
33945 grub_command_iterate.
33946
33947 * normal/execute.c (grub_script_execute_cmd): No need to parse
33948 argument here.
33949
33950 * normal/main.c (grub_dyncmd_dispatcher): New function.
33951 (read_command_list): Register unload commands as dyncmd.
33952 (grub_cmd_normal): Use new command interface, register rescue,
33953 unregister normal at entry, register normal, unregister rescue at exit.
33954
33955 * include/grub/list.h (grub_list_test_t): New type.
33956 (grub_list_iterate): Return int instead of void.
33957 (grub_list_insert): New function.
33958 (GRUB_AS_NAMED_LIST_P): New macro.
33959 (GRUB_AS_PRIO_LIST): Likewise.
33960 (GRUB_AS_PRIO_LIST_P): Likewise.
33961 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
33962 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
33963 (grub_prio_list): New structure.
33964 (grub_prio_list_insert): New function.
33965 (grub_prio_list_remove): New inline function.
33966
33967 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
33968 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
33969 (GRUB_COMMAND_FLAG_MENU): Likewise.
33970 (GRUB_COMMAND_FLAG_BOTH): Likewise.
33971 (GRUB_COMMAND_FLAG_TITLE): Likewise.
33972 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
33973 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
33974 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
33975 (grub_command): Likewise.
33976 (grub_register_command): Likewise.
33977 (grub_command_find): Likewise.
33978 (grub_iterate_commands): Likewise.
33979 (grub_command_init): Likewise.
33980 (grub_arg_parse): Likewise.
33981 (grub_arg_show_help): Likewise.
33982
33983 * include/grub/rescue.h (grub_rescue_register_command): Removed.
33984 (grub_rescue_unregister_command): Likewise.
33985
33986 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
33987 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
33988 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
33989
33990 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
33991 grub_rescue_cmd_initrd.
33992 * include/grub/i386/loader.h: Likewise.
33993 * include/grub/x86_64/loader.h: Likewise.
33994
33995 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
33996
1f4147aa 339972009-03-21 Bean <bean123ch@gmail.com>
33998
33999 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
34000 instead of stat in mingw environment.
34001
34002 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
34003
34004 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
34005
34006 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
34007 AC_CONFIG_LINKS.
34008
2156d5ba 340092009-03-21 Bean <bean123ch@gmail.com>
34010
34011 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
34012 out of range error.
34013
177b82ca 340142009-03-18 Michel Dänzer <michel@daenzer.net>
34015
34016 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
34017 checking inode flags for EXT4_EXTENTS_FLAG.
34018
14aad807 340192009-03-18 Robert Millan <rmh@aybabtu.com>
34020
34021 * loader/i386/linux.c: Include `<grub/video.h>' and
34022 `<grub/i386/pc/vbe.h>'..
34023 (grub_linux_setup_video): New function. Loosely based on the EFI one.
34024 (grub_linux32_boot): Attempt to configure video settings with
34025 grub_linux_setup_video().
34026 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
34027 to avoid grub_console_fini() which would step out of graphical mode
34028 unconditionally.
34029
8cf83a27 340302009-03-14 Robert Millan <rmh@aybabtu.com>
34031
34032 Fix build on powerpc.
34033 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
34034
40164e75 340352009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
34036
34037 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
34038 background image command.
34039
c58bc32a 340402009-03-12 Colin D Bennett <colin@gibibit.com>
34041
34042 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
34043 (grub_gfxterm_putchar): Extract pairs of identical calls to
34044 draw_cursor out of conditional blocks.
34045
5415144a 340462009-03-11 Pavel Roskin <proski@gnu.org>
34047
34048 * fs/hfs.c (grub_hfs_strncasecmp): New function.
34049 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
34050
6394042e 340512009-03-11 Robert Millan <rmh@aybabtu.com>
34052
34053 * loader/i386/multiboot_elfxx.c
34054 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
34055
b7b50e5f 340562009-03-11 Felix Zielcke <fzielcke@z-51.de>
34057
34058 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
34059 `kern/handler.c'.
34060
1ca7fc96 340612009-03-11 Robert Millan <rmh@aybabtu.com>
34062
34063 * loader/i386/multiboot.c (code_size): New variable.
34064 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 34065 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 34066 4-byte alignment to MBI and others by increasing
7d074e3c 34067 `boot_loader_name_length' appropriately.
1ca7fc96 34068
34069 * loader/i386/multiboot_elfxx.c
34070 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
34071
a83ea1d2 340722009-03-09 Felix Zielcke <fzielcke@z-51.de>
34073
34074 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
34075 `fs/ext2.c'.
34076
aa9f3bff 340772009-03-08 Robert Millan <rmh@aybabtu.com>
34078
34079 Make loader/i386/linux.c usable on i386-pc again.
34080
34081 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
34082 memory to heap.
34083 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
34084 `#error' stanza.
34085
d8b3b60e 340862009-03-07 Bean <bean123ch@gmail.com>
34087
34088 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
34089 allocation.
34090
b362c9e9 340912009-03-06 Robert Millan <rmh@aybabtu.com>
34092
34093 Fix display issue on terminals with screen size other than 80x25
34094 (e.g. gfxterm with resolution higher than 640x480).
34095
34096 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 34097 position relative to the center of the terminal instead of relying
b362c9e9 34098 on a hardcoded offset.
34099
9304eef1 341002009-03-04 Robert Millan <rmh@aybabtu.com>
34101
34102 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
34103 installed.
34104
34105 * Makefile.in (host_kernel): New variable.
34106 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
34107 scripts instead of just the windows one.
34108 * configure.ac: Initialize and AC_SUBST `host_kernel'.
34109
eabc95fb 341102009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 34111
34112 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
34113 `kern/handler.c'.
34114 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34115 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34116 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34117 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34118 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34119 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34120
ceb1223c 341212009-03-04 Felix Zielcke <fzielcke@z-51.de>
34122
34123 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
34124 or if there's no space for the disk label and print the partition number on a
34125 invalid magic.
34126
4910684a 341272009-03-04 Felix Zielcke <fzielcke@z-51.de>
34128
34129 * util/misc.c: Include <time.h>.
34130 (grub_millisleep): New function.
34131
7e9ca17a 341322009-03-04 Bean <bean123ch@gmail.com>
34133
34134 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
34135 another option -mno-red-zone.
34136
34137 * commands/handler.c: Change module description.
34138
34139 * kern/handler.c: Add missing space at the end of description line.
34140
34141 * kern/list.c: Likewise.
34142
f501677c 341432009-03-03 Robert Millan <rmh@aybabtu.com>
34144
34145 Move more components to the relocation area, and fix mbi pointer
34146 handling to use the destination rather than the origin (thanks to
34147 Vladimir Serbinenko for spotting).
34148
34149 * loader/i386/multiboot.c (mbi_dest): New variable.
34150 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
34151 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
34152 relocation area.
34153
9902d047 341542009-03-01 Bean <bean123ch@gmail.com>
34155
50fb7002 34156 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 34157 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
34158 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
34159 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
34160
34161 * loader/i386/efi/linux.c (acpi_guid): New variable.
34162 (acpi_guid): Likewise.
34163 (EBDA_SEG_ADDR): New constant.
34164 (LOW_MEM_ADDR): Likewise.
34165 (FAKE_EBDA_SEG): Likewise.
34166 (fake_bios_data): New function.
34167 (grub_linux_boot): Call fake_bios_data.
34168
71b9f361 341692009-03-01 Bean <bean123ch@gmail.com>
34170
34171 * commands/terminal.c: Removed.
34172
34173 * commands/handler.c: New file.
34174
34175 * include/grub/list.h: Likewise.
34176
34177 * include/grub/handler.h: Likewise.
34178
34179 * kern/list.c: Likewise.
34180
34181 * kern/handler.c: Likewise.
34182
34183 * kern/term.h: Include header file <grub/handler.h>.
34184 (grub_term_input): Move next field to the beginning.
34185 (grub_term_output): Likewise.
34186 (grub_term_input_class): New variable.
34187 (grub_term_output_class): Likewise.
34188 (grub_term_register_input): Changed to inline function.
34189 (grub_term_register_output): Likewise.
34190 (grub_term_unregister_input): Likewise.
34191 (grub_term_unregister_output): Likewise.
34192 (grub_term_set_current_input): Likewise.
34193 (grub_term_set_current_output): Likewise.
34194 (grub_term_get_current_input): Likewise.
34195 (grub_term_get_current_output): Likewise.
34196 (grub_term_iterate_input): Removed.
34197 (grub_term_iterate_output): Likewise.
34198
34199 * kern/term.c (grub_term_list_input): Removed.
34200 (grub_term_list_output): Likewise.
34201 (grub_term_input_class): New variable.
34202 (grub_term_output_class): Likewise.
50fb7002 34203 (grub_cur_term_input): Change variable as macro.
71b9f361 34204 (grub_cur_term_output): Likewise.
34205 (grub_term_register_input): Removed.
34206 (grub_term_register_output): Likewise.
34207 (grub_term_unregister_input): Likewise.
34208 (grub_term_unregister_output): Likewise.
34209 (grub_term_set_current_input): Likewise.
34210 (grub_term_set_current_output): Likewise.
34211 (grub_term_iterate_input): Likewise.
34212 (grub_term_iterate_output): Likewise.
34213 (grub_term_get_current_input): Likewise.
34214 (grub_term_get_current_output): Likewise.
34215
34216 * util/grub-editenv.c: Include header file <grub/handler.h>.
34217 (grub_term_get_current_input): Removed.
34218 (grub_term_get_current_output): Likewise.
34219 (grub_term_input_class): New variable.
50fb7002 34220 (grub_term_output_class): Likewise.
71b9f361 34221
34222 * util/grub-fstest.c (grub_term_get_current_input): Removed.
34223 (grub_term_get_current_output): Likewise.
34224 (grub_term_input_class): New variable.
50fb7002 34225 (grub_term_output_class): Likewise.
71b9f361 34226
34227 * util/grub-probe.c (grub_term_get_current_input): Removed.
34228 (grub_term_get_current_output): Likewise.
34229 (grub_term_input_class): New variable.
50fb7002 34230 (grub_term_output_class): Likewise.
71b9f361 34231
34232 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
34233 (grub_term_get_current_output): Likewise.
34234 (grub_term_input_class): New variable.
50fb7002 34235 (grub_term_output_class): Likewise.
71b9f361 34236
34237 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
34238 (terminal_mod_SOURCES): Likewise.
34239 (terminal_mod_CFLAGS): Likewise.
34240 (terminal_mod_LDFLAGS): Likewise.
34241
34242 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
34243 handler.c.
34244 (kernel_img_SOURCES): Add list.c and handler.c.
34245 (kernel_img_HEADERS): Add list.h and handler.h.
34246
34247 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
34248 handler.c.
34249 (kernel_mod_SOURCES): Add list.c and handler.c.
34250 (kernel_mod_HEADERS): Add list.h and handler.h.
34251
34252 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
34253 handler.c.
34254 (kernel_elf_SOURCES): Add list.c and handler.c.
34255 (kernel_elf_HEADERS): Add list.h and handler.h.
34256
34257 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
34258 handler.c.
34259 (kernel_elf_SOURCES): Add list.c and handler.c.
34260 (kernel_elf_HEADERS): Add list.h and handler.h.
34261
34262 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
34263 handler.c.
34264 (kernel_mod_SOURCES): Add list.c and handler.c.
34265 (kernel_mod_HEADERS): Add list.h and handler.h.
34266
34267 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
34268 handler.c.
34269 (kernel_elf_SOURCES): Add list.c and handler.c.
34270 (kernel_elf_HEADERS): Add list.h and handler.h.
34271
8a31787f 342722009-02-27 Robert Millan <rmh@aybabtu.com>
34273
34274 Factorize elf32 / elf64 code in Multiboot loader. This will
34275 prevent it from getting out of sync again.
34276
34277 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
34278 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
34279 grub_multiboot_load_elf64): Move from here ...
34280 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
34281 grub_multiboot_load_elf): ... to here (new file).
34282
51cd3dfc 342832009-02-27 Robert Millan <rmh@aybabtu.com>
34284
34285 * util/grub.d/10_linux.in: Rename "single-user mode" to
34286 "recovery mode".
34287
6e8c9c3a 342882009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
34289
34290 Don't leak in SCSI code.
34291 * disk/scsi.c (grub_scsi_close): free `scsi'.
34292
4b6bf4f9 342932009-02-27 Robert Millan <rmh@aybabtu.com>
34294
34295 * loader/i386/pc/multiboot.c: Move from here ...
34296 * loader/i386/multiboot.c: ... to here. Update all users.
34297
b9413424 342982009-02-27 Robert Millan <rmh@aybabtu.com>
34299
34300 Patch from Alexandre Bique <bique.alexandre@gmail.com>
34301 * util/i386/pc/grub-setup.c (setup): Fix directory path.
34302
50fb7002 343032009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 34304
34305 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
34306 b-tree.
34307
8cc50345 343082009-02-27 Robert Millan <rmh@aybabtu.com>
34309
34310 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
34311 `0x' qualifier as 0 when base is specified as parameter).
34312
6e09b8b7 343132009-02-24 Bean <bean123ch@gmail.com>
34314
34315 * configure.ac: Check for -mcmodel=large in x86_64 target.
34316
34317 * include/grub/efi/api.h (efi_call_10): New macro.
34318 (efi_wrap_10): New function.
34319
34320 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
34321 (GRUB_PE32_REL_BASED_HIGH): Likewise.
34322 (GRUB_PE32_REL_BASED_LOW): Likewise.
34323 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
34324 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
34325 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
34326 (GRUB_PE32_REL_BASED_SECTION): Likewise.
34327 (GRUB_PE32_REL_BASED_REL): Likewise.
34328 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
34329 (GRUB_PE32_REL_BASED_DIR64): Likewise.
34330 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
34331
34332 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
34333 issue.
34334
34335 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
34336 (efi_wrap_10): New function.
34337
34338 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
34339
34340 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
34341 MB/MBP model (NV chipset).
34342 (devdata_devs): Add devpath_5 to the list.
34343
34344 * load/i386/efi/linux.c (video_base): Remove variable.
34345 (RGB_MASK): New macro.
34346 (RGB_MAGIC): Likewise.
34347 (LINE_MIN): Likewise.
34348 (LINE_MAX): Likewise.
34349 (FBTEST_STEP): Likewise.
34350 (FBTEST_COUNT): Likewise.
34351 (fb_list): New variable.
34352 (grub_find_video_card): Remove function.
34353 (find_framebuf): New function.
34354 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
34355 line length.
34356
34357 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
34358 problem for x86_64.
34359
74b21bee 343602009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
34361
34362 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
34363
34364 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
34365 coding tool name.
34366
a455f472 343672009-02-22 Robert Millan <rmh@aybabtu.com>
34368
34369 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
34370 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
34371 in our relocation, instead of using it directly from heap. Also
34372 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
34373
6374daf3 343742009-02-21 Robert Millan <rmh@aybabtu.com>
34375
34376 Implement USB keyboard support (based on patch by Marco Gerards)
34377
34378 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
34379 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
34380 (usb_keyboard_mod_LDFLAGS): New variables.
34381
34382 * term/usb_keyboard.c: New file.
34383
8fa4ea70 343842009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
34385
34386 Corrected wrong declaration
34387
34388 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
34389
353976ac 343902009-02-14 Christian Franke <franke@computer.org>
34391
34392 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
34393 (grub_lspci_iter): Print class code and programming interface byte.
34394
6aa1169b 343952009-02-14 Christian Franke <franke@computer.org>
34396
34397 * gendistlist.sh: Ignore `.svn' directories.
34398
265372ca 343992009-02-14 Felix Zielcke <fzielcke@z-51.de>
34400
34401 * fs/fat.c: Add 2009 to Copyright line.
34402
9ff516f3 344032009-02-14 Christian Franke <franke@computer.org>
34404
34405 * commands/hdparm.c: New file. Provides `hdparm' command
34406 which sends ATA commands via grub_disk_ata_pass_through ().
34407
34408 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
34409
34410 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
34411 and <grub/cpu/io.h> to include/grub/ata.h.
34412 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
34413 (GRUB_CDROM_SECTOR_SIZE): Remove.
34414 (GRUB_ATA_*): Move to include/grub/ata.h.
34415 (GRUB_ATAPI_*): Likewise.
34416 (enum grub_ata_commands): Likewise.
34417 (enum grub_ata_timeout_milliseconds): Likewise.
34418 (struct grub_ata_device): Likewise.
34419 (grub_ata_regset): Likewise.
34420 (grub_ata_regget): Likewise.
34421 (grub_ata_regset2): Likewise.
34422 (grub_ata_regget2): Likewise.
34423 (grub_ata_check_ready): Likewise.
34424 (grub_ata_wait_not_busy): Remove static, exported in
34425 include/grub/ata.h.
34426 (grub_ata_wait_drq): Likewise.
34427 (grub_ata_pio_read): Likewise.
34428
34429 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
34430 function for hdparm.mod.
34431
34432 * include/grub/ata.h: New file, contains declarations from
34433 disk/ata.c.
34434 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
34435
34436 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
34437 (grub_disk_ata_pass_through): New exported variable.
34438
34439 * kern/disk.c (grub_disk_ata_pass_through): New variable.
34440
772e23da 344412009-02-13 Colin D Bennett <colin@gibibit.com>
34442
34443 Support multiple fallback entries, and provide an API to support
34444 executing default+fallback menu entries. Renamed the `terminal' menu
34445 viewer to `text'.
34446
34447 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
34448 variable declaration.
34449 (grub_menu_execute_callback): New structure declaration.
34450 (grub_menu_execute_callback_t): New typedef.
34451 (grub_menu_execute_with_fallback): New function declaration.
34452 (grub_menu_get_entry): Likewise.
34453 (grub_menu_get_timeout): Likewise.
34454 (grub_menu_set_timeout): Likewise.
34455
34456 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
34457
34458 * normal/menu.c (grub_wait_after_message): Moved to
34459 `normal/menu_text.c'.
34460 (draw_border): Likewise.
34461 (print_message): Likewise.
34462 (print_entry): Likewise.
34463 (print_entries): Likewise.
34464 (grub_menu_init_page): Likewise.
34465 (get_entry_number): Likewise.
34466 (print_timeout): Likewise.
34467 (run_menu): Likewise.
34468 (grub_menu_execute_entry): Likewise.
34469 (show_text_menu): Likewise.
34470 (get_and_remove_first_entry_number): New function.
34471 (grub_menu_execute_with_fallback): Likewise.
34472 (get_entry): Renamed to ...
34473 (grub_menu_get_entry): .. this and made it global.
34474 (get_timeout): Renamed to ...
34475 (grub_menu_get_timeout): ... this and made it global.
34476 (set_timeout): Renamed to ...
34477 (grub_menu_set_timeout): ... this and made it global.
34478 (grub_normal_terminal_menu_viewer): Renamed to ...
34479 (grub_normal_text_menu_viewer): ... this.
34480
34481 * normal/menu_text.c: New file. Extracted text-menu-specific code
34482 from normal/menu.c.
34483
34484 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
34485 (normal_mod_SOURCES): Likewise.
34486
34487 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34488 (normal_mod_SOURCES): Likewise.
34489
34490 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34491 (normal_mod_SOURCES): Likewise.
34492
34493 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
34494 (normal_mod_SOURCES): Likewise.
34495
34496 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34497 (normal_mod_SOURCES): Likewise.
34498
34499 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34500 (normal_mod_SOURCES): Likewise.
34501
34502 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34503 (normal_mod_SOURCES): Likewise.
34504
16ac430e 345052009-02-11 Robert Millan <rmh@aybabtu.com>
34506
34507 * util/grub.d/00_header.in: Update old reference to `font' command.
34508
06ff20fc 345092009-02-10 Felix Zielcke <fzielcke@z-51.de>
34510
34511 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
34512
34513 Based on patch from Javier Martín.
34514
96da9407 345152009-02-09 Felix Zielcke <fzielcke@z-51.de>
34516
34517 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 34518 to avoid false positives with FAT.
96da9407 34519 (grub_fstest_SOURCES): Likewise.
34520 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34521 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34522 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34523 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34524 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34525 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34526
6dca6fe4 345272009-02-09 Felix Zielcke <fzielcke@z-51.de>
34528
06ff20fc 34529 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 34530 bpb.version_specific.fat12_or_fat16.fstype and
34531 bpb.version_specific.fat32.fstype.
34532
2550c62f 345332009-02-08 Robert Millan <rmh@aybabtu.com>
34534
be110b30 34535 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 34536
56978920 345372009-02-08 Robert Millan <rmh@aybabtu.com>
34538
34539 * Makefile.in (host_os, host_cpu): New variables.
34540 (target_os): Remove. Update all users.
34541
d64399b5 345422009-02-08 Marco Gerards <marco@gnu.org>
34543
34544 * Makefile.in (enable_grub_emu_usb): New variable.
34545 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
34546 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
34547 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
34548 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
34549 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
34550 `usbtest.mod' and `usbms.mod'.
34551 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
34552 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
34553 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
34554 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
34555 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
34556 variables.
34557
34558 * disk/usbms.c: New file.
34559
34560 * include/grub/usb.h: Likewise.
34561
34562 * include/grub/usbtrans.h: Likewise.
34563
34564 * include/grub/usbdesc.h: Likewise.
34565
34566 * bus/usb/usbtrans.c: Likewise.
34567
34568 * bus/usb/ohci.c: Likewise.
34569
34570 * bus/usb/uhci.c: Likewise.
34571
34572 * bus/usb/usbhub.c: Likewise.
34573
34574 * bus/usb/usb.c: Likewise.
34575
34576 * commands/usbtest.c: Likewise.
34577
34578 * util/usb.c: Likewise.
50fb7002 34579
d64399b5 34580 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
34581
34582 * configure.ac: Test for libusb presence.
50fb7002 34583
d64399b5 34584 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
34585
2b40d6bb 345862009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
34587
34588 * kern/mm.c: Add more comments.
34589
73a4ce81 345902009-02-08 Robert Millan <rmh@aybabtu.com>
34591
34592 Patch from Javier Martín.
34593 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
34594 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
34595
f821ce59 345962009-02-08 Robert Millan <rmh@aybabtu.com>
34597
34598 * fs/cpio.c: Split tar functionality to ...
34599 * fs/tar.c: ... here (new file). Update all users.
34600
aebfc4b0 346012009-02-07 Robert Millan <rmh@aybabtu.com>
34602
34603 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
34604 backward-incompatible features.
34605
34606 Based on patch from Javier Martín, with some adjustments.
34607
50fb7002 346082009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 34609
34610 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
34611
0bb5115e 346122009-02-07 Robert Millan <rmh@aybabtu.com>
34613
34614 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
34615 position of `disk/lvm.c' to ensure grub_init_all() always picks it
34616 after the RAID stuff.
34617
38a0f8e7 346182009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
34619
50fb7002 34620 Fixes problem when running vbetest command as reported by
38a0f8e7 34621 Vladimir Serbinenko <phcoder@gmail.com>.
34622
34623 * (grub_vbe_set_video_mode): Fixed problem with text modes.
34624
3143cc1c 346252009-02-04 Felix Zielcke <fzielcke@z-51.de>
34626
34627 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
34628 /dev/md/NpN style mdraid devices.
34629
9cba6fce 346302009-02-03 Felix Zielcke <fzielcke@z-51.de>
34631
34632 * util/unifont2pff.rb: Remove.
34633
e507a2c1 346342009-02-03 Felix Zielcke <fzielcke@z-51.de>
34635
34636 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
34637 `#'.
34638
d2c2b4cd 346392009-02-03 Felix Zielcke <fzielcke@z-51.de>
34640
34641 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
34642 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34643 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34644 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34645 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34646 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34647 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34648
b4315fb0 346492009-02-02 Christian Franke <franke@computer.org>
34650
34651 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
34652
de3aa260 346532009-02-01 Felix Zielcke <fzielcke@z-51.de>
34654
7c3ff286 34655 * INSTALL: Note that we now require at least autoconf 2.59 and
34656 that LZO is optional.
de3aa260 34657
825a182b 346582009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
34659
34660 Base on patch on bug #24154 created by Tomas Tintera
34661 <trosos@seznam.cz>.
34662
34663 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
34664
a69ef770 346652009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
34666
7c3ff286 34667 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 34668 <bero@arklinux.org>.
34669
34670 * normal/parser.y (script_init): Add missing semicolon.
34671
6fa42fa6 346722009-01-31 Colin D Bennett <colin@gibibit.com>
34673
7c3ff286 34674 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 34675 (free_menu_entry_classes): Added.
34676 (grub_normal_menu_addentry): Added class property handling.
34677 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
34678 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
34679
34680 * normal/menu_viewer.c: New file.
34681
34682 * normal/menu.c (run_menu_entry): Renamed to ...
34683 (grub_menu_execute_entry): ... this and made it as global.
34684 (grub_menu_run): Renamed to ...
34685 (show_text_menu): ... this and made it local.
34686 (show_text_menu): Adapt to new function names.
34687 (grub_normal_terminal_menu_viewer): New global variable.
34688
34689 * include/grub/menu.h: New file.
34690
34691 * include/grub/menu_viewer.h: New file.
34692
34693 * include/grub/normal.h: Added include to grub/menu.h.
34694 (grub_menu_entry): Moved to include/grub/menu.h.
34695 (grub_menu_entry_t): Likewise.
34696 (grub_menu): Likewise.
34697 (grub_menu_t): Likewise.
34698 (grub_normal_terminal_menu_viewer): Added.
34699 (grub_menu_execute_entry): Likewise.
34700 (grub_menu_run): Removed.
34701
34702 * DISTLIST: Added include/grub/menu.h.
34703 Added include/grub/menu_viewer.h.
34704 Added normal/menu_viewer.c.
34705
347062009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
34707
34708 * normal/execute.c (grub_script_execute_menuentry): Changed to use
34709 arglist for menutitle arguments.
34710
34711 * normal/main.c (grub_normal_menu_addentry): Likewise.
34712
34713 * normal/parser.y (menuentry): Likewise.
34714
34715 * normal/script.c (grub_script_create_cmdmenu): Likewise.
34716
34717 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
34718 (grub_script_create_cmdmenu): Likewise.
34719
34720 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
34721
34722 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
34723 changes.
34724
34725 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
34726
34727 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
34728
34729 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
34730
34731 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
34732
34733 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
34734
34735 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
34736
56192c23 347372009-01-30 Christian Franke <franke@computer.org>
34738
34739 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
34740 in option help text.
34741
d72521b3 347422009-01-27 Pavel Roskin <proski@gnu.org>
34743
34744 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
34745
994b5e84 347462009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
34747
34748 * commands/lsmmap.c: Add include to grub/machine/memory.h.
34749
34750 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
34751
34752 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
34753 unregister function.
34754
6a7eab2c 347552009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
34756
34757 * disk/scsi.c (grub_scsi_read): Fix sign problem.
34758
34759 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
34760
34761 * util/grub-mkfont.c (usage): Fix typo.
34762
34763 * util/elf/grub-mkimage.c (load_modules): Fix warning.
34764
1806b56e 347652009-01-26 Daniel Mierswa <impulze@impulze.org>
34766
3fb18f09 34767 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
34768
336e1fb9 34769 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
34770
1806b56e 34771 * kern/misc.c (grub_strcasecmp): New function.
34772 (grub_strcasecmp): Use grub_size_t instead of int for length.
34773 Fix return value.
34774 * include/grub/misc.h: Update function prototypes.
34775
580b2a0f 347762009-01-26 Robert Millan <rmh@aybabtu.com>
34777
34778 * configure.ac: Fix cross-compilation check.
ef257b36 34779
d31c24f1 347802009-01-22 Christian Franke <franke@computer.org>
34781
34782 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
34783 (precision) digit string. Allow `.format2' without `format1' (width).
34784 Limit input chars for `%s' output to `format2' if specified. This is
34785 compatible with standard printf ().
34786
3138b44c 347872009-01-22 Christian Franke <franke@computer.org>
34788
34789 * disk/ata.c (grub_ata_wait_status): Replace by ...
34790 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
34791 other status bits may be invalid while BSY is asserted.
34792 (grub_ata_check_ready): New function.
34793 (grub_ata_cmd): Removed.
34794 (grub_ata_wait_drq): New function.
34795 (grub_ata_strncpy): Remove inline.
34796 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
34797 and error check now done by grub_ata_wait_drq ().
34798 (grub_ata_pio_write): Likewise.
34799 (grub_atapi_identify): Set DEV before check for !BSY. Use
34800 grub_ata_wait_drq () to wait for data.
34801 (grub_ata_device_initialize): Add status register check to
34802 detect missing SATA slave devices. Add debug messages.
34803 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
34804 (grub_atapi_packet): Set DEV before check for !BSY. Replace
34805 transfer loop by grub_ata_pio_write ().
34806 (grub_ata_identify): Set DEV before check for !BSY. Use
34807 grub_ata_wait_drq () to wait for data.
ef257b36 34808 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 34809 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
34810 read/write in one loop. Fix invalid command on write. Fix incomplete
34811 command on (size % batch) == 0. Add missing error check after write of
34812 last block. Add debug messages.
34813 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
34814
59a64ef6 348152009-01-19 Christian Franke <franke@computer.org>
34816
34817 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
34818 (GRUB_ATAPI_IREASON_*): Likewise.
34819 (grub_ata_pio_write): Fix timeout error return.
34820 (grub_atapi_identify): Add grub_ata_wait () after cmd.
34821 (grub_atapi_wait_drq): New function.
34822 (grub_atapi_packet): New parameter `size'.
34823 Use grub_atapi_wait_drq () and direct write instead of
34824 grub_ata_pio_write ().
34825 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
34826 reads the number of bytes requested by the device for each DRQ
34827 assertion.
34828 (grub_atapi_write): Remove old implementation, return not
34829 implemented instead.
34830
1cfe20b3 348312009-01-19 Christian Franke <franke@computer.org>
34832
34833 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
34834 of 512 to calculate data size.
34835 (grub_scsi_read12): Likewise.
34836 (grub_scsi_write10): Likewise.
34837 (grub_scsi_write12): Likewise.
34838 (grub_scsi_read): Adjust size according to blocksize.
34839 Add checks for invalid blocksize and unaligned transfer.
34840
bee5fe5d 348412009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
34842
34843 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
34844
ef257b36 34845 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 34846 width glyphs.
34847
3e643f8c 348482009-01-19 Robert Millan <rmh@aybabtu.com>
34849
34850 * config.guess: Update to latest version from config git.
34851 * config.sub: Likewise.
34852
4fa80998 348532009-01-17 Felix Zielcke <fzielcke@z-51.de>
34854
34855 * Makefile.in: Change font compilation to use new grub-mkfont instead
34856 of java version.
34857
34858 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
34859 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34860 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34861 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34862 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34863 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34864 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34865 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34866 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
34867
7086085b 348682009-01-16 Christian Franke <franke@computer.org>
34869
34870 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
34871 (enum grub_ata_timeout_milliseconds): New enum.
34872 (grub_ata_wait_status): Add parameter milliseconds.
34873 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
34874 recovery from timed-out commands.
34875 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
34876 return grub_errno instead of REG_ERROR.
34877 (grub_ata_pio_write): Add parameter milliseconds.
34878 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
34879 Pass milliseconds to grub_ata_wait_status () and
34880 grub_ata_pio_read ().
34881 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
34882 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
34883 grub_ata_wait_status (). Fix IDENTIFY timeout check.
34884 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
34885 It is not suitable for device detection, because DEV bit is ignored,
34886 the command may run too long, and not all devices set the signature
34887 properly.
34888 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
34889 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
34890 Fix device selection, DEV bit must be set first to address the registers
34891 of the correct device.
34892 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
34893 grub_ata_pio_read/write ().
34894 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
34895 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
34896
4a412913 348972009-01-13 Carles Pina i Estany <carles@pina.cat>
34898
34899 * util/grub-editenv.c (main): Use fseeko(), not fseek().
34900
7795c55e 349012009-01-13 Bean <bean123ch@gmail.com>
d913988c 34902
34903 * util/grub-mkfont.c (write_font): forget to remove some debug code.
34904
7795c55e 349052009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 34906
34907 * Makefile.in: (enable_grub_mkfont): New variable.
34908 (freetype_cflags): Likewise.
34909 (freetype_libs): Likewise.
34910
34911 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
34912 (grub_mkfont_SOURCES): New variable.
34913 (grub_mkfont_CFLAGS): Likewise.
34914 (grub_mkfont_LDFLAGS): Likewise.
34915
34916 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
34917 library if `--enable-grub-mkfont' is requested.
34918 (enable_grub_mkfont): New variable.
34919 (freetype_cflags): Likewise.
34920 (freetype_libs): Likewise.
34921
34922 * util/grub-mkfont.c: New file.
34923
093af1fe 349242009-01-12 Christian Franke <franke@computer.org>
34925
34926 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
34927 mode check. Fix setting of compat_use[].
34928
f36cc108 349292009-01-10 Robert Millan <rmh@aybabtu.com>
34930
34931 Update a few copyright years which we forgot to do in 2008 (only for
34932 files whose changes made in 2008 were copyright-significant)
34933
34934 * Makefile.in: Add 2008 to Copyright line.
34935 * disk/ieee1275/ofdisk.c: Likewise.
34936 * disk/efi/efidisk.c: Likewise.
34937 * kern/dl.c: Likewise.
34938 * kern/sparc64/ieee1275/init.c: Likewise.
34939 * kern/mm.c: Likewise.
34940 * kern/efi/mm.c: Likewise.
34941 * boot/i386/pc/boot.S: Likewise.
34942 * genfslist.sh: Likewise.
34943 * fs/iso9660.c: Likewise.
34944 * fs/hfs.c: Likewise.
34945 * fs/jfs.c: Likewise.
34946 * fs/minix.c: Likewise.
34947 * fs/ufs.c: Likewise.
34948 * gensymlist.sh.in: Likewise.
34949 * genkernsyms.sh.in: Likewise.
34950 * include/grub/misc.h: Likewise.
34951 * include/grub/types.h: Likewise.
34952 * include/grub/symbol.h: Likewise.
34953 * include/grub/elf.h: Likewise.
34954 * include/grub/kernel.h: Likewise.
34955 * include/grub/disk.h: Likewise.
34956 * include/grub/dl.h: Likewise.
34957 * include/grub/i386/linux.h: Likewise.
34958 * include/grub/i386/pc/biosdisk.h: Likewise.
34959 * include/grub/efi/api.h: Likewise.
34960 * include/grub/efi/pe32.h: Likewise.
34961 * include/grub/util/misc.h: Likewise.
34962 * normal/execute.c: Likewise.
34963 * normal/arg.c: Likewise.
34964 * normal/completion.c: Likewise.
34965 * normal/lexer.c: Likewise.
34966 * normal/parser.y: Likewise.
34967 * normal/misc.c: Likewise.
34968 * commands/i386/pc/vbeinfo.c: Likewise.
34969 * commands/hexdump.c: Likewise.
34970 * commands/terminal.c: Likewise.
34971 * commands/ls.c: Likewise.
34972 * commands/help.c: Likewise.
34973 * partmap/pc.c: Likewise.
34974 * loader/efi/chainloader.c: Likewise.
34975 * loader/multiboot_loader.c: Likewise.
34976 * loader/i386/pc/multiboot2.c: Likewise.
34977 * term/efi/console.c: Likewise.
34978 * term/i386/pc/serial.c: Likewise.
34979 * util/lvm.c: Likewise.
34980 * util/console.c: Likewise.
34981 * util/i386/efi/grub-mkimage.c: Likewise.
34982 * util/raid.c: Likewise.
34983
7f02114b 349842009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
34985
34986 * commands/videotest.c: Removed include to grub/machine/memory.h.
34987
34988 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
34989 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
34990 (video_mod_SOURCES): Removed.
34991 (video_mod_CFLAGS): Likewise.
34992 (video_mod_LDFLAGS): Likewise.
34993 (gfxterm_mod_SOURCES): Likewise.
34994 (gfxterm_mod_CFLAGS): Likewise.
34995 (gfxterm_mod_LDFLAGS): Likewise.
34996 (videotest_mod_SOURCES): Likewise.
34997 (videotest_mod_CFLAGS): Likewise.
34998 (videotest_mod_LDFLAGS): Likewise.
34999 (bitmap_mod_SOURCES): Likewise.
35000 (bitmap_mod_CFLAGS): Likewise.
35001 (bitmap_mod_LDFLAGS): Likewise.
35002 (tga_mod_SOURCES): Likewise.
35003 (tga_mod_CFLAGS): Likewise.
35004 (tga_mod_LDFLAGS): Likewise.
35005 (jpeg_mod_SOURCES): Likewise.
35006 (jpeg_mod_CFLAGS): Likewise.
35007 (jpeg_mod_LDFLAGS): Likewise.
35008 (png_mod_SOURCES): Likewise.
35009 (png_mod_CFLAGS): Likewise.
35010 (png_mod_LDFLAGS): Likewise.
35011
35012 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
35013 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
35014 (video_mod_SOURCES): Added.
35015 (video_mod_CFLAGS): Likewise.
35016 (video_mod_LDFLAGS): Likewise.
35017 (videotest_mod_SOURCES): Likewise.
35018 (videotest_mod_CFLAGS): Likewise.
35019 (videotest_mod_LDFLAGS): Likewise.
35020 (bitmap_mod_SOURCES): Likewise.
35021 (bitmap_mod_CFLAGS): Likewise.
35022 (bitmap_mod_LDFLAGS): Likewise.
35023 (tga_mod_SOURCES): Likewise.
35024 (tga_mod_CFLAGS): Likewise.
35025 (tga_mod_LDFLAGS): Likewise.
35026 (jpeg_mod_SOURCES): Likewise.
35027 (jpeg_mod_CFLAGS): Likewise.
35028 (jpeg_mod_LDFLAGS): Likewise.
35029 (png_mod_SOURCES): Likewise.
35030 (png_mod_CFLAGS): Likewise.
35031 (png_mod_LDFLAGS): Likewise.
35032 (gfxterm_mod_SOURCES): Likewise.
35033 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 35034 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 35035
35036 * term/gfxterm.c: Removed include to grub/machine/memory.h,
35037 grub/machine/console.h.
35038
644fff97 350392009-01-04 Jerone Young <jerone@gmail.com>
35040
35041 Make on screen instructions clearer
35042
35043 Based on patch created by Jidanni <jidanni@jidanni.org>
35044
35045 * normal/menu.c: print clearer instructions on the screen
35046
1e901a75 350472009-01-02 Colin D Bennett <colin@gibibit.com>
35048
35049 New font engine.
34c44600 35050
1e901a75 35051 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
35052 build system and fixed gfxterm.c to work with different sized fonts.
35053
35054 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 35055
1e901a75 35056 * configure: Re-generated.
34c44600 35057
1e901a75 35058 * DISTLIST: Removed font/manager.c.
35059 Added font/font.c.
35060 Added font/font_cmd.c.
34c44600 35061
1e901a75 35062 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
35063 compilation.
34c44600 35064
1e901a75 35065 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 35066
35067 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 35068
35069 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 35070
1e901a75 35071 * normal/menu.c: Likewise.
34c44600 35072
1e901a75 35073 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
35074 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 35075
1e901a75 35076 * include/grub/font.h: Replaced with new file.
34c44600 35077
1e901a75 35078 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
35079 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
35080 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
35081 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
35082 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 35083 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 35084 fg_red, fg_green, fg_blue, fg_alpha.
35085 (grub_video_adapter): Removed blit_glyph.
34c44600 35086 (grub_video_blit_glyph): Removed.
35087
1e901a75 35088 * font/manager.c: Removed file.
34c44600 35089
35090 * font/font.c: New file.
35091
1e901a75 35092 * font/font_cmd.c: Likewise.
34c44600 35093
1e901a75 35094 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 35095
1e901a75 35096 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
35097 (grub_video_vbe_map_rgba): Likewise.
35098 (grub_video_vbe_unmap_color_int): Likewise.
35099 (grub_video_vbe_blit_glyph): Removed.
35100 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 35101
1e901a75 35102 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
35103 (get_pixel): Likewise.
34c44600 35104 (set_pixel): Likewise.
35105
1e901a75 35106 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 35107
1e901a75 35108 * term/gfxterm.c: Adapted to new font engine.
34c44600 35109
1e901a75 35110 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 35111
1e901a75 35112 * term/i386/pc/vga.c: Likewise.
34c44600 35113
1e901a75 35114 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 35115
1e901a75 35116 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 35117
1e901a75 35118 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 35119
1e901a75 35120 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 35121
1e901a75 35122 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 35123
1e901a75 35124 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 35125
1e901a75 35126 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 35127
1e901a75 35128 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 35129
1e901a75 35130 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
35131
35132 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 35133
1e901a75 35134 * util/grub-mkconfig_lib.in: Changed font extension.
35135
278922e8 351362008-12-28 Felix Zielcke <fzielcke@z-51.de>
35137
35138 * util/getroot.c (grub_util_get_grub_dev): Add support for
35139 /dev/md/dNNpNN style partitionable mdraid devices.
35140
3ced05cf 351412008-12-12 Alex Smith <alex@alex-smith.me.uk>
35142
35143 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
35144 at a time limit of the PXE TFTP API correctly.
35145 (grub_pxefs_close): Likewise.
35146
7fd0ee30 351472008-11-29 Robert Millan <rmh@aybabtu.com>
35148
34c44600 35149 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 35150 grub_ata_device_initialize() calls.
35151
34c44600 351522008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 35153
35154 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
35155 iteration failed.
35156 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
35157
89313780 351582008-11-28 Robert Millan <rmh@aybabtu.com>
35159
35160 Fix build on powerpc-ieee1275. Based on patch created by
35161 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
35162 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
35163 `kern/ieee1275/mmap.c'.
35164 * include/grub/powerpc/ieee1275/memory.h: New file.
35165
15257703 35166 Provide grub-install on coreboot.
35167 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
35168 (grub_install_SOURCES): New variable.
35169 * util/i386/pc/grub-install.in: Add a few condition checks to make it
35170 usable on coreboot.
35171
9fc5388a 351722008-11-25 Felix Zielcke <fzielcke@z-51.de>
35173
35174 * util/grub-fstest.c (grub_term_get_current_input): Change return type
35175 to `grub_term_input_t'.
35176 (grub_term_get_current_output): Change return type to
35177 `grub_term_output_t'.
35178
bc3a2f31 351792008-11-22 Robert Millan <rmh@aybabtu.com>
35180
34c44600 35181 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 35182 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
35183 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
35184 grub_vga_text_cls().
35185
80fc88f2 35186 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 35187 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 35188
cbf36fd3 35189 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
35190 to 0x200000 (avoids trouble with some OFW implementations, and matches
35191 with the one in Yaboot).
35192 Reported by Manoel Abranches
35193
73e8e268 351942008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 35195
35196 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
35197 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
35198
73e8e268 35199 * util/grub-mkconfig_lib.in (grub_warn): New function.
35200 (convert_system_path_to_grub_path): Use grub_warn() when issuing
35201 warnings, to obtain consistent formatting.
35202 * util/grub.d/00_header.in: Likewise.
35203 * util/update-grub_lib.in: Likewise.
35204
e94045a1 35205 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 35206 Move comment text to `#error' stanza.
e94045a1 35207
79d29fd7 35208 Harmonize ieee1275's grub_available_iterate() with the generic
35209 grub_machine_mmap_iterate() interface (fixes a recently-introduced
35210 build problem on i386-ieee1275):
35211 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
35212 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
35213 parameter `type'. Update all users of this function.
35214 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
35215 `kern/ieee1275/mmap.c'.
35216 * kern/ieee1275/init.c
35217 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
35218 with ...
35219 (grub_machine_mmap_iterate): ... this.
35220 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
35221 return type to `grub_err_t'. Update all implementations of this
35222 function prototype.
35223 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
35224 Likewise.
35225
60d6b16e 35226 Add `lsmmap' command (lists firmware-provided memory map):
35227 * commands/lsmmap.c: New file.
35228 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
35229 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
35230 variables.
35231 * conf/powerpc-ieee1275.rmk: Likewise.
35232 * conf/i386-coreboot.rmk: Likewise.
35233 * conf/i386-ieee1275.rmk: Likewise.
35234
ebaaf49b 352352008-11-19 Robert Millan <rmh@aybabtu.com>
35236
35237 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 35238 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
35239 constraints to initrd allocation (based on code from
35240 loader/i386/pc/linux.c). Without them, initrd was allocated too high
35241 for Linux to find it.
ebaaf49b 35242
dfab719f 352432008-11-14 Robert Millan <rmh@aybabtu.com>
35244
35245 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
35246 order to cope with duplicate slashes.
35247
10fc3eb9 352482008-11-14 Robert Millan <rmh@aybabtu.com>
35249
35250 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
35251 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
35252 don't want to mess with lower memory, because it is used in the Linux
35253 loader.
35254
35255 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 35256 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 35257 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
35258 is in our heap (probably as a result of it being corrupted during
2f2a3442 35259 decompression). Add #error instance with comment to explain why this
35260 loader isn't currently usable on PC/BIOS.
10fc3eb9 35261
e2e07847 352622008-11-14 Robert Millan <rmh@aybabtu.com>
35263
35264 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 35265 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 35266
fe8e8d69 352672008-11-12 Robert Millan <rmh@aybabtu.com>
35268
35269 Make loader/i386/linux.c buildable on i386-pc (although disabled).
35270
35271 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
35272 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
35273 from here ...
35274 * include/grub/i386/pc/memory.h: ... to here.
35275
976b07d0 352762008-11-12 Robert Millan <rmh@aybabtu.com>
35277
35278 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
35279 split).
35280
35281 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
35282 (grub_console_cur_color, grub_console_real_putchar)
35283 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
35284 (grub_console_setcolorstate, grub_console_setcolor)
35285 (grub_console_getcolor): Move from here ...
35286 * include/grub/i386/vga_common.h: ... to here (new file).
35287
35288 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
35289 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
35290 `<grub/i386/io.h>'.
35291 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
35292 `<grub/i386/vga_common.h>'.
35293
76679cd3 352942008-11-12 Robert Millan <rmh@aybabtu.com>
35295
35296 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
35297 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
35298 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
35299 variables.
35300 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
35301 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
35302
35303 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
35304 grub_console_init() with call to grub_vga_text_init().
35305 (grub_machine_fini): Replace call to
35306 grub_console_fini() with call to grub_vga_text_fini() and
35307 grub_at_keyboard_fini().
35308
35309 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
35310 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
35311 (grub_console_setcolorstate, grub_console_setcolor)
35312 (grub_console_getcolor): New function prototypes.
35313
35314 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
35315 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
35316 (grub_vga_text_setcursor): Static-ize.
35317 (grub_vga_text_term): New structure.
35318 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
35319
35320 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
35321 (grub_console_cur_color, grub_console_standard_color)
35322 (grub_console_normal_color, grub_console_highlight_color)
35323 (map_char, grub_console_putchar, grub_console_getcharwidth)
35324 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
35325 (grub_console_getcolor): Move from here ...
35326 * term/i386/vga_common.c: ... to here (same function names).
35327
95b841d3 353282008-11-12 Robert Millan <rmh@aybabtu.com>
35329
35330 Use newly-added Multiboot support in coreboot.
35331
35332 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
35333 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
35334
35335 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
35336 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
35337 (codestart): Store the MBI in `startup_multiboot_info' when we're
35338 being loaded using Multiboot.
35339
35340 * kern/i386/coreboot/init.c (grub_machine_init): Move
35341 grub_at_keyboard_init() call to beginning of function (useful for
35342 debugging). Call grub_machine_mmap_init() before attempting to use
35343 grub_machine_mmap_iterate().
35344 (grub_lower_mem, grub_upper_mem): Move from here ...
35345 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
35346 here (new file).
35347
35348 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
35349 function prototype.
35350
761ca975 353512008-11-12 Robert Millan <rmh@aybabtu.com>
35352
35353 Fix a regression introduced by the at_keyboard.mod split. Because
35354 some terminals are default on some platforms and non-default on
35355 others, the first terminal being registered determines which is
35356 going to be default.
35357
35358 * kern/term.c (grub_term_register_input): If this is the first
35359 terminal being registered, set it as the current one.
35360 (grub_term_register_output): Likewise.
35361
35362 * term/efi/console.c (grub_console_init): Do not call
35363 grub_term_set_current_output() or grub_term_set_current_input().
35364 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
35365 * term/i386/pc/console.c (grub_console_init): Likewise.
35366 (grub_console_fini): Do not call grub_term_set_current_input()
35367 (but leave grub_term_set_current_output() to restore text mode).
35368
6c529df7 353692008-11-10 Robert Millan <rmh@aybabtu.com>
35370
35371 * util/grub.d/00_header.in: Add backward compatibility check for
35372 versions of terminal.mod that don't understand `terminal_input' or
35373 `terminal_output'.
35374
132e4113 353752008-11-09 Robert Millan <rmh@aybabtu.com>
35376
35377 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
35378 `terminal_input' / `terminal_output', not `terminal'.
35379
ac293d50 353802008-11-08 Robert Millan <rmh@aybabtu.com>
35381
35382 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 35383 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 35384
0025933a 353852008-11-08 Robert Millan <rmh@aybabtu.com>
35386
35387 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 35388 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 35389 members. Update all users.
35390 * util/console.c (grub_ncurses_term): Split in ...
35391 (grub_ncurses_term_input): ... this, and ...
35392 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 35393 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 35394
37c86336 353952008-11-08 Robert Millan <rmh@aybabtu.com>
35396
35397 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
35398 (PKGDATA): Add $(pkgdata_SRCDIR).
35399 (pkglib_BUILDDIR): New variable.
35400 (pkgdata_SRCDIR): New variable.
35401 (build_env.mk): New target.
35402 (include_DATA): New variable.
35403 (install-local): Install $(include_DATA) files in $(includedir).
35404
b6c15a2d 354052008-11-07 Pavel Roskin <proski@gnu.org>
35406
d99d46f1 35407 * gendistlist.sh: Use C locale for sorting to ensure consistent
35408 output on all systems.
35409
b6c15a2d 35410 * util/grub.d/00_header.in: Remove incorrect space before
35411 "serial".
35412
c32ee8c9 354132008-11-07 Robert Millan <rmh@aybabtu.com>
35414
35415 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
35416 per specification.
35417 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
35418 * loader/multiboot_loader.c (find_multi_boot2_header): New function
35419 (based on find_multi_boot1_header).
35420 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
35421 using find_multi_boot2_header(), and abort if neither Multiboot or
35422 Multiboot headers were found.
35423
651c29b7 354242008-11-07 Robert Millan <rmh@aybabtu.com>
35425
35426 Modularize at_keyboard.mod:
35427
35428 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
35429 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
35430 (at_keyboard_mod_LDFLAGS): New variables.
35431
35432 Actual terminal split:
35433
35434 * include/grub/term.h (struct grub_term): Split in ...
35435 (struct grub_term_input): ... this, and ...
35436 (struct grub_term_output): ... this. Update all users.
35437 (grub_term_set_current): Split in ...
35438 (grub_term_set_current_input): ... this, and ...
35439 (grub_term_set_current_output): ... this.
35440 (grub_term_get_current): Split in ...
35441 (grub_term_get_current_input): ... this, and ...
35442 (grub_term_get_current_output): ... this.
35443 (grub_term_register): Split in ...
35444 (grub_term_register_input): ... this, and ...
35445 (grub_term_register_output): ... this.
35446 (grub_term_unregister): Split in ...
35447 (grub_term_unregister_input): ... this, and ...
35448 (grub_term_unregister_output): ... this.
35449 (grub_term_iterate): Split in ...
35450 (grub_term_iterate_input): ... this, and ...
35451 (grub_term_iterate_output): ... this.
35452
35453 * kern/term.c (grub_term_list): Split in ...
35454 (grub_term_list_input): ... this, and ...
35455 (grub_term_list_output): ... this. Update all users.
35456 (grub_cur_term): Split in ...
35457 (grub_cur_term_input): ... this, and ...
35458 (grub_cur_term_output): ... this. Update all users.
35459 (grub_term_set_current): Split in ...
35460 (grub_term_set_current_input): ... this, and ...
35461 (grub_term_set_current_output): ... this.
35462 (grub_term_get_current): Split in ...
35463 (grub_term_get_current_input): ... this, and ...
35464 (grub_term_get_current_output): ... this.
35465 (grub_term_register): Split in ...
35466 (grub_term_register_input): ... this, and ...
35467 (grub_term_register_output): ... this.
35468 (grub_term_unregister): Split in ...
35469 (grub_term_unregister_input): ... this, and ...
35470 (grub_term_unregister_output): ... this.
35471 (grub_term_iterate): Split in ...
35472 (grub_term_iterate_input): ... this, and ...
35473 (grub_term_iterate_output): ... this.
35474
35475 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
35476 a check for input and one for output (and only attempt to get keys
35477 from user when input works).
35478
35479 * util/grub-probe.c (grub_term_get_current): Split in ...
35480 (grub_term_get_current_input): ... this, and ...
35481 (grub_term_get_current_output): ... this.
35482 * util/grub-fstest.c: Likewise.
35483 * util/i386/pc/grub-setup.c: Likewise.
35484 * util/grub-editenv.c: Likewise.
35485
35486 Portability adjustments:
35487
35488 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
35489 `term/i386/pc/at_keyboard.c'.
35490 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
35491 grub_keyboard_controller_init() (now handled by terminal .init).
35492 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
35493 grub_at_keyboard_init().
35494 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
35495 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
35496 at_keyboard.mod via input terminal interface).
35497 * include/grub/i386/coreboot/console.h: Convert into a stub for
35498 `<grub/i386/pc/console.h>'.
35499
35500 Migrate full terminals to new API:
35501
35502 * term/efi/console.c (grub_console_term): Split into ...
35503 (grub_console_term_input): ... this, and ...
35504 (grub_console_term_output): ... this. Update all users.
35505 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
35506 (grub_ofconsole_init): Split into ...
35507 (grub_ofconsole_init_input): ... this, and ...
35508 (grub_ofconsole_init_output): ... this.
35509 (grub_ofconsole_term): Split into ...
35510 (grub_ofconsole_term_input): ... this, and ...
35511 (grub_ofconsole_term_output): ... this. Update all users.
35512 * term/i386/pc/serial.c (grub_serial_term): Split into ...
35513 (grub_serial_term_input): ... this, and ...
35514 (grub_serial_term_output): ... this. Update all users.
35515 * term/i386/pc/console.c (grub_console_term): Split into ...
35516 (grub_console_term_input): ... this, and ...
35517 (grub_console_term_output): ... this. Update all users.
35518 (grub_console_term_input): Only enable it on PC/BIOS platform.
35519 (grub_console_init): Remove grub_keyboard_controller_init() call.
35520
35521 Migrate input terminals to new API:
35522
35523 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
35524 `i386' and `i386/pc' to enable build on x86_64 (this driver is
35525 i386-specific anyway).
35526 (grub_console_checkkey): Rename to ...
35527 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
35528 users.
35529 (grub_keyboard_controller_orig): New variable.
35530 (grub_console_getkey): Rename to ...
35531 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
35532 users.
35533 (grub_keyboard_controller_init): Static-ize. Save original
35534 controller value so that it can be restored ...
35535 (grub_keyboard_controller_fini): ... here (new function).
35536 (grub_at_keyboard_term): New structure.
35537 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
35538 functions.
35539
35540 Migrate output terminals to new API:
35541
35542 * term/i386/pc/vga.c (grub_vga_term): Change type to
35543 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
35544 members. Update all users.
35545 * term/gfxterm.c (grub_video_term): Change type to
35546 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
35547 members. Update all users.
35548 * include/grub/i386/pc/console.h (grub_console_checkkey)
35549 (grub_console_getkey): Do not export (no longer needed by gfxterm,
35550 etc).
35551
35552 Migrate `terminal' command and userland tools to new API:
35553
35554 * commands/terminal.c (grub_cmd_terminal): Split into ...
35555 (grub_cmd_terminal_input): ... this, and ...
35556 (grub_cmd_terminal_output): ... this.
35557 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
35558 `terminal_input' and `terminal_output'.
35559 * util/grub.d/00_header.in: Adjust `terminal' calls to new
35560 `terminal_input' / `terminal_output' API.
35561 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
35562 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
35563 provided ${GRUB_TERMINAL}, convert it).
35564
96e5d876 355652008-11-04 Robert Millan <rmh@aybabtu.com>
35566
35567 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
35568 for FreeBSD.
35569 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
35570
556f3775 355712008-11-03 Bean <bean123ch@gmail.com>
35572
35573 * kern/elf.c (grub_elf32_load): Revert to previous code.
35574 (grub_elf64_load): Likewise.
35575
35576 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
35577
926b9823 355782008-11-01 Robert Millan <rmh@aybabtu.com>
35579
35580 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
35581 (TARGET_CPPFLAGS): Likewise.
35582 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
35583
1432e958 355842008-11-01 Carles Pina i Estany <carles@pina.cat>
35585
35586 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
35587
dba3f844 355882008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 35589
35590 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
35591 addition of objects until the code is not going to be able to fail.
35592
dba3f844 355932008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 35594
35595 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
35596 (add a missing NULL check, and correct them by moving the pointer
35597 operations after the actual check).
35598
7ab28c21 355992008-10-29 Robert Millan <rmh@aybabtu.com>
35600
35601 * util/i386/pc/grub-install.in: Handle empty string as output from
35602 make_system_path_relative_to_its_root().
35603
1b7748eb 356042008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
35605
35606 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
35607 circular metadata worst case scenario. If the metadata is circular
35608 then copy the wrap in place.
35609 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
35610 project lib/format_text/layout.h
35611 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
35612
c9618ab2 356132008-10-03 Felix Zielcke <fzielcke@z-51.de>
35614
7a36edca 35615 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 35616
bf981c62 356172008-10-03 Felix Zielcke <fzielcke@z-51.de>
35618
35619 * util/update-grub_lib.in: Mention filename in warning message.
35620
6d994591 356212008-09-29 Felix Zielcke <fzielcke@z-51.de>
35622
35623 * NEWS: Update for rename of update-grub to grub-mkconfig.
35624
18ade780 356252008-09-29 Felix Zielcke <fzielcke@z-51.de>
35626
35627 * util/update-grub_lib.in: Copy to ...
35628 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 35629 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 35630 * util/update-grub.in: Rename to ...
35631 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
35632 option. Add `--output' option to allow users to specify the generated
35633 configuration file. Default to stdout.
35634 (update_grub_dir): Rename to ...
35635 (grub_mkconfig_dir): ... this.
35636 (grub_cfg): Default to an empty string.
35637 * conf/common.rmk (update-grub): Rename to ...
35638 (grub-mkconfig): ... this.
35639 (update-grub_lib): Copy to ...
35640 (grub-mkconfig_lib): ... this.
35641 (update-grub_SCRIPTS): Copy to ...
35642 (grub-mkconfig_SCRIPTS): ... this. Update all users.
35643 (update-grub_DATA): Rename to ...
35644 (grub-mkconfig_DATA): ... this.
35645
556ce6ac 356462008-09-28 Robert Millan <rmh@aybabtu.com>
35647
35648 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
35649 to `modified'. Add the real `created' field.
35650 (grub_iso9660_uuid): Use `modified' rather than `created' for
35651 constructing the UUID.
35652
356532008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 35654
35655 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
35656 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
35657
92274e85 356582008-09-28 Bean <bean123ch@gmail.com>
35659
35660 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
35661 Thanks to Christian Franke for finding this bug.
35662
add6f17a 356632008-09-25 Robert Millan <rmh@aybabtu.com>
35664
35665 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
35666 instances of grub_util_get_disk_name() (see previous commit).
35667
d2a367b8 356682008-09-25 Robert Millan <rmh@aybabtu.com>
35669
35670 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
35671 `util/i386/get_disk_name.c'.
35672 * conf/i386-efi.rmk: Likewise.
35673 * conf/x86_64-efi.rmk: Likewise.
35674 * conf/i386-coreboot.rmk: Likewise.
35675 * conf/i386-ieee1275.rmk: Likewise.
35676 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
35677 `util/ieee1275/get_disk_name.c'.
35678 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
35679 * util/ieee1275/get_disk_name.c: Remove file.
35680 * util/i386/get_disk_name.c: Remove file.
35681 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
35682 "hd%d" for device.map entries, rather than using
35683 grub_util_get_disk_name().
35684
81a06771 356852008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 35686
35687 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
35688 warning.
35689 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
35690
5a004279 356912008-09-24 Carles Pina i Estany <carles@pina.cat>
35692
35693 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
35694 Changed to 0x5100.
35695 (GRUB_TERM_PPAGE): Changed to 0x4900.
35696
397093d3 356972008-09-24 Robert Millan <rmh@aybabtu.com>
35698
35699 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
35700 macros (they were i386-pc specific).
35701 * include/grub/sparc64/ieee1275/console.h: Likewise.
35702 * include/grub/efi/console.h: Likewise.
35703
a91b6c7c 357042008-09-22 Bean <bean123ch@gmail.com>
35705
35706 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
35707 resident and in attribute list.
35708
35709 * include/grub/ntfs.h (BMP_LEN): Removed.
35710
c40fd116 357112008-09-22 Bean <bean123ch@gmail.com>
35712
81a06771 35713 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 35714 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
35715
35716 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
35717 error occurs, as grub_disk_open will call grub_disk_close, which will
35718 call p->close (scsi).
35719
81a06771 357202008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 35721
35722 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
35723 (AC_PREREQ): Bumped to 2.59.
35724 (AC_TRY_COMPILE): Replace obsolete macro with ...
35725 (AC_COMPILE_IFELSE): ... this.
35726 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
35727 (AC_LINK_IFELSE): ... this.
35728
5dc43410 357292008-09-21 Felix Zielcke <fzielcke@z-51.de>
35730
35731 * autogen.sh: Add a call to `gendistlist.sh'.
35732
9035dce4 357332008-09-19 Christian Franke <franke@computer.org>
35734
35735 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
35736 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
35737 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
35738 Export __enable_execute_stack() to modules.
35739 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
35740 New function.
35741
7fd75377 357422008-09-09 Felix Zielcke <fzielcke@z-51.de>
35743
040030b3 35744 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
35745 Sort the list.
35746
357472008-09-09 Felix Zielcke <fzielcke@z-51.de>
35748
35749 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 35750 #include <grub/util/hostdisk.h>.
35751
89d5ffcf 357522008-09-08 Robert Millan <rmh@aybabtu.com>
35753
35754 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
35755 segments when their filesz is zero (grub_file_read() interprets
81a06771 35756 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 35757 Use `lowest_segment' rather than 0 for calculating the current
35758 segment load address.
35759
40da438f 357602008-09-08 Robert Millan <rmh@aybabtu.com>
35761
35762 * util/hostdisk.c (open_device): Replace a grub_util_info() call
35763 with grub_dprintf("hostdisk", ...), as it was so verbose that it
35764 clobbered useful information.
35765
ddbf5556 357662008-09-08 Robert Millan <rmh@aybabtu.com>
35767
35768 * include/grub/util/biosdisk.h: Move to ...
35769 * include/grub/util/hostdisk.h: ... here. Update all users.
35770 * util/biosdisk.c: Move to ...
35771 * util/hostdisk.c: ... here. Update all users.
35772
783d0f48 357732008-09-07 Robert Millan <rmh@aybabtu.com>
35774
35775 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
35776 variables.
35777 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
35778 and length can be stored directly in the `mbi->mmap_addr' and
35779 `mbi->mmap_length' struct fields.
35780
548e2ea5 357812008-09-07 Robert Millan <rmh@aybabtu.com>
35782
35783 * conf/i386.rmk: New file. Provides declaration for building
35784 `cpuid.mod'.
35785 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
35786 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
35787 variables.
35788 Include `conf/i386.mk'.
35789 * conf/i386-efi.rmk: Likewise.
35790 * conf/x86_64-efi.rmk: Likewise.
35791 * conf/i386-coreboot.rmk: Likewise.
35792 * conf/i386-ieee1275.rmk: Likewise.
35793
0ea85a37 357942008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
35795
35796 Based on patch created by Colin D Bennett <colin@gibibit.com>.
35797 Adds optimization support for BGR based modes.
35798
35799 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
35800 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
35801 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
35802 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
35803 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
35804 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
35805 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
35806 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
35807 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
35808 (grub_video_i386_vbeblit_index_index): Likewise.
35809 (grub_video_i386_vbeblit_replace_directN): Added.
35810 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
35811 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
35812 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
35813 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
35814 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
35815 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 35816 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 35817 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
35818 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
35819 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
35820 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
35821 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
35822 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
35823
35824 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
35825 (grub_video_i386_vbefill_R8G8B8): Likewise.
35826 (grub_video_i386_vbefill_index): Likewise.
35827 (grub_video_i386_vbefill_direct32): Added.
35828 (grub_video_i386_vbefill_direct24): Likewise.
35829 (grub_video_i386_vbefill_direct16): Likewise.
35830 (grub_video_i386_vbefill_direct8): Likewise.
35831
81a06771 35832 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 35833 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
35834 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
35835 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
35836 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
35837 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 35838
0ea85a37 35839 * video/video.c (grub_video_get_blit_format): Updated to use new
35840 blit formats. Added handling for 16 bit color modes.
81a06771 35841
35842 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 35843 fillers.
35844 (common_blitter): Updated to use new blitters.
35845
35846 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
35847 Removed.
35848 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
35849 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
35850 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
35851 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
35852 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
35853 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
35854 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
35855 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
35856 (grub_video_i386_vbeblit_index_index): Likewise.
35857 (grub_video_i386_vbeblit_replace_directN): Added.
35858 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
35859 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
35860 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
35861 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
35862 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
35863 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
35864 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
35865 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
35866 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
35867 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
35868 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
35869 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
35870 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 35871
0ea85a37 35872 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
35873 (grub_video_i386_vbefill_R8G8B8): Likewise.
35874 (grub_video_i386_vbefill_index): Likewise.
35875 (grub_video_i386_vbefill_direct32): Added.
35876 (grub_video_i386_vbefill_direct24): Likewise.
35877 (grub_video_i386_vbefill_direct16): Likewise.
35878 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 35879
0ea85a37 35880 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
35881 types.
81a06771 35882
0ea85a37 35883 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
35884 types.
81a06771 35885
0ea85a37 35886 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
35887 blitter types.
81a06771 35888
0ea85a37 35889 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
35890 types.
35891
e8a83df6 358922008-09-06 Felix Zielcke <fzielcke@z-51.de>
35893
35894 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
35895 RAID level 1.
35896
6bcd8ee5 358972008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 35898
6bcd8ee5 35899 * fs/iso9660.c (grub_iso9660_date): New structure.
35900 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
35901 (grub_iso9660_uuid): New function.
c375ae58 35902
59261157 359032008-09-05 Bean <bean123ch@gmail.com>
35904
35905 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
35906
35907 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
35908 insensitive bit for names in Win32 and Win32 & DOS namespace.
35909
35910 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
35911
35912 * include/grub/types.h (LONG_MAX): Likewise.
35913
58b6645a 359142008-09-04 Felix Zielcke <fzielcke@z-51.de>
35915
4ee55921 35916 * util/getroot.c: Include <config.h>.
35917 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
35918 add support for /dev/md/N devices and handle LVM double dash escaping.
35919
359202008-09-04 Felix Zielcke <fzielcke@z-51.de>
35921
35922 * config.guess: Update to latest version from config git.
35923 * config.sub: Likewise.
58b6645a 35924
9124f65d 359252008-09-03 Robert Millan <rmh@aybabtu.com>
35926
35927 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
35928 `disk->total_sectors'.
35929
81a06771 359302008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 35931
35932 * include/grub/normal.h: Fixed incorrect comment for
35933 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
35934
81a06771 359352008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 35936
35937 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
35938 values with defines.
35939
35940 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
35941 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
35942 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
35943 (GRUB_VBE_MODEATTR_COLOR): Likewise.
35944 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
35945 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
35946 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
35947 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
35948 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
35949 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
35950 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
35951 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
35952 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
35953 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
35954 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
35955 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
35956 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
35957 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
35958 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
35959
93d5cbf8 359602008-08-31 Robert Millan <rmh@aybabtu.com>
35961
35962 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
35963 declaration.
35964 (grub_multiboot): Fix a few warnings.
35965
21751d50 359662008-08-31 Robert Millan <rmh@aybabtu.com>
35967
35968 * loader/i386/pc/multiboot.c: Update comment not to say that
35969 boot_device support is unimplemented.
35970
e27a75c5 359712008-08-31 Robert Millan <rmh@aybabtu.com>
35972
35973 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
35974 or memory map support are unimplemented.
35975
81a06771 359762008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 35977
35978 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
35979
81a06771 359802008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 35981
35982 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
35983 total video memory in 'vbeinfo' output; show color format details for
35984 each video mode.
35985
7c5d8d95 359862008-08-30 Pavel Roskin <proski@gnu.org>
35987
35988 * util/genmoddep.c: Remove for real this time.
35989 * DISTLIST: Remove util/genmoddep.c.
35990
4cebd25a 359912008-08-30 Robert Millan <rmh@aybabtu.com>
35992
35993 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
35994 as required by Multiboot spec (it was already 4-byte aligned, but
35995 only by chance).
35996
b497a269 359972008-08-29 Pavel Roskin <proski@gnu.org>
35998
e3925185 35999 * kern/powerpc/ieee1275/crt0.S: Rename to ...
36000 * kern/powerpc/ieee1275/startup.S: ... this.
36001 * conf/powerpc-ieee1275.rmk: Adjust for the above.
36002 * DISTLIST: Likewise.
36003
b497a269 36004 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
36005 grub/cpu/kernel.h. Add start label for consistency with other
36006 platforms. Add grub_prefix immediately after start. Add jump
36007 to the code after grub_prefix.
36008 * include/grub/powerpc/kernel.h: Provide valid values for
36009 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
36010
6e5a42fe 360112008-08-29 Bean <bean123ch@gmail.com>
36012
36013 * configure.ac: Change host_os to cygwin for mingw.
36014 (asprintf): New check for function.
36015
36016 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
36017 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
36018
36019 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 36020 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 36021 sync, sleep and grub_util_get_disk_size for mingw.
36022
36023 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
36024 to get size in mingw.
36025 (open_device): Use flag O_BINARY if it's defined.
36026 (find_root_device): Add dummy code for mingw.
36027
36028 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
36029 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
36030 (get_scsi_disk_name): Return 0 for mingw.
36031
36032 * util/hostfs.c: #include <grub/util/misc.h>.
36033 (grub_hostfs_open): Use "rb" flag to open file, use
36034 grub_util_get_disk_size to get disk size for mingw.
36035
36036 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
36037 (asprintf): New function if HAVE_ASPRINTF is not set.
36038 (sync): New function for mingw.
36039 (sleep): Likewise.
36040 (grub_util_get_disk_size): Likewise.
36041
ab3f2673 360422008-08-28 Pavel Roskin <proski@gnu.org>
36043
36044 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
36045 kern/time.c.
36046
1c282483 360472008-08-28 Robert Millan <rmh@aybabtu.com>
36048
36049 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
36050
678e849c 360512008-08-28 Robert Millan <rmh@aybabtu.com>
36052
36053 Change find_grub_drive() syntax so it doesn't prevent it from
36054 detecting NULL names as errors.
36055
36056 * util/biosdisk.c (find_grub_drive): Move free slot search code
36057 from here ...
36058 (find_free_slot): ... to here.
36059 (read_device_map): Use find_free_slot() to search for free slots.
36060
965c75ca 360612008-08-27 Marco Gerards <marco@gnu.org>
36062
36063 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
36064 (scsi_mod_SOURCES): New variable.
36065 (scsi_mod_CFLAGS): Likewise
36066 (scsi_mod_LDFLAGS): Likewise.
36067
36068 * disk/scsi.c: New file.
36069
36070 * include/grub/scsi.h: Likewise.
36071
36072 * include/grub/scsicmd.h: Likewise.
36073
36074 * disk/ata.c: Include <grub/scsi.h>.
36075 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
36076 instead.
36077 (grub_ata_iterate): Skip ATAPI devices.
36078 (grub_ata_open): Only handle ATAPI devices.
36079 (struct grub_atapi_read): Removed.
36080 (grub_atapi_readsector): Likewise.
36081 (grub_ata_read): No longer handle ATAPI devices.
36082 (grub_ata_write): Likewise.
36083 (grub_atapi_iterate): New function.
36084 (grub_atapi_read): Likewise.
36085 (grub_atapi_write): Likewise.
36086 (grub_atapi_open): Likewise.
36087 (grub_atapi_close): Likewise.
36088 (grub_atapi_dev): New variable.
36089 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
36090 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
36091
36092 * include/grub/disk.h (enum grub_disk_dev_id): Add
36093 `GRUB_DISK_DEVICE_SCSI_ID'.
36094
c07ae501 360952008-08-26 Robert Millan <rmh@aybabtu.com>
36096
36097 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
36098 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
36099 descriptive.
36100
5ed20adc 361012008-08-23 Bean <bean123ch@gmail.com>
36102
36103 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
36104 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
36105 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
36106 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
36107 dm_nv.mod.
36108 (raid5rec_mod_SOURCES): New macro.
36109 (raid5rec_mod_CFLAGS): Likewise.
36110 (raid5rec_mod_LDFLAGS): Likewise.
36111 (raid6rec_mod_SOURCES): Likewise.
36112 (raid6rec_mod_CFLAGS): Likewise.
36113 (raid6rec_mod_LDFLAGS): Likewise.
36114 (mdraid_mod_SOURCES): Likewise.
36115 (mdraid_mod_CFLAGS): Likewise.
36116 (mdraid_mod_LDFLAGS): Likewise.
36117 (dm_nv_mod_SOURCES): Likewise.
36118 (dm_nv_mod_CFLAGS): Likewise.
36119 (dm_nv_mod_LDFLAGS): Likewise.
36120
36121 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
36122 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
36123 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
36124
36125 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
36126 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
36127
36128 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36129
36130 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36131
36132 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36133
36134 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36135
36136 * disk/raid5_recover.c: New file.
36137
36138 * disk/raid6_recover.c: Likewise.
36139
36140 * disk/mdraid_linux.c: Likewise.
36141
36142 * disk/dmraid_nvidia.c: Likewise.
36143
36144 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
36145 ULONG_MAX.
36146
36147 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
36148 calculate the size of raid device.
36149 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
36150 different layout of raid5.
36151 (grub_raid_scan_device): Remove code specific to mdraid.
36152 (grub_raid_list): New variable.
36153 (free_array): New function.
36154 (grub_raid_register): Likewise.
36155 (grub_raid_unregister): Likewise.
36156 (grub_raid_rescan): Likewise.
36157 (GRUB_MOD_INIT): Don't iterate device here.
36158 (GRUB_MOD_FINI): Use free_array to release resource.
36159
36160 * include/grub/raid.h: Remove macro and structure specific to mdraid.
36161 (grub_raid5_recover_func_t): New function variable type.
36162 (grub_raid6_recover_func_t): Likewise.
36163 (grub_raid5_recover_func): New variable.
36164 (grub_raid6_recover_func): Likewise.
36165 (grub_raid_register): New function.
36166 (grub_raid_unregister): Likewise.
36167 (grub_raid_rescan): Likewise.
36168 (grub_raid_block_xor): Likewise.
36169
36170 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
36171 (CMD_CRC): New macro.
36172 (part): Removed.
36173 (read_file): Handle device as well as file.
36174 (cmd_crc): New function.
36175 (fstest): Handle multiple disks.
36176 (options): Remove part, raw and long, add root and diskcount.
36177 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 36178 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 36179 add handling for the new options, support multiple disks.
36180
36181 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
36182
29c18915 361832008-08-23 Bean <bean123ch@gmail.com>
36184
36185 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
36186
36187 * genfslist.sh: Ignore kernel.mod.
36188
36189 * genpartmaplist.sh: Likewise.
36190
8415f261 361912008-08-23 Robert Millan <rmh@aybabtu.com>
36192
36193 * util/getroot.c (find_root_device): Skip anything that starts with
36194 a dot, not just directories. This avoids things like /dev/.tmp.md0.
36195
d5a7dc5b 361962008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 36197
d5a7dc5b 36198 * util/update-grub.in (GRUB_GFXMODE): Export variable.
36199 * util/grub.d/00_header.in: Allow the administrator to change default
36200 gfxmode via ${GRUB_GFXMODE}.
36201
380cfbb4 362022008-08-21 Felix Zielcke <fzielcke@z-51.de>
36203
36204 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
36205
c9baafe7 362062008-08-21 Robert Millan <rmh@aybabtu.com>
36207
36208 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
36209 loader.
36210 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
36211 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
36212
e290bef2 362132008-08-20 Carles Pina i Estany <carles@pina.cat>
36214
36215 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
36216 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
36217
f9dbfc96 362182008-08-19 Robert Millan <rmh@aybabtu.com>
36219
36220 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
36221 (struct grub_virtual_screen): Remove `cursor_color'.
36222 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
36223 initialization.
36224 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
36225
dd6bd6ab 362262008-08-18 Robert Millan <rmh@aybabtu.com>
36227
36228 Unify (identical) linux_normal.c files.
36229 * loader/i386/efi/linux_normal.c: Move from here ...
36230 * loader/linux_normal.c: ... to here. Update all users.
36231 * loader/i386/pc/linux_normal.c: Delete. Update all users.
36232 * loader/i386/ieee1275/linux_normal.c: Likewise.
36233
7f42f83e 362342008-08-18 Robert Millan <rmh@aybabtu.com>
36235
36236 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
36237 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
36238 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
36239 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
36240 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
36241 New macros.
36242 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
36243 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
36244 (GRUB_LINUX_CL_END_OFFSET): ... to here.
36245 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
36246 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
36247 (GRUB_EFI_CL_END_OFFSET): Rename to ...
36248 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
36249 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
36250 Initialize `params->video_cursor_x' and `params->video_cursor_y'
36251 portably using grub_getxy().
36252 Replace `-EFI' with `-bzImage' in boot message.
36253
38487ddb 362542008-08-17 Robert Millan <rmh@aybabtu.com>
36255
36256 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
36257
deceb3ec 362582008-08-17 Robert Millan <rmh@aybabtu.com>
36259
36260 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
36261
36262 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
36263 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
36264 (grub_machine_mmap_iterate): New function declaration.
36265 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
36266 structure.
36267 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
36268 macros.
36269
36270 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
36271 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
36272 Move e820 parsing from here ...
36273 * kern/i386/pc/mmap.c: New file.
36274 (grub_machine_mmap_iterate): ... to here.
36275
36276 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
36277 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
36278 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
36279 (grub_available_iterate): Redeclare to return `void', and redeclare
36280 its hook to use grub_uint64_t as addr and size parameters, and rename
36281 to ...
36282 (grub_machine_mmap_iterate): ... this. Update all users.
36283
36284 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
36285 to make it more readable. Rename to ...
36286 (grub_machine_mmap_iterate): ... this.
36287
36288 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
36289 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
36290 (grub_multiboot): Allocate an extra region after the payload, and fill
36291 it with a Multiboot memory map. Adjust a.out loader to calculate size
36292 with the extra space.
36293 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
36294 with the extra space.
36295
f8aa0f43 362962008-08-17 Carles Pina i Estany <carles@pina.cat>
36297
9807deb9 36298 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 36299
605f5bb6 363002008-08-17 Felix Zielcke <fzielcke@z-51.de>
36301
36302 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
36303 mdate-sh to the list `find' searches for.
36304 * DISTLIST: Regenerated.
36305
210db6c6 363062008-08-16 Felix Zielcke <fzielcke@z-51.de>
36307
36308 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
36309 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 36310 genmoddep.awk, gensymlist.sh.in.
36311 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 36312 * DISTLIST: Regenerated.
48cdbfd4 36313 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 36314
1082b929 363152008-08-16 Robert Millan <rmh@aybabtu.com>
36316
36317 * disk/raid.c (grub_raid_init): Handle/report errors set by
36318 grub_device_iterate().
36319 * disk/lvm.c (grub_lvm_init): Likewise.
36320
42ce5170 363212008-08-15 Bean <bean123ch@gmail.com>
36322
36323 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36324 and datehook.mod.
36325 (datetime_mod_SOURCES): New macro.
36326 (datetime_mod_CFLAGS): Likewise.
36327 (datetime_mod_LDFLAGS): Likewise.
36328 (date_mod_SOURCES): Likewise.
36329 (date_mod_CFLAGS): Likewise.
36330 (date_mod_LDFLAGS): Likewise.
36331 (datehook_mod_SOURCES): Likewise.
36332 (datehook_mod_CFLAGS): Likewise.
36333 (datehook_mod_LDFLAGS): Likewise.
36334
36335 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36336 and datehook.mod.
36337 (datetime_mod_SOURCES): New macro.
36338 (datetime_mod_CFLAGS): Likewise.
36339 (datetime_mod_LDFLAGS): Likewise.
36340 (date_mod_SOURCES): Likewise.
36341 (date_mod_CFLAGS): Likewise.
36342 (date_mod_LDFLAGS): Likewise.
36343 (datehook_mod_SOURCES): Likewise.
36344 (datehook_mod_CFLAGS): Likewise.
36345 (datehook_mod_LDFLAGS): Likewise.
36346
36347 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36348 and datehook.mod.
36349 (datetime_mod_SOURCES): New macro.
36350 (datetime_mod_CFLAGS): Likewise.
36351 (datetime_mod_LDFLAGS): Likewise.
36352 (date_mod_SOURCES): Likewise.
36353 (date_mod_CFLAGS): Likewise.
36354 (date_mod_LDFLAGS): Likewise.
36355 (datehook_mod_SOURCES): Likewise.
36356 (datehook_mod_CFLAGS): Likewise.
36357 (datehook_mod_LDFLAGS): Likewise.
36358
36359 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36360 and datehook.mod.
36361 (datetime_mod_SOURCES): New macro.
36362 (datetime_mod_CFLAGS): Likewise.
36363 (datetime_mod_LDFLAGS): Likewise.
36364 (date_mod_SOURCES): Likewise.
36365 (date_mod_CFLAGS): Likewise.
36366 (date_mod_LDFLAGS): Likewise.
36367 (datehook_mod_SOURCES): Likewise.
36368 (datehook_mod_CFLAGS): Likewise.
36369 (datehook_mod_LDFLAGS): Likewise.
36370
36371 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
36372 and datehook.mod.
36373 (datetime_mod_SOURCES): New macro.
36374 (datetime_mod_CFLAGS): Likewise.
36375 (datetime_mod_LDFLAGS): Likewise.
36376 (date_mod_SOURCES): Likewise.
36377 (date_mod_CFLAGS): Likewise.
36378 (date_mod_LDFLAGS): Likewise.
36379 (datehook_mod_SOURCES): Likewise.
36380 (datehook_mod_CFLAGS): Likewise.
36381 (datehook_mod_LDFLAGS): Likewise.
36382
36383 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
36384
36385 * commands/date.c: New file.
36386
36387 * hook/datehook.c: Likewise.
36388
36389 * include/grub/lib/datetime.h: Likewise.
36390
36391 * include/grub/i386/cmos.h: Likewise.
36392
36393 * lib/datetime.c: Likewise.
36394
36395 * lib/i386/datetime.c: Likewise.
36396
36397 * lib/efi/datetime.c: Likewise.
36398
0e9242da 363992008-08-14 Robert Millan <rmh@aybabtu.com>
36400
36401 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
36402 (grub_mkelfimage_SOURCES): New variable.
36403 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
36404
36405 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
36406 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
36407 * conf/powerpc-ieee1275.rmk: Likewise.
36408 * conf/i386-ieee1275.rmk: Likewise.
36409
36410 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
36411 * kern/i386/coreboot/init.c: Likewise.
36412
36413 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
36414 with `<grub/cpu/kernel.h>'.
36415 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
36416 to ...
36417 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
36418 * kern/i386/coreboot/startup.S: Likewise.
36419
36420 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
36421 (GRUB_MOD_GAP): Remove.
36422 * include/grub/powerpc/kernel.h: New file.
36423 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
36424 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
36425 * include/grub/i386/kernel.h: New file.
36426 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
36427 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
36428 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
36429
36430 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
36431 `grub-mkelfimage'.
36432 Use --directory when invoking grub_mkimage.
36433
36434 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
36435 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
36436 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
36437 and GRUB_KERNEL_CPU_PREFIX.
36438
b86408f8 364392008-08-14 Felix Zielcke <fzielcke@z-51.de>
36440
d5e619ca 36441 * include/grub/err.h (grub_err_printf): New function prototype.
36442 * util/misc.c (grub_err_printf): New function.
36443 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
36444 grub_printf.
36445 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 36446
7161f0e0 364472008-08-13 Robert Millan <rmh@aybabtu.com>
36448
36449 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
36450
a1967522 364512008-08-13 Robert Millan <rmh@aybabtu.com>
36452
36453 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
36454 boot entry.
36455
371458b5 364562008-08-12 Robert Millan <rmh@aybabtu.com>
36457
36458 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
36459 of the relocation code from here ...
36460 (grub_multiboot): ... to here.
36461 (forward_relocator, backward_relocator): Move from here ...
36462 * kern/i386/loader.S (grub_multiboot_forward_relocator)
36463 (grub_multiboot_backward_relocator): ... to here.
36464 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
36465 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
36466 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
36467 (grub_multiboot_forward_relocator_end)
36468 (grub_multiboot_backward_relocator)
36469 (grub_multiboot_backward_relocator_end): New variables.
36470
05f9452b 364712008-08-12 Bean <bean123ch@gmail.com>
36472
36473 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
36474
20024ab0 364752008-08-11 Robert Millan <rmh@aybabtu.com>
36476
36477 * kern/i386/linuxbios/startup.S: Move from here ...
36478 * kern/i386/coreboot/startup.S: ... to here.
36479
36480 * kern/i386/linuxbios/init.c: Move from here ...
36481 * kern/i386/coreboot/init.c: ... to here.
36482
36483 * kern/i386/linuxbios/table.c: Move from here ...
36484 * kern/i386/coreboot/mmap.c: ... to here.
36485
36486 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
36487
e352e9cd 364882008-08-11 Robert Millan <rmh@aybabtu.com>
36489
36490 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
36491 errors. Leave it to the upper layer to handle them.
36492
2d05bc6a 364932008-08-09 Christian Franke <franke@computer.org>
36494
36495 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
36496 * conf/common.rmk: Install `grub-pe2elf' only if requested.
36497 Install `grub.d/10_windows' only on Cygwin.
36498 * configure.ac: Add subst of `target_os'.
36499 Check `target_os' also before setting TARGET_OBJ2ELF.
36500 Add `--enable-grub-pe2elf'.
36501
042bd419 365022008-08-08 Robert Millan <rmh@aybabtu.com>
36503
36504 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
36505 (grub_last_time): Change type to grub_uint64_t.
36506 (grub_disk_open): Migrate code from to using grub_get_time_ms().
36507 (grub_disk_close): Likewise.
36508
36509 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
36510 (run_menu): Migrate code from to using grub_get_time_ms().
36511
36512 * util/misc.c (grub_get_time_ms): New function.
36513
7f280db5 365142008-08-08 Marco Gerards <marco@gnu.org>
36515
36516 * disk/ata.c (grub_ata_regget): Change return type to
36517 `grub_uint8_t'.
36518 (grub_ata_regget2): Likewise.
36519 (grub_ata_wait_status): New function.
36520 (grub_ata_wait_busy): Removed function, updated all users to use
36521 `grub_ata_wait_status'.
36522 (grub_ata_wait_drq): Likewise.
36523 (grub_ata_cmd): New function.
36524 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
36525 error handling.
36526 (grub_ata_pio_write): Add error handling.
36527 (grub_atapi_identify): Likewise.
36528 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
36529 handling.
36530 (grub_ata_identify): Use `grub_ata_cmd' and improve error
36531 handling. Actually use the detected registers. Reorder the
36532 detection logic such that it is easier to read.
36533 (grub_ata_pciinit): Do not assign the same ID to each controller.
36534 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
36535 handling.
36536 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
36537
36538 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
36539
1fbc5e66 365402008-08-08 Marco Gerards <marco@gnu.org>
36541
36542 * NEWS: Update.
36543
819ce6c0 365442008-08-07 Bean <bean123ch@gmail.com>
36545
36546 * include/grub/x86_64/pci.h: New file.
36547
5c41d44d 365482008-08-07 Christian Franke <franke@computer.org>
36549
36550 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
36551 (TIMER2_GATE): Likewise.
36552 (grub_pit_wait): Add enable/disable of the timer2 gate
36553 bit of port 0x61. This fixes a possible infinite loop.
36554
5ebc275d 365552008-08-07 Bean <bean123ch@gmail.com>
36556
36557 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
36558 kern/i386/tsc.c and kern/i386/pit.c.
36559
36560 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
36561 x86_64 platform.
36562
36563 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
36564 <grub/i386/tsc.h>.
36565
36566 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
36567
e383b3d0 365682008-08-07 Bean <bean123ch@gmail.com>
36569
36570 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
36571
36572 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
36573
36574 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
36575 multiple inclusion. Add #include <grub/types.h>.
36576
1cbb58ac 365772008-08-06 Christian Franke <franke@computer.org>
36578
36579 * conf/common.rmk: Build and install `10_windows'.
36580 * util/grub.d/10_windows.in: New script.
36581
337f5a1e 365822008-08-06 Pavel Roskin <proski@gnu.org>
36583
36584 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
36585
057bc4ac 365862008-08-06 Robert Millan <rmh@aybabtu.com>
36587
36588 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
36589 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
36590
2b99f123 365912008-08-06 Bean <bean123ch@gmail.com>
36592
36593 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
36594 (grub_pxefs_fs_int): Remove dummy definition.
36595 (grub_pxefs_open): Use data->block_size to store the current block
36596 size setting.
36597 (grub_pxefs_read): Use block size stored in data->block_size. As the
36598 value of grub_pxe_blksize can be changed after the file is opened.
36599
9f0234cb 366002008-08-06 Bean <bean123ch@gmail.com>
36601
36602 * fs/i386/pc/pxe.c (curr_file): new variable.
36603 (grub_pxefs_open): Simply the handling of pxe file system. Don't
36604 require the dummy internal file system anymore.
36605 (grub_pxefs_read): Removed.
36606 (grub_pxefs_close): Likewise.
36607 (grub_pxefs_fs_int): Likewise.
36608 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
36609 connection when we switch file.
36610 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
36611
a55d42e0 366122008-08-06 Robert Millan <rmh@aybabtu.com>
36613
36614 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
36615 `halt.mod'.
36616 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
36617 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
36618
36619 * kern/i386/halt.c: New file.
36620 * kern/i386/reboot.c: Likewise.
36621 * include/grub/i386/reboot.h: Likewise.
36622 * include/grub/i386/halt.h: Likewise.
36623
36624 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
36625 Include `<grub/cpu/halt.h>'.
36626 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
36627 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
36628
36629 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
36630 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
36631 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
36632 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
36633 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
36634 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
36635 from here ...
36636 * include/grub/i386/at_keyboard.h: ... to here.
36637
24371d26 366382008-08-05 Robert Millan <rmh@aybabtu.com>
36639
36640 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
36641 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
36642 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
36643 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
36644 `kern/generic/millisleep.c'.
36645
36646 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
36647 instead of grub_get_rtc().
36648 (grub_tsc_init): Initialize `tsc_boot_time'.
36649
36650 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
36651 (grub_machine_init): Use grub_tsc_init() rather than
36652 installing an RTC-based handler via grub_install_get_time_ms().
36653
36654 * kern/i386/pit.c: New file.
36655 * include/grub/i386/pit.h: Likewise.
36656
9e7007b3 366572008-08-05 Bean <bean123ch@gmail.com>
36658
36659 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
36660
36661 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
36662 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
36663 (pxe_mod_SOURCES): New macro.
36664 (pxe_mod_CFLAGS): Likewise.
36665 (pxe_mod_LDFLAGS): Likewise.
36666 (pxecmd_mod_SOURCES): Likewise.
36667 (pxecmd_mod_CFLAGS): Likewise.
36668 (pxecmd_mod_LDFLAGS): Likewise.
36669
36670 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
36671 (grub_pxe_call): Likewise.
36672
36673 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
36674
36675 * commands/i386/pc/pxecmd.c: New file.
36676
9f0234cb 36677 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 36678
36679 * include/grub/i386/pc/pxe.h: Likewise.
36680
6977d49f 366812008-08-05 Bean <bean123ch@gmail.com>
36682
36683 * util/console.c (grub_console_cur_color): New variable.
36684 (grub_console_standard_color): Likewise.
36685 (grub_console_normal_color): Likewise.
36686 (grub_console_highlight_color): Likewise.
36687 (color_map): Likewise.
36688 (use_color): Likewise.
36689 (NUM_COLORS): New macro.
36690 (grub_ncurses_setcolorstate): Handle color properly.
36691 (grub_ncurses_setcolor): Don't change color here, just remember the
36692 settings, color will be set in grub_ncurses_setcolorstate.
36693 (grub_ncurses_getcolor): New function.
36694 (grub_ncurses_init): Initialize color pairs.
36695 (grub_ncurses_term): New member grub_ncurses_getcolor.
36696
9c2ff3ee 366972008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 36698
9c2ff3ee 36699 High resolution timer support. Implemented for x86 CPUs using TSC.
36700 Extracted generic grub_millisleep() so it's linked in only as needed.
36701 This requires a Pentium compatible CPU; if the RDTSC instruction is
36702 not supported, then it falls back on the generic grub_get_time_ms()
36703 implementation that uses the machine's RTC.
36704
36705 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
36706 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
36707 `kern/generic/millisleep.c'.
36708
36709 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
36710 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
36711
36712 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
36713 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
36714
36715 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
36716
36717 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
36718 `kern/generic/millisleep.c'.
36719
36720 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
36721
36722 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
36723
36724 * kern/generic/rtc_get_time_ms.c: New file.
36725
36726 * kern/generic/millisleep.c: New file.
337f5a1e 36727
9c2ff3ee 36728 * kern/misc.c: Don't include
36729 <kern/time.h> anymore.
36730 (grub_millisleep_generic): Removed.
36731
36732 * commands/sleep.c (grub_interruptible_millisleep): Uses
36733 grub_get_time_ms() instead of grub_get_rtc().
36734
36735 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
36736 function.
36737 (grub_cpu_is_cpuid_supported): New inline function.
36738 (grub_cpu_is_tsc_supported): New inline function.
36739 (grub_tsc_init): New function prototype.
36740 (grub_tsc_get_time_ms): New function prototype.
36741
36742 * kern/i386/tsc.c (grub_get_time_ms): New file.
36743
36744 * include/grub/time.h: Include <grub/types.h.
36745 (grub_millisleep_generic): Removed.
36746 (grub_get_time_ms): New prototype.
36747 (grub_install_get_time_ms): New prototype.
36748 (grub_rtc_get_time_ms): New prototype.
36749
36750 * kern/time.c (grub_get_time_ms): New function.
36751 (grub_install_get_time_ms): New function.
36752
36753 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
36754 <grub/time.h> anymore.
36755 (grub_millisleep): Removed.
36756 (grub_machine_init): Call grub_tsc_init.
36757
36758 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
36759 get_time_ms() implementation.
36760
36761 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
36762 (ieee1275_get_time_ms): New function.
36763 (grub_machine_init): Install get_time_ms() implementation.
36764
36765 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
36766 (grub_machine_init): Call grub_tsc_init().
36767 (grub_millisleep): Removed.
bf06a93f 36768
9c2ff3ee 36769 * kern/ieee1275/init.c (grub_millisleep): Removed.
36770 (grub_machine_init): Install ieee1275_get_time_ms()
36771 implementation.
36772 (ieee1275_get_time_ms): New function.
36773 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
36774 real work.
36775
9ec92aaf 367762008-08-05 Marco Gerards <marco@gnu.org>
36777
36778 * disk/ata.c: Include <grub/pci.h>.
36779 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
36780 (grub_ata_initialize): Rewritten.
36781 (grub_ata_device_initialize): New function.
36782
8d23f507 367832008-08-04 Pavel Roskin <proski@gnu.org>
36784
36785 * kern/main.c: Include grub/mm.h.
36786
5e15ee3d 367872008-08-04 Robert Millan <rmh@aybabtu.com>
36788
36789 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
36790 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
36791 corruption problem).
36792
a9053f8f 367932008-08-04 Robert Millan <rmh@aybabtu.com>
36794
36795 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
36796 warnings introduced in my last commit.
36797
dd19c7d7 367982008-08-03 Robert Millan <rmh@aybabtu.com>
36799
36800 Make PCI available on all i386 architectures.
36801
36802 * include/grub/i386/pc/pci.h: Move from here ...
36803 * include/grub/i386/pci.h: ... to here.
36804
36805 * include/grub/i386/pc/pci.h: Remove.
36806 * include/grub/i386/efi/pci.h: Remove.
36807 * include/grub/x86_64/efi/pci.h: Remove.
36808
36809 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
36810 `<grub/cpu/pci.h>'.
36811
36812 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
36813 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
36814 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
36815
36816 * conf/i386-ieee1275.rmk: Likewise.
36817
e14a6184 368182008-08-03 Robert Millan <rmh@aybabtu.com>
36819
36820 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
36821 (grub_console_setcursor): Make it possible to set cursor off.
36822
52768e37 368232008-08-03 Robert Millan <rmh@aybabtu.com>
36824
36825 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
36826 of modules instead of assuming which platform provides what.
36827 * util/update-grub.in: Likewise.
36828
2d52f57f 368292008-08-03 Robert Millan <rmh@aybabtu.com>
36830
36831 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
36832 instead of `grub_install_dos_part' to determine whether a drive needs
36833 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 36834 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 36835
2a5cd121 368362008-08-02 Robert Millan <rmh@aybabtu.com>
36837
36838 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
36839
93808428 368402008-08-02 Robert Millan <rmh@aybabtu.com>
36841
36842 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
36843 of informational grub_dprintf() calls.
36844
3bd0a12a 368452008-08-02 Robert Millan <rmh@aybabtu.com>
36846
36847 * disk/memdisk.c (memdisk_size): Don't initialize.
36848 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
36849
36850 * include/grub/i386/pc/kernel.h
36851 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
36852 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
36853 (grub_memdisk_image_size, grub_arch_memdisk_addr)
36854 (grub_arch_memdisk_size): Remove.
36855
36856 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
36857 field (was only used to transfer a constant). Add `type' field to
36858 support multiple module types.
36859 (grub_module_iterate): New function.
36860
36861 * kern/device.c (grub_device_open): Do not hide error messages
36862 when grub_disk_open() fails. Use grub_print_error() instead.
36863
36864 * kern/i386/pc/init.c (grub_arch_modules_addr)
36865 (grub_arch_memdisk_size): Remove functions.
36866 (grub_arch_modules_addr): Return the module address in high memory
36867 (now that it isn't copied anymore).
36868
36869 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
36870 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
36871 decompression routine (grub_total_module_size already includes that
36872 now). Don't copy modules back to low memory.
36873
36874 * kern/main.c: Include `<grub/mm.h>'.
36875 (grub_load_modules): Split out (and use) ...
36876 (grub_module_iterate): ... this function, which iterates through
36877 module objects and runs a hook.
36878 Comment out grub_mm_init_region() call, as it would cause non-ELF
36879 modules to be overwritten.
36880
36881 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
36882 the memdisk image in its own region, make it part of the module list.
36883 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
36884 (main): Parse --memdisk|-m option, and pass user-provided path as
36885 parameter to generate_image().
36886 (add_segments): Pass `memdisk_path' down to load_modules().
36887 (load_modules): Embed memdisk image in module section when requested.
36888 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
36889 `header.type' instead of `header.offset'.
36890
36891 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
36892 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
36893 (memdisk_mod_LDFLAGS): New variables.
36894 * conf/i386-coreboot.rmk: Likewise.
36895 * conf/i386-ieee1275.rmk: Likewise.
36896
a927cc73 368972008-08-02 Robert Millan <rmh@aybabtu.com>
36898
36899 * loader/i386/pc/multiboot.c (playground, forward_relocator)
36900 (backward_relocator): New variables. Used to allocate and relocate
36901 the payload, respectively.
36902 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 36903 address, install the appropriate relocator code in each bound of
a927cc73 36904 the payload, and set the entry point such that
36905 grub_multiboot_real_boot() will jump to one of them.
36906
36907 * kern/i386/loader.S (grub_multiboot_payload_size)
36908 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
36909 (grub_multiboot_payload_entry_offset): New variables.
36910 (grub_multiboot_real_boot): Set cpu context to what the relocator
36911 expects, and jump to the relocator instead of the payload.
36912
36913 * include/grub/i386/loader.h (grub_multiboot_payload_size)
36914 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
36915 (grub_multiboot_payload_entry_offset): Export.
36916
b15d8a0c 369172008-08-01 Bean <bean123ch@gmail.com>
36918
36919 * normal/menu_entry.c (editor_getline): Don't return the original
36920 string as result, as it will be released by lexer once it has done
36921 using it.
36922
cdfb3d22 369232008-08-01 Robert Millan <rmh@aybabtu.com>
36924
36925 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
36926 within menuentries, not before them.
36927 util/grub.d/10_hurd.in: Likewise.
36928
9175e93d 369292008-08-01 Bean <bean123ch@gmail.com>
36930
36931 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
36932 (bufio_mod_SOURCES): New macro.
36933 (bufio_mod_CFLAGS): Likewise.
36934 (bufio_mod_LDFLAGS): Likewise.
36935
36936 * include/grub/bufio.h: New file.
36937
36938 * io/bufio.c: Likewise.
36939
36940 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
36941 (grub_video_reader_png): Use grub_buffile_open to open file.
36942
36943 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
36944 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
36945
36946 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
36947 (grub_video_reader_tga): Use grub_buffile_open to open file.
36948
36949 * font/manager.c: Include <grub/bufio.h>.
36950 (add_font): Use grub_buffile_open to open file.
36951
3d8383e7 369522008-07-31 Robert Millan <rmh@aybabtu.com>
36953
36954 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
36955 ELF segments, use a macro for arbitrarily accessing any of them instead
36956 of preparing a pointer that allows access to one at a time.
36957 (grub_multiboot_load_elf64): Likewise.
36958
16e641b6 369592008-07-31 Bean <bean123ch@gmail.com>
36960
36961 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
36962 GRUB_KERNEL_MACHINE_DATA_END.
36963
59198b72 369642008-07-30 Robert Millan <rmh@aybabtu.com>
36965
36966 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
36967 Increase from 0x50 to 0x60.
36968 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
36969 use UUIDs to identify the root drive for them. If that's not
36970 possible, abort.
36971 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
36972 check, for cross-disk installs.
36973
ae88bca3 369742008-07-30 Robert Millan <rmh@aybabtu.com>
36975
36976 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
36977 is non-empty, use it to set the `prefix' environment variable instead
36978 of the usual approach.
36979 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
36980 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
36981 environment variable instead of dummy make_install_device().
36982
36983 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
36984 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 36985 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 36986
36987 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
36988 New variable reference.
36989 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
36990 New macro. Defines offset of `grub_prefix' within startup.S (relative
36991 to `start').
36992 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
36993 section within startup.S (relative to `start').
36994 * include/grub/i386/coreboot/kernel.h: Likewise.
36995
36996 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
36997 Overwrite grub_prefix with its contents, at the beginning of the
36998 first segment.
36999 (main): Understand -p|--prefix.
37000
14f41dd1 370012008-07-30 Robert Millan <rmh@aybabtu.com>
37002
37003 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
37004
4ca049a3 370052008-07-30 Robert Millan <rmh@aybabtu.com>
37006
37007 * term/i386/pc/vga_text.c (grub_console_cls): Use
37008 grub_console_gotoxy() to go back to beginning of the screen.
37009 Found by Patrick Georgi <patrick.georgi@coresystems.de>
37010
2921d337 370112008-07-29 Christian Franke <franke@computer.org>
37012
37013 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
37014 Add conversion of emulated mount points on Cygwin.
37015
b609876d 370162008-07-29 Christian Franke <franke@computer.org>
37017
37018 * util/update-grub.in: Add a check for admin
37019 group on Cygwin.
37020 Remove old `grub.cfg.new' before creation.
37021 Add `-f' to `mv' to handle the different filesystem
37022 semantics of Windows.
37023
e93e4679 370242008-07-29 Bean <bean123ch@gmail.com>
37025
37026 * normal/main.c (get_line): Fix buffer overflow bug.
37027
41694fd0 370282008-07-28 Robert Millan <rmh@aybabtu.com>
37029
37030 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
37031 (struct grub_apple_header): New struct. Describes the layout of
37032 the partmap header.
37033 (apple_partition_map_iterate): Check the header magic as well as the
37034 partition magic (which was already being checked).
37035
cfd0b4e6 370362008-07-28 Pavel Roskin <proski@gnu.org>
37037
37038 * genmk.rb: Add a warning to the beginning of the output that
37039 it's a generated file and should not be edited.
37040
93cce016 370412008-07-28 Robert Millan <rmh@aybabtu.com>
37042
37043 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
37044 with the same number are found, just use issue a warning with
37045 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 37046
cd1df915 370472008-07-27 Robert Millan <rmh@aybabtu.com>
37048
37049 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
37050 information.
37051
b70a8427 370522008-07-27 Bean <bean123ch@gmail.com>
37053
37054 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
37055 (grub_fat_find_dir): Ignore case when comparing filename.
37056
8f5e379f 370572008-07-27 Bean <bean123ch@gmail.com>
37058
37059 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
37060 smallino, as it's more descriptive, and i8count can be confused with
37061 the other field count.
37062 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
37063 inode type.
37064
a85cd5a0 370652008-07-27 Bean <bean123ch@gmail.com>
37066
37067 * commands/crc.c: New file.
37068
37069 * lib/crc.c: Likewise.
37070
37071 * include/grub/lib/crc.h: Likewise.
37072
37073 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
37074
37075 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
37076 (hexdump): Move this function to ...
37077
37078 * lib/hexdump.c: ... here.
37079
37080 * include/grub/hexdump.h: Renamed to ...
37081
37082 * include/grub/lib/hexdump.h: ... this.
37083
37084 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
37085
37086 * util/grub-editenv.c: Likewise.
37087
37088 * include/envblk.h: Renamed to ...
37089
37090 * include/lib/envblk.h: ... this.
37091
37092 * util/envblk.c: Renamed to ...
37093
37094 * lib/envblk.c: ... this.
37095
37096 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
37097 lib/hexdump.c.
37098 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
37099 (pkglib_MODULES): Add crc.mod.
37100 (hexdump_mod_SOURCES): Add lib/hexdump.c.
37101 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
37102 (crc_mod_SOURCES): New macro.
37103 (crc_mod_CFLAGS): Likewise.
37104 (crc_mod_LDFLAGS): Likewise.
37105
37106 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
37107
37108 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37109
37110 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37111
37112 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37113
37114 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
37115
c298def0 371162008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 37117
37118 * commands/help.c: Include <grub/term.h>.
37119 (TERM_WIDTH): Removed. Updated all users.
37120
cc349fb3 371212008-07-27 Pavel Roskin <proski@gnu.org>
37122
37123 * util/getroot.c (find_root_device): Rephrase a comment to avoid
37124 spurious warnings about a comment within a comment.
37125
9051607e 371262008-07-25 Robert Millan <rmh@aybabtu.com>
37127
37128 * util/getroot.c (find_root_device): Skip devices that match
37129 /dev/dm-[0-9]. This lets the real device be found for any type of
37130 abstraction (LVM, EVMS, RAID..).
37131 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
37132 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
37133 device is found first, find_root_device() will now skip it.
37134
01453bfc 371352008-07-24 Pavel Roskin <proski@gnu.org>
37136
37137 * include/grub/types.h: Use __builtin_bswap32() and
37138 __builtin_bswap64() with gcc 4.3 and newer.
37139
6af9849f 371402008-07-24 Christian Franke <franke@computer.org>
37141
3a0fa256 37142 * util/i386/pc/grub-install.in: If `--debug' is specified,
37143 pass `--verbose' to grub-setup.
37144 Abort script if make_system_path_relative_to_its_root() fails.
37145
7810e747 371462008-07-24 Bean <bean123ch@gmail.com>
37147
37148 * configure.ac: Fixed a bug caused by the previous cygwin patch,
37149 variable `target_platform' should be `platform'.
37150
42290e17 371512008-07-24 Bean <bean123ch@gmail.com>
37152
51cc5193 37153 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 37154 (grub_png_init_fixed_block): New function.
37155 (grub_png_decode_image_data): Handle fixed huffman code compression.
37156
2a8a80e4 371572008-07-24 Bean <bean123ch@gmail.com>
37158
37159 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
37160 (grub_pe2elf_SOURCES): New macro.
37161 (CLEANFILES): Add grub-pe2elf.
37162
37163 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
37164 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
37165 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
37166 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
37167 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
37168 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
37169 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
37170 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
37171 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
37172 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
37173 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
37174 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
37175 (GRUB_PE32_DT_FUNCTION): Likewise.
37176 (GRUB_PE32_REL_I386_DIR32): Likewise.
37177 (GRUB_PE32_REL_I386_REL32): Likewise.
37178 (grub_pe32_symbol): New structure.
37179 (grub_pe32_reloc): Likewise.
37180
37181 * util/grub-pe2elf.c: New file.
37182
37183 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
37184 start symbol in non pc platform.
37185
37186 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
37187
37188 The following patches are from Christian Franke.
37189
37190 * include/grub/dl.h: Remove .previous, gas supports this only
37191 for ELF format.
37192
37193 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
37194 Remove .type, gas supports this only for ELF format.
37195
37196 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
37197 nullbytes in symbol table. This fixes an infinite loop if table is
37198 zero filled.
37199
37200 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
37201 TARGET_IMG_LDFLAGS and EXEEXT.
37202
37203 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
37204 TARGET_IMG_LDFLAGS_AC.
37205 (grub_CHECK_STACK_ARG_PROBE): New function.
37206
37207 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
37208
37209 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
37210
37211 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
37212 to set TARGET_IMG_LD* accordingly.
37213 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
37214 Add call to grub_CHECK_STACK_ARG_PROBE.
37215 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
37216
37217 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
37218
37219 * genmk.rb: Add EXEEXT to CLEANFILES.
37220
12ccdb75 372212008-07-23 Robert Millan <rmh@aybabtu.com>
37222
37223 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
37224 define the codes for arrows and lines used for the menu).
37225 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
37226 as well.
37227
37228 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
37229 fonts, because the latter are too slow.
37230
18eeaf04 372312008-07-21 Bean <bean123ch@gmail.com>
37232
37233 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
37234 a20. Run keyboard test last, as it will cause macbook to halt.
37235
b095e2ad 372362008-07-18 Pavel Roskin <proski@gnu.org>
37237
37238 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
37239 load foreign architecture modules correctly anyway. Keep
37240 support for loading host architecture modules, whether we
37241 compile them or not.
37242
737feb35 372432008-07-17 Pavel Roskin <proski@gnu.org>
37244
3f4ce737 37245 * configure.ac: Use -m32 or -m64 regardless of whether we had to
37246 change target_cpu. The compiler default can mismatch target_cpu
37247 in any case.
37248
4ad2d049 37249 * disk/efi/efidisk.c: Fix format warnings on x86_64.
37250 * kern/efi/efi.c: Likewise.
37251
f6130a12 37252 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
37253 target compiler is functional.
37254 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
37255 are set up.
37256
58393a2d 37257 * configure.ac: Default to efi platform for x86_64-apple. Allow
37258 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
37259 adjustments from the rest, only do them if target is not
37260 explicitly given. Merge other adjustments with the final sanity
37261 check. Remove an extraneous check for supported CPU. Be
37262 specific which CPU and which platform is not supported.
37263
737feb35 37264 * configure.ac: Default to pc platform for x86_64.
37265
546f966a 372662008-07-17 Robert Millan <rmh@aybabtu.com>
37267
37268 Partial LinuxBIOS -> Coreboot rename.
37269
37270 * conf/i386-linuxbios.rmk: Renamed to ...
37271 * conf/i386-coreboot.rmk: ... this.
37272 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
37273 * configure.ac: Accept "coreboot" as input platform (but maintain
37274 compatibility with "linuxbios").
37275 * include/grub/i386/linuxbios: Renamed to ...
37276 * include/grub/i386/coreboot: ... this.
37277
20011694 372782008-07-17 Bean <bean123ch@gmail.com>
37279
37280 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 37281 (appleldr_mod_SOURCE): New variable.
20011694 37282 (appleldr_mod_CFLAGS): Likewise.
37283 (appleldr_mod_LDFLAGS): Likewise.
37284 (pci_mod_SOURCES): Likewise.
37285 (pci_mod_CFLAGS): Likewise.
37286 (pci_mod_LDFLAGS): Likewise.
37287 (lspci_mod_SOURCES): Likewise.
37288 (lspci_mod_CFLAGS): Likewise.
37289 (lspci_mod_LDFLAGS): Likewise.
37290
37291 * conf/x86_64-efi.rmk: New file.
37292
37293 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
37294 macro.
37295 (grub_efidisk_write): Likewise.
37296
37297 * include/efi/api.h (efi_call_0): New macro.
37298 (efi_call_1): Likewise.
37299 (efi_call_2): Likewise.
37300 (efi_call_3): Likewise.
37301 (efi_call_4): Likewise.
37302 (efi_call_5): Likewise.
37303 (efi_call_6): Likewise.
37304
37305 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
37306 grub_rescue_cmd_chainloader.
37307
37308 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
37309 (grub_pe32_optional_header): Change some fields based on i386 or
37310 x86_64 platform.
37311 (GRUB_PE32_PE32_MAGIC): Likewise.
37312
37313 * include/grub/efi/uga_draw.h: New file.
37314
37315 * include/grub/elf.h (STN_ABS): New constant.
37316 (R_X86_64_NONE): Relocation constant for x86_64.
37317 (R_X86_64_64): Likewise.
37318 (R_X86_64_PC32): Likewise.
37319 (R_X86_64_GOT32): Likewise.
37320 (R_X86_64_PLT32): Likewise.
37321 (R_X86_64_COPY): Likewise.
37322 (R_X86_64_GLOB_DAT): Likewise.
37323 (R_X86_64_JUMP_SLOT): Likewise.
37324 (R_X86_64_RELATIVE): Likewise.
37325 (R_X86_64_GOTPCREL): Likewise.
37326 (R_X86_64_32): Likewise.
37327 (R_X86_64_32S): Likewise.
37328 (R_X86_64_16): Likewise.
37329 (R_X86_64_PC16): Likewise.
37330 (R_X86_64_8): Likewise.
37331 (R_X86_64_PC8): Likewise.
37332
37333 * include/grub/i386/efi/pci.h: New file.
37334
37335 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
37336 Change it value based on platform.
37337 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
37338 (GRUB_E820_RAM): Likewise.
37339 (GRUB_E820_RESERVED): Likewise.
37340 (GRUB_E820_ACPI): Likewise.
37341 (GRUB_E820_NVS): Likewise.
37342 (GRUB_E820_EXEC_CODE): Likewise.
37343 (GRUB_E820_MAX_ENTRY): Likewise.
37344 (grub_e820_mmap): New structure.
37345 (linux_kernel_header): Change the efi field according to different
37346 kernel version, also field from linux_kernel_header.
37347
37348 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
37349
37350 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
37351 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
37352 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
37353 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
37354 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
37355 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
37356 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
37357 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
37358 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
37359 (GRUB_PCI_ADDR_IO_MASK): Likewise.
37360
37361 * include/grub/x86_64/efi/kernel.h: New file.
37362
37363 * include/grub/x86_64/efi/loader.h: Likewise.
37364
37365 * include/grub/x86_64/efi/machine.h: Likewise.
37366
37367 * include/grub/x86_64/efi/pci.h: Likewise.
37368
37369 * include/grub/x86_64/efi/time.h: Likewise.
37370
37371 * include/grub/x86_64/linux.h: Likewise.
37372
37373 * include/grub/x86_64/setjmp.h: Likewise.
37374
37375 * include/grub/x86_64/time.h: Likewise.
37376
37377 * include/grub/x86_64/types.h: Likewise.
37378
37379 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
37380 GRUB_TARGET_SIZEOF_VOID_P.
37381
37382 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
37383 (grub_efi_locate_handle): Likewise.
37384 (grub_efi_open_protocol): Likewise.
37385 (grub_efi_set_text_mode): Likewise.
37386 (grub_efi_stall): Likewise.
37387 (grub_exit): Likewise.
37388 (grub_reboot): Likewise.
37389 (grub_halt): Likewise.
37390 (grub_efi_exit_boot_services): Likewise.
37391 (grub_get_rtc): Likewise.
37392
37393 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
37394 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
37395 (grub_efi_allocate_pages): Wrap efi calls.
37396 (grub_efi_free_pages): Wrap efi calls.
37397 (grub_efi_get_memory_map): Wrap efi calls.
37398
37399 * kern/x86_64/dl.c: New file.
37400
37401 * kern/x86_64/efi/callwrap.S: Likewise.
37402
37403 * kern/x86_64/efi/startup.S: Likewise.
37404
37405 * loader/efi/appleloader.c: Likewise.
37406
37407 * loader/efi/chainloader.c (cmdline): New variable.
37408 (grub_chainloader_unload): Wrap efi calls.
37409 (grub_chainloader_boot): Likewise.
37410 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
37411 command line.
37412
37413 * loader/efi/chainloader_normal.c (chainloader_command):
37414 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
37415 command line.
37416
37417 * loader/i386/efi/linux.c (allocate_pages): Change allocation
37418 method.
37419 (grub_e820_add_region): New function.
37420 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
37421 booting.
37422 (grub_find_video_card): New function.
37423 (grub_linux_setup_video): New function.
37424 (grub_rescue_cmd_linux): Probe for video information.
37425
37426 * normal/x86_64/setjmp.S: New file.
37427
37428 * term/efi/console.c (map_char): New function.
37429 (grub_console_putchar): Map unicode char.
37430 (grub_console_checkkey): Wrap efi calls.
37431 (grub_console_getkey): Likewise.
37432 (grub_console_getwh): Likewise.
37433 (grub_console_gotoxy): Likewise.
37434 (grub_console_cls): Likewise.
37435 (grub_console_setcolorstate): Likewise.
37436 (grub_console_setcursor): Likewise.
37437
37438 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
37439
59652a20 374402008-07-16 Pavel Roskin <proski@gnu.org>
37441
ef294055 37442 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
37443 format strings.
37444
59652a20 37445 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
37446 pointer, not an integer. This fixes a warning and prevents
37447 precision loss on 64-bit systems.
37448 (relocate_addresses): Remove unneeded cast.
37449
afc3b5d7 374502008-07-15 Pavel Roskin <proski@gnu.org>
37451
506b2b3e 37452 * kern/i386/ieee1275/init.c: Include grub/cache.h.
37453
62ead89c 37454 * term/ieee1275/ofconsole.c: Disable code unused on i386.
37455
c4cd51d7 37456 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
37457 Fix comparison between signed and unsigned.
37458
0d3d8f28 37459 * include/grub/i386/ieee1275/console.h: Declare
37460 grub_console_init() and grub_console_fini().
37461
8804b286 37462 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
37463 It's empty and unused.
37464
ee01cf35 37465 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
37466 beginning to avoid warnings with some compilers.
37467
afc3b5d7 37468 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
37469 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
37470
e4e8eaa5 374712008-07-14 Pavel Roskin <proski@gnu.org>
37472
407aceb4 37473 * kern/env.c (grub_register_variable_hook): Don't copy empty
37474 string, it leaks memory. Pass "" to grub_env_set(), it should
37475 handle constant strings.
37476
e4e8eaa5 37477 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
37478 * commands/cmp.c (grub_cmd_cmp): Likewise.
37479 * kern/dl.c (grub_dl_flush_cache): Likewise.
37480 (grub_dl_load_core): Likewise.
37481 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
37482 (grub_elf64_load_phdrs): Likewise.
37483
d4e2dad3 374842008-07-13 Pavel Roskin <proski@gnu.org>
37485
37486 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
37487 between signed and unsigned.
37488 (LzmaEnc_Finish): Fix warning about an unused parameter.
37489
aa24b516 374902008-07-13 Bean <bean123ch@gmail.com>
37491
37492 * Makefile.in (enable_lzo): New rule.
37493
37494 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
37495
37496 * configure.ac (ENABLE_LZO): New option --enable-lzo.
37497
37498 * boot/i386/pc/lnxboot.S: #include <config.h>.
37499
37500 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 37501 its value according to the compression algorithm used, lzo or lzma.
aa24b516 37502
37503 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
37504 compression algorithm according to configure macro.
37505
37506 * kern/i386/pc/startup.S (codestart): Likewise.
37507
37508 * kern/i386/pc/lzma_decode.S: New file.
37509
37510 * include/grub/lib/LzFind.h: Likewise.
37511
37512 * include/grub/lib/LzHash.h: Likewise.
37513
37514 * include/grub/lib/LzmaDec.h: Likewise.
37515
37516 * include/grub/lib/LzmaEnc.h: Likewise.
37517
37518 * include/grub/lib/LzmaTypes.h: Likewise.
37519
37520 * lib/LzFind.c: Likewise.
37521
37522 * lib/LzmaDec.c: Likewise.
37523
37524 * lib/LzmaEnc.c: Likewise.
37525
4ae821ac 375262008-07-13 Bean <bean123ch@gmail.com>
37527
37528 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
37529 (grub_ext4_extent_header): New structure.
37530 (grub_ext4_extent): Likewise.
37531 (grub_ext4_extent_idx): Likewise.
37532 (grub_ext4_find_leaf): New function.
37533 (grub_ext2_read_block): Handle extents.
37534
9a745147 375352008-07-12 Robert Millan <rmh@aybabtu.com>
37536
37537 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
37538
d49a4cf6 375392008-07-11 Robert Millan <rmh@aybabtu.com>
37540
37541 * util/grub.d/40_custom.in: New file. Example on how to add custom
37542 entries to /etc/grub.d.
37543 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
37544 40_custom (implicitly, by merging all the grub.d rules).
37545
947414b4 375462008-07-11 Pavel Roskin <proski@gnu.org>
37547
0059cf6f 37548 * commands/read.c (grub_getline): Fix invalid memory access.
37549 Don't add newline to the variable value.
37550
947414b4 37551 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
37552 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
37553 (serial_hw_get_port): Check validity of the port number.
37554 (grub_cmd_serial): Check return value of serial_hw_get_port().
37555
62a02d00 375562008-07-07 Pavel Roskin <proski@gnu.org>
37557
37558 * boot/i386/pc/diskboot.S (notification_string): Replace
37559 "Loading kernel" with just "loading". This is shorter, less
37560 confusing and saves a few bytes for possible future changes.
37561
3e5581b0 375622008-07-05 Pavel Roskin <proski@gnu.org>
37563
ea387a48 37564 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
37565 size for ATAPI devices, they are undefined. Output sector
37566 number in decimal form.
37567
3e5581b0 37568 * disk/ata.c: Use named constants for status bits.
37569
fdecb8fd 375702008-07-04 Pavel Roskin <proski@gnu.org>
37571
bcd35b90 37572 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
37573 grub_addr_t before casting it to the void pointer to fix a
37574 warning. Non-addressable regions are discarded earlier.
37575 (grub_arch_modules_addr): Cast _end to grub_addr_t.
37576 * kern/i386/linuxbios/table.c: Include grub/misc.h.
37577 (check_signature): Don't shadow table_header.
37578 (grub_linuxbios_table_iterate): Cast numeric constants to
37579 grub_linuxbios_table_header_t.
37580 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
37581 grub_stop().
37582
af58ab3d 37583 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
37584 prevent warnings.
37585
1759aa57 37586 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
37587 pointer, which can cause warnings. Support 64-bit addresses.
37588
fdecb8fd 37589 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
37590 of sizeof(long). This fixes PowerPC image generation on x86_64.
37591
8516d2a8 375922008-07-04 Robert Millan <rmh@aybabtu.com>
37593
37594 This fixes a performance issue when pc & gpt partmap iterators
37595 didn't abort iteration even after our hook found what it was
fe987087 37596 looking for (often causing expensive probes of non-existent drives).
8516d2a8 37597
37598 Some callers relied on previous buggy behaviour, since they would
34c44600 37599 raise an error when their own hooks caused early abortion of its
8516d2a8 37600 iteration.
37601
37602 * kern/device.c (grub_device_open): Improve error message.
37603 * disk/lvm.c (grub_lvm_open): Likewise.
37604 * disk/raid.c (grub_raid_open): Likewise.
37605
37606 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
37607 when hook requests it, independently of grub_errno.
37608 (pc_partition_map_probe): Do not fail when find_func() caused
37609 early abortion of pc_partition_map_iterate().
37610
37611 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
37612 when hook requests it, independently of grub_errno.
37613 (gpt_partition_map_probe): Do not fail when find_func() caused
37614 early abortion of gpt_partition_map_iterate().
37615
37616 * kern/partition.c (grub_partition_iterate): Abort parent iteration
37617 when hook requests it, independently of grub_errno. Do not fail when
37618 part_map_iterate_hook() caused early abortion of p->iterate().
37619
37620 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
37621 when grub_partition_iterate() returned with non-zero.
37622
277d0de9 376232008-07-03 Pavel Roskin <proski@gnu.org>
37624
37625 * disk/ata.c (grub_ata_pio_write): Check status before writing,
37626 like we do in grub_ata_pio_read().
37627 (grub_ata_readwrite): Always write individual sectors. Fix the
37628 sector count for the remainder.
37629 (grub_ata_write): Enable writing to ATA devices. Correctly
37630 report error for ATAPI devices.
37631
d4c9b428 376322008-07-02 Pavel Roskin <proski@gnu.org>
37633
e43fc690 37634 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
37635 warning.
37636
f707af42 37637 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
37638 for every read sector, we already increment it for the whole
37639 batch. This fixes reading more than 256 sectors at once.
37640
11e16b15 37641 * util/grub-editenv.c (cmd_info): Cast argument to long
37642 explicitly. ptrdiff_t reduces to int on i386.
37643
cbabfdd4 37644 * util/grub-editenv.c (main): Be specific which parameter is
37645 missing.
37646
b8fbce0a 37647 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
37648 (memdisk): Make memdisk_orig_addr a pointer.
37649
c9c8e606 37650 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
37651 for file offsets, use grub_off_t instead. Fix printf format
37652 warnings.
37653
ca62e598 37654 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
37655 there. Real unexpected warnings should not drown in the noise
37656 about known problems.
37657
ce8d1766 37658 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
37659 grub_disk_addr_t for memory addresses.
37660
00c7a56a 37661 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
37662 explicitly to fix a warning.
37663
08d3ef09 37664 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
37665
cb71ba20 37666 * Makefile.in (MODULE_LDFLAGS): New variable.
37667 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
37668 the linker accepts --build-id=none.
37669 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
37670 MODULE_LDFLAGS.
37671 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
37672
d4c9b428 37673 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
37674 those in Linux XFS code. Provide a way to access 64-bit parent
37675 inode.
37676 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
37677 the end of struct grub_xfs_dir_header.
37678
d4156eee 376792008-07-02 Bean <bean123ch@gmail.com>
37680
37681 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
37682 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
37683 and GRUB_IEEE1275_FLAG_NO_ANSI.
37684
37685 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
37686 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
37687 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
37688
37689 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
37690 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
37691
37692 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
37693 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
37694
37695 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
37696 esc sequence on non ANSI terminal.
37697 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
37698
37699 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
37700 beginning of file.
37701
2270f77b 377022008-07-02 Bean <bean123ch@gmail.com>
37703
37704 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
37705 (grub_editenv_SOURCES): New variable.
37706 (pkglib_MODULES): Add loadenv.mod.
37707 (loadenv_mod_SOURCES): New variable.
37708 (loadenv_mod_CFLAGS): Likewise.
37709 (loadenv_mod_LDFLAGS): Likewise.
37710
37711 * include/grub/envblk.h: New file.
37712
37713 * util/envblk.c: New file.
37714
37715 * util/grub-editenv.c: New file.
37716
37717 * commands/loadenv.c: New file.
37718
0e9e51ec 377192008-07-01 Pavel Roskin <proski@gnu.org>
37720
d89b7634 37721 * include/multiboot2.h (struct multiboot_tag_module): Use char,
37722 not unsigned char. This fixes warnings and is consistent with
37723 other tags.
37724
bf1835b1 37725 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
37726
8222a04b 37727 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
37728
6a42d99d 37729 * term/tparm.c (analyze): Always set *popcount.
37730
10b159d1 37731 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
37732 cast to fix a warning.
37733
b8789f6c 37734 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
37735 cast to suppress a warning.
37736
29d7e38a 37737 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
37738 grub_fshelp_read_file() expects.
37739
f341f669 37740 * fs/fat.c: Fix UUID calculation on big-endian systems. We
37741 write uuid as a 32-bit value in CPU byte order, so declare and
37742 use it as such.
37743
0e9e51ec 37744 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
37745 long if the format specifier expects it.
37746 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
37747 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37748 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
37749 long to fix a warning.
37750 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
37751 grub_dprintf() arguments to fix warnings.
37752
3aefa857 377532008-06-30 Pavel Roskin <proski@gnu.org>
37754
56c7668b 37755 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
37756 install_bsd_part immediately before core.img is embedded or
37757 modified on disk. This fixes core.img verification if core.img
37758 cannot be embedded.
37759
3aefa857 37760 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
37761 core_path to calculate the blocklist.
37762 Patch from Javier Martín <lordhabbit@gmail.com>
37763
5444088d 377642008-06-29 Robert Millan <rmh@aybabtu.com>
37765
37766 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
37767 block to disk block.
37768 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
37769 Patch from Niels Böhm <bitbucket@arcor.de>
37770
674835c8 377712008-06-29 Robert Millan <rmh@aybabtu.com>
37772
37773 * util/update-grub_lib.in (font_path): Search for fonts in
37774 /boot/grub first, which is more likely to be readable (we aren't
37775 deciding where fonts live, just looking for them).
37776
f527dbc8 377772008-06-26 Pavel Roskin <proski@gnu.org>
37778
6c2d8df6 37779 * util/biosdisk.c (read_device_map): Don't leave dead map
37780 entries for devices failing stat() check.
37781
f527dbc8 37782 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
37783 core_path_dev for the core.img path on the target device.
37784
aebe3d13 377852008-06-26 Robert Millan <rmh@aybabtu.com>
37786
37787 * disk/fs_uuid.c: New file.
37788 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
37789 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
37790 (fs_uuid_mod_LDFLAGS): New variables.
37791 * include/grub/disk.h (grub_disk_dev_id): Add
37792 `GRUB_DISK_DEVICE_UUID_ID'.
37793 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
37794 implement iterate().
37795
37aaf354 377962008-06-26 Robert Millan <rmh@aybabtu.com>
37797
37798 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
37799 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
37800 Linux image includes no initrd.
37801
25ff262a 378022008-06-21 Javier Martín <lordhabbit@gmail.com>
37803
37804 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
37805 call to resolve the core image location that effectively appended the
37806 name twice.
37807
76a2bd44 378082008-06-21 Robert Millan <rmh@aybabtu.com>
37809
37810 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
37811 call from here ...
37812
37813 * util/grub.d/10_hurd.in: ... to here ...
37814 * util/grub.d/10_linux.in: ... and here.
37815
650e1c79 378162008-06-19 Robert Millan <rmh@aybabtu.com>
37817
fe987087 37818 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 37819 after it has been set by grub_machine_set_prefix().
37820
6ce63911 378212008-06-19 Robert Millan <rmh@aybabtu.com>
37822
37823 * commands/search.c (search_label, search_fs_uuid, search_file): Print
37824 search result when not saving to variable, not the other way around.
37825 When saving to variable, abort iteration as soon as a match is found.
37826
73940cec 378272008-06-19 Robert Millan <rmh@aybabtu.com>
37828
37829 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
37830 check for partition that provides /boot/grub. Its logic is flawed,
37831 as it prevents prepare_grub_to_access_device() from being called
37832 multiple times.
37833
3c62a39d 378342008-06-19 Robert Millan <rmh@aybabtu.com>
37835
37836 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
37837 "insmod" command directly when abstraction modules are needed,
fe987087 37838 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 37839 since it had already been processed).
37840
47395a42 378412008-06-19 Pavel Roskin <proski@gnu.org>
37842
37843 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
37844 changed. This is needed in case GRUB_LIBDIR changes.
37845 * conf/i386-ieee1275.rmk: Likewise.
37846 * conf/i386-linuxbios.rmk: Likewise.
37847 * conf/i386-pc.rmk: Likewise.
37848 * conf/powerpc-ieee1275.rmk: Likewise.
37849
a145ac2d 378502008-06-18 Pavel Roskin <proski@gnu.org>
37851
37852 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
37853 kernel_elf_symlist.c to symlist.c for consistency with other
37854 architectures. Update all users.
37855 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
37856
7847c51e 378572008-06-18 Robert Millan <rmh@aybabtu.com>
37858
37859 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
37860 it in prefix.
37861
37862 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
37863 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
37864 a RAID device, run setup() for all members independently on whether
37865 LVM abstraction is being used.
37866 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
37867 If grub-mkimage has set `*install_dos_part == -2', don't override this
37868 value.
37869 Perform *install_dos_part adjustments independently on whether
37870 we're embedding or not.
37871 Clarify error message when image is too big for embedding.
37872 Remove duplicate *install_dos_part stanza.
37873
b23e5644 378742008-06-17 Robert Millan <rmh@aybabtu.com>
37875
37876 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
37877 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
37878 variables.
37879 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
37880 values in grub_ofconsole_normal_color and
37881 grub_ofconsole_highlight_color (they're not directly related to
37882 background and foreground).
37883 (grub_ofconsole_setcolorstate): Extract background and foreground
37884 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
37885
0aac2f79 378862008-06-17 Robert Millan <rmh@aybabtu.com>
37887
37888 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
37889 /boot/grub for the check in last commit, not /boot (they could be
37890 different partitions).
37891
3cca7ef3 378922008-06-16 Robert Millan <rmh@aybabtu.com>
37893
37894 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
37895 asked to setup access for the same partition that provides /boot,
37896 don't bother using UUIDs since our root already has the value we
37897 want.
37898
347396d8 378992008-06-16 Robert Millan <rmh@aybabtu.com>
37900
37901 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
37902 I2O devices.
37903 Patch from Sven Mueller <sven@debian.org>.
37904
991477f8 379052008-06-16 Robert Millan <rmh@aybabtu.com>
37906
37907 * util/update-grub.in: Check for $EUID instead of $UID.
37908 Reported by Vincent Zweije.
37909
d31a32a1 379102008-06-16 Bean <bean123ch@gmail.com>
37911
fe987087 37912 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 37913 (grub_ext2_read_block): Likewise.
37914 (grub_ext2_read_inode): Likewise.
37915 (grub_ext2_mount): Likewise.
37916 (grub_ext2_close): Likewise.
37917 (grub_ext3_get_journal): Removed.
37918
fe987087 37919 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 37920 (grub_reiserfs_read_symlink): Likewise.
37921 (grub_reiserfs_mount): Likewise.
37922 (grub_reiserfs_open): Likewise.
37923 (grub_reiserfs_read): Likewise.
37924 (grub_reiserfs_close): Likewise.
37925 (grub_reiserfs_get_journal): Removed.
37926
37927 * fs/fshelp.c (grub_fshelp_read): Removed.
37928 (grub_fshelp_map_block): Likewise.
37929
37930 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
37931 (grub_fshelp_journal): Likewise.
37932 (grub_fshelp_read): Likewise.
37933 (grub_fshelp_map_block): Likewise.
37934
3540a760 379352008-06-16 Pavel Roskin <proski@gnu.org>
37936
37937 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
37938 floating point anymore.
37939 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
37940
95614c84 379412008-06-15 Pavel Roskin <proski@gnu.org>
37942
37943 * commands/ls.c (grub_ls_list_files): Use integer calculations
37944 for human readable format, avoid floating point use.
37945 * kern/misc.c (grub_ftoa): Remove.
37946 (grub_vsprintf): Remove floating point support.
37947
50465dd6 379482008-06-15 Robert Millan <rmh@aybabtu.com>
37949
fe6b695a 37950 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 37951 devices.
37952 Reported by Max Vozeler.
37953
a9207284 379542008-06-15 Robert Millan <rmh@aybabtu.com>
37955
37956 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
37957 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
37958 skipped later.
37959 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
37960 the beginning of the prefix.
37961
37962 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
37963 It is assumed that if we have a memdisk, grub-mkimage has set
37964 grub_prefix to include the "(memdisk)" drive in it.
37965
a7cbd45a 379662008-06-15 Robert Millan <rmh@aybabtu.com>
37967
37968 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
37969 Initialize keyboard controller after registering the terminal, so that
37970 grub_printf() can be called from grub_keyboard_controller_init().
37971
21cf716a 379722008-06-15 Robert Millan <rmh@aybabtu.com>
37973
37974 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
37975 extent-btree which is written as big endian on disk.
37976 Reported by Alain Greppin <al@chilibi.org>.
37977
23a64d8e 379782008-06-14 Robert Millan <rmh@aybabtu.com>
37979
37980 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
37981 * util/i386/pc/grub-install.in (modules): Likewise.
37982
d687651c 379832008-06-13 Pavel Roskin <proski@gnu.org>
37984
37985 * commands/ls.c (grub_ls_list_files): Fix format warnings.
37986
dfe9ddd4 379872008-06-13 Bean <bean123ch@gmail.com>
37988
37989 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
37990
37991 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
37992
37993 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
37994 to indicate sparse block.
37995
16ae7781 379962008-06-12 Pavel Roskin <proski@gnu.org>
37997
e6d1a308 37998 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
37999 number, grub_fshelp_read() does it for us.
38000
16ae7781 38001 * fs/fshelp.c (grub_fshelp_read): New function. Implement
38002 linear disk read with journal translation.
38003 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
38004 * include/grub/fshelp.h: Declare grub_fshelp_read().
38005
40fd3a2b 380062008-06-09 Pavel Roskin <proski@gnu.org>
38007
38008 * fs/minix.c (grub_minix_mount): Handle error reading
38009 superblock.
38010
f5679726 380112008-06-08 Robert Millan <rmh@aybabtu.com>
38012
38013 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
38014 don't append the RAID prefix afterwards.
38015 Reported by Clint Adams.
38016
ce525529 380172008-06-08 Robert Millan <rmh@aybabtu.com>
38018
38019 Based on description from Pavel:
38020 * kern/disk.c (grub_disk_check_range): Rename to ...
38021 (grub_disk_adjust_range): ... this. Add a comment explaining the
38022 tasks performed by this function.
38023
ad4936a0 380242008-06-08 Robert Millan <rmh@aybabtu.com>
38025
38026 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
38027 `num_serial' (for consistency with other variables).
38028 (struct grub_ntfs_data): Add `uuid' member.
38029 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
38030 (grub_ntfs_uuid): New function.
38031 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
38032
dc20b0f9 380332008-06-07 Pavel Roskin <proski@gnu.org>
38034
38035 * util/biosdisk.c (open_device): Revert last change to the
38036 function, it broke installation. The sector needs to be
38037 different dependent on which device is opened.
38038
c5e3cfba 380392008-06-06 Robert Millan <rmh@aybabtu.com>
38040
38041 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
38042 rest of GRUB, and breakage doesn't happen if its value were modified.
38043
38044 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
38045 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
38046 a constant (same value).
38047 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
38048 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
38049
26a1f8c4 380502008-06-06 Robert Millan <rmh@aybabtu.com>
38051
38052 * util/biosdisk.c (open_device): Do not modify sector offset when
38053 accessing a partition. kern/disk.c already handles this for us.
38054
25d6b327 380552008-06-06 Robert Millan <rmh@aybabtu.com>
38056
38057 * util/grub-emu.c (grub_machine_init): Move code in this function from
38058 here ...
38059 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
38060 segfault in case grub_printf() is called).
38061
38062 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
38063 grub_probe. Update all users not to explicitly add it again.
38064 (grub_device): New variable; contains corresponding device for grubdir.
38065 (fs_module, partmap_module, devabstraction_module): Pass
38066 `--device ${grub_device}' to grub_probe to avoid traversing /dev
38067 every time.
38068
9ece62fb 380692008-06-05 Robert Millan <rmh@aybabtu.com>
38070
38071 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
38072 is found, print it (same layout as with labels).
38073
1ad36d37 380742008-06-04 Robert Millan <rmh@aybabtu.com>
38075
38076 * util/biosdisk.c (get_drive): Rename to ...
38077 (find_grub_drive): ... this. Update all users.
38078
38079 (get_os_disk): Rename to ...
38080 (convert_system_partition_to_system_disk): ... this. Update all users.
38081
38082 (find_drive): Rename to ...
38083 (find_system_device): ... this. Update all users.
38084
e6a30859 380852008-06-04 Robert Millan <rmh@aybabtu.com>
38086
38087 * util/biosdisk.c (get_os_disk): Handle IDA devices.
38088 * util/grub-mkdevicemap.c (get_mmc_disk_name)
38089 (make_device_map): Likewise.
38090
00c108a4 380912008-06-01 Robert Millan <rmh@aybabtu.com>
38092
38093 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
38094 before dereferencing it.
38095
38096 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
38097 union with fat12/fat16-specific ones. Add some new fields, including
38098 `num_serial' for both versions.
38099 (struct grub_fat_data): Add `uuid' member.
38100 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
38101 names. Initialize `data->uuid' using `num_serial'.
38102 (grub_fat_uuid): New function.
38103 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
38104
38105 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
38106 (grub_reiserfs_uuid): New function.
38107 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
38108 member.
38109
38110 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
38111 (grub_xfs_uuid): New function.
38112 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
38113
1385c5bb 381142008-06-01 Robert Millan <rmh@aybabtu.com>
38115
38116 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
38117 code that is backward compatible with pre-uuid search command.
38118
c682dfd7 381192008-05-31 Robert Millan <rmh@aybabtu.com>
38120
38121 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
38122 floppies after everything else, to ensure floppy drive isn't accessed
38123 unnecessarily (patch from Bean).
38124
b7db5d47 381252008-05-31 Robert Millan <rmh@aybabtu.com>
38126
38127 * commands/search.c (search_label, search_fs_uuid, search_file): Do
38128 not print device names when we were asked to set a variable.
38129
6e037aa9 381302008-05-31 Robert Millan <rmh@aybabtu.com>
38131
38132 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
38133 using "cursor-on" and "cursor-off" commands (understood at least by
38134 the Open Firmware flavour on OLPC).
38135
41305bc8 381362008-05-31 Michael Gorven <michael@gorven.za.net>
38137
38138 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
38139 on and off sequences.
38140
69ba137e 381412008-05-31 Robert Millan <rmh@aybabtu.com>
38142
38143 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
38144 * util/update-grub.in: Likewise.
38145
520ae21b 381462008-05-30 Pavel Roskin <proski@gnu.org>
38147
38148 * util/biosdisk.c (linux_find_partition): Simplify logic and
38149 make the code more universal. Keep special processing for
38150 devfs, but use a simple rule for all other devices. If the
38151 device ends with a number, append 'p' and the partition number.
38152 Otherwise, append only the partition number.
38153
5786569b 381542008-05-30 Robert Millan <rmh@aybabtu.com>
38155
38156 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
38157 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
38158 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
38159 the `root' parameter to Linux.
38160
51500452 381612008-05-30 Robert Millan <rmh@aybabtu.com>
38162
38163 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
38164 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
38165 --fs_uuid with --fs-uuid.
38166 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
38167 all filesystems support them).
38168
811d3878 381692008-05-30 Robert Millan <rmh@aybabtu.com>
38170
38171 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 38172 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 38173
cab63c95 381742008-05-30 Robert Millan <rmh@aybabtu.com>
38175
38176 * util/grub.d/00_header.in: Remove obsolete comment referencing
38177 convert_system_path_to_grub_path().
38178 * util/update-grub.in: Likewise.
38179 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
38180 (convert_system_path_to_grub_path): Add a warning message explaining
38181 that this function is deprecated. Rely on is_path_readable_by_grub()
38182 for the readability checks.
38183 (font_path): Use is_path_readable_by_grub() for the readability
38184 check rather than convert_system_path_to_grub_path().
38185
972e2f7a 381862008-05-30 Robert Millan <rmh@aybabtu.com>
38187
38188 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
38189 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
38190 converting it first.
38191 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
38192 grub.cfg for access to font file, and afterwards call it again to set
38193 the root device.
38194
62191274 381952008-05-30 Robert Millan <rmh@aybabtu.com>
38196
38197 * commands/search.c (options): Add --fs_uuid option.
38198 (search_fs_uuid): New function.
38199 (grub_cmd_search): Fix --set argument passing.
38200 Use search_fs_uuid() when requested via --fs_uuid.
38201 (grub_search_init): Update help message.
38202 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
38203 and redeclare it as an array of 16-bit words.
38204 (grub_ext2_uuid): New function.
38205 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
38206 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
38207 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
38208 (GRUB_DEVICE_BOOT_UUID): New variables.
38209 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
38210 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
38211 whenever possible.
38212 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
38213 just assume `root' variable has the right value.
38214 * util/grub.d/10_linux.in: Likewise.
38215 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
38216 via PRINT_FS_UUID.
38217 (main): Recognise `-t fs_uuid' argument.
38218
01b73ec8 382192008-05-30 Robert Millan <rmh@aybabtu.com>
38220
38221 * util/biosdisk.c (map): Redefine structure to hold information
38222 about GRUB drive name.
fe6b695a 38223 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 38224 drive names.
38225 (call_hook): Remove.
38226 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
38227 member. Assume drive has partitions.
38228 (grub_util_biosdisk_open): Access device names via `.device' struct
38229 member.
38230 (open_device): Likewise.
38231 (find_drive): Likewise.
38232 (read_device_map): Adjust map[] usage to match the new struct
38233 definition. Don't check for duplicates (still possible, but not cheap
38234 anymore).
38235 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
38236 (make_device_name): Remove assumption of BIOS-like drive names.
38237
22f16596 382382008-05-30 Pavel Roskin <proski@gnu.org>
38239
38240 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
38241 compiling execute.c doesn't need grub_script.tab.h anymore.
38242 (normal/command.c_DEPENDENCIES): Likewise.
38243 (normal/function.c_DEPENDENCIES): Likewise.
38244 * conf/i386-ieee1275.rmk: Likewise.
38245 * conf/i386-linuxbios.rmk: Likewise.
38246 * conf/i386-pc.rmk: Likewise.
38247 * conf/powerpc-ieee1275.rmk: Likewise.
38248 * conf/sparc64-ieee1275.rmk: Likewise.
38249
528ad8f2 382502008-05-29 Pavel Roskin <proski@gnu.org>
38251
d1dff95d 38252 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
38253 when scanning metadata for volume group name.
38254
528ad8f2 38255 * include/grub/script.h: Don't include grub_script.tab.h. It's
38256 a generated file, which may only be included from the files with
38257 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
38258 use union YYSTYPE, as the later allows forward declaration.
38259 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
38260
47248e08 382612008-05-29 Robert Millan <rmh@aybabtu.com>
38262
38263 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
38264 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
38265 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
38266 (grub_console_checkkey): Add grub_dprintf() call to report unknown
38267 scan codes.
38268
ee632529 382692008-05-29 Robert Millan <rmh@aybabtu.com>
38270
38271 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
38272 control key combinations.
38273
eee96e08 382742008-05-29 Robert Millan <rmh@aybabtu.com>
38275
38276 * util/powerpc/ieee1275/grub-install.in: Move from here ...
38277 * util/ieee1275/grub-install.in: ... to here.
38278 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
38279 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
38280 (grub_install_SOURCES): Likewise.
38281
da9a6a94 382822008-05-29 Robert Millan <rmh@aybabtu.com>
38283
38284 * fs/affs.c: Update copyright year.
38285 * fs/ext2.c: Likewise.
38286 * fs/fshelp.c: Likewise.
38287 * fs/hfsplus.c: Likewise.
38288 * fs/ntfs.c: Likewise.
38289 * fs/xfs.c: Likewise.
38290 * include/grub/fshelp.h: Likewise.
38291 * util/grub-mkdevicemap.c: Likewise.
38292
12e65f3a 382932008-05-28 Robert Millan <rmh@aybabtu.com>
38294
38295 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
38296 might need to be fatfs to support some firmware implementations
38297 (e.g. OFW or EFI).
38298
23023641 382992008-05-28 Robert Millan <rmh@aybabtu.com>
38300
38301 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
38302 devices.
38303 * util/grub-mkdevicemap.c (get_mmc_disk_name)
38304 (make_device_map): Likewise.
38305
887d2619 383062008-05-20 Bean <bean123ch@gmail.com>
38307
38308 * fs/fshelp.c (grub_fshelp_map_block): New function.
38309 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
38310 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
38311
38312 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
38313 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
38314 (grub_fshelp_journal): New structure.
38315 (grub_fshelp_map_block): New function prototype.
38316 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
38317 (grub_fshelp_map_block): Likewise.
38318
38319 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
38320 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
38321 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
38322 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
38323 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
38324 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
38325 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
38326 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
38327 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
38328 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
38329 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
38330 (grub_ext2_sblock): New members for journal support.
38331 (grub_ext3_journal_header): New structure.
38332 (grub_ext3_journal_revoke_header): Likewise.
38333 (grub_ext3_journal_block_tag): Likewise.
38334 (grub_ext3_journal_sblock): Likewise.
38335 (grub_fshelp_node): New members logfile and journal.
38336 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
38337 grub_fshelp_map_block to get real block number.
38338 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
38339 number.
38340 (grub_ext2_read_inode): Likewise.
38341 (grub_ext3_get_journal): New function.
38342 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
38343 (grub_ext2_close): Release memory used by journal.
38344
38345 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
38346 (REISERFS_MAGIC_DESC_BLOCK): New macro.
38347 (grub_reiserfs_transaction_header): Renamed to
38348 grub_reiserfs_description_block, replace field data with real_blocks.
38349 (grub_reiserfs_commit_block): New structure.
38350 (grub_reiserfs_data): New member journal.
38351 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
38352 number.
38353 (grub_reiserfs_read_symlink): Likewise.
38354 (grub_reiserfs_iterate_dir): Likewise.
38355 (grub_reiserfs_open): Likewise.
38356 (grub_reiserfs_read): Likewise.
38357 (grub_reiserfs_get_journal): New function.
38358 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
38359 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
38360 using grub_reiserfs_get_journal.
38361 (grub_reiserfs_close): Release memory used by journal.
38362
38363 * fs/affs.c (grub_affs_read_block): Change block type to
38364 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
38365
38366 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
38367
38368 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
38369
38370 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
38371
38372 * fs/udf.c (grub_udf_read_block): Change block type to
38373 grub_disk_addr_t. Use type cast to avoid warning.
38374
38375 * fs/xfs.c (grub_xfs_read_block): Likewise.
38376
b7c6bed5 383772008-05-16 Christian Franke <franke@computer.org>
38378
38379 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
38380 to ensure that break with ESC will always work.
38381 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
38382 Remove ESC from keyboard queue.
38383
eedf167f 383842008-05-16 Christian Franke <franke@computer.org>
38385
38386 * util/biosdisk.c: [__CYGWIN__] Add includes.
38387 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
38388 (get_os_disk): Move variable declarations to OS specific
38389 parts to avoid warning.
38390 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
38391 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
38392 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
38393 Cygwin.
38394 * util/getroot.c: [__CYGWIN__] Add includes.
38395 (strip_extra_slashes): Fix "/" case.
38396 [__CYGWIN__] (get_win32_path): New function.
38397 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
38398 [__CYGWIN__] (find_root_device): Disable.
38399 [__CYGWIN__] (get_bootsec_serial): New function.
38400 [__CYGWIN__] (find_cygwin_root_device): Likewise.
38401 [__linux__] (grub_guess_root_device): Add early returns to simplify
38402 structure.
38403 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
38404 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
38405 check for Linux only.
38406
a079699e 384072008-05-15 Bean <bean123ch@gmail.com>
38408
38409 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
38410 keyboard hang problem in apple's intel mac.
38411
1cf4059a 384122008-05-09 Robert Millan <rmh@aybabtu.com>
38413
38414 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
38415 devices.
38416 * util/grub-mkdevicemap.c (get_virtio_disk_name)
38417 (make_device_map): Likewise.
38418 Reported by Aurelien Jarno <aurel32@debian.org>
38419
ed759390 384202008-05-07 Ian Campbell <ijc@hellion.org.uk>
38421
38422 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
38423 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
38424 (make_device_map): Output entries for xvd type disks.
38425
b56c4eaa 384262008-05-07 Robert Millan <rmh@aybabtu.com>
38427
38428 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
38429 devices.
38430 * util/grub-mkdevicemap.c (get_cciss_disk_name)
38431 (make_device_map): Likewise.
38432 Reported by Roland Dreier <rdreier@cisco.com>
38433
7f8866ed 384342008-05-07 Robert Millan <rmh@aybabtu.com>
38435
38436 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
38437 grub_strstr() call. Correct a few mistakes in failure path handling.
38438
b0346e0f 384392008-05-06 Robert Millan <rmh@aybabtu.com>
38440
38441 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
38442 Do not print a trailing slash (therefore, the root directory is an
38443 empty string).
38444 (convert_system_path_to_grub_path): Do not remove trailing slash
38445 from make_system_path_relative_to_its_root() output.
38446
38447 * util/i386/pc/grub-install.in: Add trailing slash to output from
38448 make_system_path_relative_to_its_root().
38449
6cf12cbd 384502008-05-06 Robert Millan <rmh@aybabtu.com>
38451
38452 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
38453 ensures that output lines aren't intermangled with those sent to
38454 stderr (via grub_util_info()).
38455 * util/grub-probe.c (grub_refresh): Likewise.
38456 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
38457
0fbb3117 384582008-05-05 Christian Franke <franke@computer.org>
38459
38460 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
38461 Add Cygwin device names.
38462 (get_ide_disk_name) [__CYGWIN__]: Likewise.
38463 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
38464 (check_device): Return error instead of success on empty name.
38465 (make_device_map): Move label inside linux specific code to
38466 prevent compiler warning.
38467
8124cdb7 384682008-04-30 Robert Millan <rmh@aybabtu.com>
38469
38470 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
38471 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
38472 first boot option.
38473 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
38474
094c01d0 384752008-04-29 Robert Millan <rmh@aybabtu.com>
38476
38477 * docs/grub.cfg: New file (example GRUB configuration).
38478
f4b1fc02 384792008-04-26 Robert Millan <rmh@aybabtu.com>
38480
329ce2a5 38481 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
38482 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
38483 and `disk/ieee1275/nand.c'.
f4b1fc02 38484
25f16ec1 384852008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 38486
25f16ec1 38487 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
38488 i386-linuxbios.
38489
38490 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
38491 change the buffer size to 4096 for cdrom device.
38492
38493 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
38494 and nand.mod.
38495 (_linux_mod_SOURCES): New variable.
38496 (_linux_mod_CFLAGS): Likewise.
38497 (_linux_mod_LDFLAGS): Likewise.
38498 (linux_mod_SOURCES): Likewise.
38499 (linux_mod_CFLAGS): Likewise.
38500 (linux_mod_LDFLAGS): Likewise.
38501 (nand_mod_SOURCES): Likewise.
38502 (nand_mod_CFLAGS): Likewise.
38503 (nand_mod_LDFLAGS): Likewise.
38504
38505 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
38506 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
38507 type property. (nand device in olpc don't have this property)
38508
38509 * include/grub/disk.h (grub_disk_dev_id): New macro
38510 GRUB_DISK_DEVICE_NAND_ID.
38511
38512 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
38513 function prototype.
38514 (grub_rescue_cmd_initrd): Likewise.
38515
38516 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
38517 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
38518 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 38519
25f16ec1 38520 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
38521 GRUB_MACHINE_IEEE1275 is defined.
38522
38523 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
38524 Use NESTED_FUNC_ATTR attribute on the hook parameter.
38525
38526 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
38527 on nested function heap_init.
38528 (grub_upper_mem): New variable for i386-ieee1275.
38529 (grub_get_extended_memory): New function for i386-ieee1275.
38530 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
38531
38532 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
38533 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
38534 property.
f19dbdb7 38535
25f16ec1 38536 * loader/i386/ieee1275/linux.c: New file.
38537
38538 * loader/i386/ieee1275/linux_normal.c: New file.
38539
38540 * disk/ieee1275/nand.c: New file.
38541
e89d61e9 385422008-04-18 Thomas Schwinge <tschwinge@gnu.org>
38543
38544 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
38545 value.
38546 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
38547
602566f6 385482008-04-18 Robert Millan <rmh@aybabtu.com>
38549
38550 Restructures early code path on ieee1275 to unify grub_main() as
38551 the first C function that is executed in every platform.
38552
38553 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
38554 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
38555 cmain().
38556 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
38557 * kern/ieee1275/cmain.c (cmain): Rename to ...
38558 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
38559 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
38560 at the beginning.
38561
57490c2b 385622008-04-18 Robert Millan <rmh@aybabtu.com>
38563
38564 * util/update-grub.in: Fix syntax error when setting
38565 `GRUB_PRELOAD_MODULES'.
38566 Reported by Stephane Chazelas <stephane@artesyncp.com>
38567
1977517d 385682008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
38569
38570 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
38571 section into account, newer toolchains generate unique build ids
38572 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 38573 we want build ids to be preserved
1977517d 38574 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
38575 far from other sections don't cause the raw binary images grow
38576 size
38577
bfb1f1a2 385782008-04-15 Robert Millan <rmh@aybabtu.com>
38579
38580 * disk/lvm.c: Update copyright year.
38581 * kern/misc.c: Likewise.
38582
01979850 385832008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
38584
38585 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 38586 there is no memory left for physical volume name.
01979850 38587
0a1150e2 385882008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
38589
38590 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
38591 volume name mapping to support bigger than 9 character names properly.
38592
82ead3fe 385932008-04-13 Robert Millan <rmh@aybabtu.com>
38594
38595 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
38596 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
38597
e54a72f5 385982008-04-13 Christian Franke <franke@computer.org>
38599
38600 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
38601 to create a floppy emulation boot CD when non emulation mode
38602 does not work.
38603 Enable Joliet CD filesystem extension.
38604
9fe86034 386052008-04-13 Robert Millan <rmh@aybabtu.com>
38606
38607 * kern/misc.c (grub_strncat): Fix off-by-one error.
38608 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
38609
38610 * kern/env.c (grub_env_context_close): Clear current context, not
38611 previous one.
38612 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
38613
38614 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
38615
7ceeee39 386162008-04-13 Robert Millan <rmh@aybabtu.com>
38617
38618 Improve robustness when handling LVM.
38619
38620 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 38621 (and leave `*p' unmodified).
7ceeee39 38622 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
38623 through it.
38624 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
38625 iterating through it.
38626 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
38627 through it.
fe6b695a 38628 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 38629 when due) on each grub_lvm_getvalue() or grub_strstr() call.
38630 Don't assume `vg->pvs != NULL' when iterating through it.
38631
58cd3d85 386322008-04-13 Robert Millan <rmh@aybabtu.com>
38633
38634 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
38635 * genmk.rb (partmap): New variable.
38636 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
38637 (#{partmap}): New target rule.
38638 * genpartmaplist.sh: New file.
38639 * Makefile.in (pkglib_DATA): Add partmap.lst.
38640 (partmap.lst): New target rule.
38641 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
38642 modules (including all partition maps), instead of preloading them.
38643
78b51059 386442007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
38645
38646 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
38647 `linux-boot-prober' (if installed) to detect other operating
38648 systems which are installed on the computer and add them to
38649 the boot menu.
38650 * conf/common.rmk: Build and install 30_os-prober.
38651
a91627b4 386522008-04-12 Robert Millan <rmh@aybabtu.com>
38653
38654 * kern/powerpc/ieee1275/init.c: Move from here ...
38655 * kern/ieee1275/init.c: ... to here. Update all users.
38656
38657 * kern/powerpc/ieee1275/cmain.c: Move from here ...
38658 * kern/ieee1275/cmain.c: ... to here. Update all users.
38659
38660 * kern/powerpc/ieee1275/openfw.c: Move from here ...
38661 * kern/ieee1275/openfw.c: ... to here. Update all users.
38662
38663 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
38664 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
38665
322562ea 386662008-04-10 Pavel Roskin <proski@gnu.org>
38667
38668 * configure.ac: Always use "_cv_" in cache variables for
38669 compatibility with Autoconf 2.62.
38670
a02a73c5 386712008-04-07 Robert Millan <rmh@aybabtu.com>
38672
38673 Revert grub/machine/init.h addition by Pavel (since it breaks on
38674 i386-ieee1275 and others):
38675 * util/i386/pc/misc.c: Remove grub/machine/init.h.
38676 * util/powerpc/ieee1275/misc.c: Likewise.
38677
25c024b1 386782008-04-07 Robert Millan <rmh@aybabtu.com>
38679
38680 * util/grub-probe.c (probe): Improve error message.
38681
3cbd2f98 386822008-04-07 Robert Millan <rmh@aybabtu.com>
38683
38684 * util/biosdisk.c (read_device_map): Skip devices that don't exist
38685 (this prevents the presence of a bogus entry from ruining the whole
38686 thing).
38687
87a297bf 386882008-04-06 Pavel Roskin <proski@gnu.org>
38689
36747a62 38690 * util/biosdisk.c: Include grub/util/biosdisk.h.
38691 * util/grub-fstest.c (execute_command): Make static.
38692 * util/grub-mkdevicemap.c (check_device): Likewise.
38693 * util/i386/pc/misc.c: Include grub/machine/init.h.
38694 * util/powerpc/ieee1275/misc.c: Likewise.
38695 * util/lvm.c: Include grub/util/lvm.h.
38696 * util/misc.c: Include grub/kernel.h, grub/misc.h and
38697 grub/cache.h.
38698 * util/raid.c: Include grub/util/raid.h.
38699 (grub_util_getdiskname): Make static.
38700
87a297bf 38701 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
38702 grub_hostfs_fini(), as they are called from grub_init_all() and
38703 grub_fini_all() respectively. This fixes an infinite loop in
38704 grub-fstest due to double registration of hostfs.
38705 Reported by Christian Franke <Christian.Franke@t-online.de>
38706
f6ce7629 387072008-04-05 Pavel Roskin <proski@gnu.org>
38708
38709 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
38710 all 8 functions. Otherwise, probe function 0 only.
38711
070e49e4 387122008-04-04 Pavel Roskin <proski@gnu.org>
38713
8b088a4c 38714 * commands/lspci.c (grub_lspci_iter): Print the bus number
38715 correctly.
38716
4f657021 38717 * commands/lspci.c (grub_pci_classes): Fix typos.
38718 (grub_lspci_iter): Don't print func twice. Print vendor ID
38719 before device ID, as it's normally done.
38720
070e49e4 38721 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
38722 Fix signedness warnings.
38723 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
38724 Likewise.
38725 * util/ieee1275/get_disk_name.c: Include config.h so that
38726 _GNU_SOURCE is defined and getline() is declared. Mark an
38727 unused argument as such. Fix a signedness warning.
38728
ba7328dc 387292008-04-02 Pavel Roskin <proski@gnu.org>
38730
26887f22 38731 * genkernsyms.sh.in: Use more robust assignments for CC and
38732 srcdir. Quote srcdir.
38733 * gensymlist.sh.in: Likewise. Assert at the compile time that
38734 the symbol table is not empty.
38735
ba7328dc 38736 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
38737 * fs/cpio.c (grub_cpio_read): Likewise.
38738
0f582c6b 387392008-04-01 Pavel Roskin <proski@gnu.org>
38740
4b6e1995 38741 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
38742 * disk/host.c (grub_host_open): Likewise.
38743 * disk/loopback.c (grub_loopback_open): Likewise.
38744 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
38745 disk->id as in disk/host.c, not a multi-character constant.
38746
828a2768 38747 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
38748 later is obsolete, potentially dangerous and sets a bad example.
38749 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
38750 * util/misc.c (grub_util_get_image_size): Likewise.
38751
2bb4fb47 38752 * disk/loopback.c (options): Improve help for "--partitions".
38753
0f582c6b 38754 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
38755 options to align them with the short options, e.g. "echo -e".
38756
a33224e0 387572008-03-31 Bean <bean123ch@gmail.com>
38758
38759 * video/reader/png.c (grub_png_data): New member is_16bit and
38760 image_data.
38761 (grub_png_decode_image_header): Detect 16 bit png image.
38762 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
38763 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
38764 (grub_video_reader_png): Release memory occupied by image_data.
38765
38766 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
38767 4096 bytes.
38768 (grub_nfs_mount): Skip the test for sector per cluster.
38769
38770 * include/grub/ntfs.h (MAX_SPC): Removed.
38771
86cb4f54 387722008-03-31 Bean <bean123ch@gmail.com>
38773
38774 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
38775 (grub_probe_SOURCES): Add fs/afs.c.
38776 (grub_fstest_SOURCES): Likewise.
38777 (afs_mod_SOURCES): New variable.
38778 (afs_mod_CFLAGS): Likewise.
38779 (afs_mod_LDFLAGS): Likewise.
38780
38781 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
38782 (grub_emu_SOURCES): Likewise.
38783
38784 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38785
38786 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38787
38788 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38789
38790 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38791
38792 * fs/afs.c: New file.
38793
17c74c21 387942008-03-30 Pavel Roskin <proski@gnu.org>
38795
4cb68e89 38796 * disk/host.c: Include grub/misc.h to fix a warning.
38797 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
38798 warnings about implicit declarations.
38799
8790bb04 38800 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
38801 variable.
38802 * include/grub/i386/loader.h: Change declaration of
38803 grub_linux_boot() to match what grub_loader_set() expects.
38804 * util/getroot.c (grub_guess_root_device): Return const char* to
38805 fix a warning.
38806 * util/grub-probe.c (probe): Fix a warning about uninitialized
38807 abstraction_name variable.
38808 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
38809 second argument as unused to fix a warning.
38810
9a3f3296 38811 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
38812 missing grub_error() call.
38813
0ecef90d 38814 * util/update-grub_lib.in: Define datarootdir, since Autoconf
38815 2.60 and newer uses it to define datadir.
38816
0bf6d401 38817 * commands/sleep.c: Fix warning about implicit declaration.
38818 * disk/memdisk.c: Likewise.
38819 * loader/aout.c: Likewise.
38820 * loader/i386/bsd_normal.c: Likewise.
38821 * util/grub-probe.c: Likewise.
38822
7cdacf97 38823 * commands/i386/cpuid.c (has_longmode): Make static.
38824 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
38825 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
38826
17c74c21 38827 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
38828 GDT. This is more robust, as %ds can change.
38829 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
38830 calling real_to_prot().
38831 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
38832
80a3e68b 388332008-03-28 Pavel Roskin <proski@gnu.org>
38834
38835 * kern/i386/pc/startup.S: Assert that uncompressed functions
38836 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
38837 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
38838 code, as they push parts of the code (error handlers) beyond
38839 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
38840 code as correctness and size.
38841
77bcd272 388422008-03-28 Pavel Roskin <proski@gnu.org>
38843
38844 * kern/i386/pc/startup.S
38845 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
38846 data block address to the real mode, keep offset minimal. This
38847 works around a bug in AWARD BIOS on old Athlon systems, which
38848 makes CD detection hang.
38849
c5dfd43b 388502008-03-26 Pavel Roskin <proski@gnu.org>
38851
38852 * normal/color.c (grub_parse_color_name_pair): Make `name' a
38853 const.
38854 * include/grub/normal.h: Add grub_parse_color_name_pair()
38855 declaration.
38856
bf962df2 388572008-03-24 Bean <bean123ch@gmail.com>
38858
38859 * disk/i386/pc/biosdisk.c (cd_start): Removed.
38860 (cd_count): Removed.
38861 (cd_drive): New variable.
38862 (grub_biosdisk_get_drive): Don't check for (cdN) device.
38863 (grub_biosdisk_call_hook): Likewise.
38864 (grub_biosdisk_iterate): Change cdrom detection method.
38865 (grub_biosdisk_open): Replace cd_start with cd_drive.
38866 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
38867 detect cdrom device.
38868
38869 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
38870 Removed.
38871 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
38872 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
38873 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
38874 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
38875 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
38876 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
38877 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
38878 (grub_biosdisk_cdrp): New structure.
38879 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
38880
38881 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
38882
38883 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
38884 device.
38885
38886 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
38887 New function.
38888
68e7fc7a 388892008-03-20 Robert Millan <rmh@aybabtu.com>
38890
38891 Remove 2 TiB limit in ata.mod.
38892 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
38893 (grub_ata_dumpinfo): Print sector count with 0x%llx.
38894 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
38895 grub_uint64_t instead of grub_uint32_t.
38896
38ad2cf5 388972008-03-05 Bean <bean123ch@gmail.com>
38898
38899 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
38900 (grub_multiboot): Set boot device.
38901
38902 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
38903
2b89344e 389042008-03-02 Bean <bean123ch@gmail.com>
38905
38906 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
38907 symlink_buffer.
38908
87a95d1f 389092008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
38910
38911 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
38912 texinfo.tex.
38913
38914 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
38915 modified.
38916
38917 * docs/fdl.texi: New file.
f19dbdb7 38918
87a95d1f 38919 * docs/mdate-sh: New file. Copied from gnulib.
38920 * docs/texinfo.tex: Likewise.
38921
38922 * config.guess: Updated from gnulib.
38923 * install-sh: Likewise.
38924
7dc15d8e 389252008-02-28 Robert Millan <rmh@aybabtu.com>
38926
38927 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
38928 (aout_mod_SOURCES): New variable.
38929 (aout_mod_CFLAGS): Likewise.
38930 (aout_mod_LDFLAGS): Likewise.
38931
38932 * conf/i386-ieee1275.rmk: Likewise.
38933
b00ab696 389342008-02-28 Robert Millan <rmh@aybabtu.com>
38935
38936 * util/update-grub.in: Reorganise terminal validity check. Accept
38937 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
38938 Based on suggestion by Franklin PIAT.
38939
79ca2d78 389402008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
38941
38942 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
38943 function.
38944 * util/getroot.c (grub_util_check_block_device): New function that
38945 returns the given argument if it is a block device and returns NULL else.
38946 * util/grub-probe.c (argument_is_device): New variable.
38947 (probe): Promote device_name from a variable to an argument. Receive
38948 device_name from grub_util_check_block_device() if path is NULL and from
38949 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 38950 (options): Introduce new parameter '-d, --device'.
79ca2d78 38951 (main): Add description of the new parameter to the help screen.
38952 Rename path variable to argument. Set argument_is_device if the '-d'
38953 option is given. Pass argument to probe() depending on
38954 argument_is_device.
38955
0d16e571 389562008-02-24 Bean <bean123ch@gmail.com>
38957
38958 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
38959 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
38960 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
38961 (GRUB_ISO9660_VOLDESC_PART): Likewise.
38962 (GRUB_ISO9660_VOLDESC_END): Likewise.
38963 (grub_iso9660_primary_voldesc): New member escape.
38964 (grub_iso9660_data): New member joliet.
38965 (grub_iso9660_convert_string): New function.
38966 (grub_iso9660_mount): Detect joliet extension.
38967 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
38968 (grub_iso9660_iso9660_label): Likewise.
38969
38970 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
38971 (grub_setup_SOURCES): Add fs/udf.c.
38972 (grub_fstest_SOURCES): Likewise.
38973 (udf_mod_SOURCES): New variable.
38974 (udf_mod_CFLAGS): Likewise.
38975 (udf_mod_LDFLAGS): Likewise.
38976
38977 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
38978 (grub_emu_SOURCES): Likewise.
38979
38980 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38981
38982 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38983
38984 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38985
38986 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38987
38988 * fs/udf.c: New file.
38989
8a594a17 389902008-02-24 Robert Millan <rmh@aybabtu.com>
38991
38992 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
38993 (normal/lexer.c_DEPENDENCIES): New variables.
38994 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
38995 (normal/lexer.c_DEPENDENCIES): Likewise.
38996 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
38997 (normal/lexer.c_DEPENDENCIES): Likewise.
38998 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
38999 (normal/lexer.c_DEPENDENCIES): Likewise.
39000 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
39001 (normal/lexer.c_DEPENDENCIES): Likewise.
39002 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
39003 (normal/lexer.c_DEPENDENCIES): Likewise.
39004
2dc33c03 390052008-02-23 Robert Millan <rmh@aybabtu.com>
39006
39007 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
39008 since they were intended to be in hex. This didn't break previously
39009 because of a bug in gpt_partition_map_iterate() (see below).
39010
39011 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
39012 when checking the validity of GPT header.
39013 Remove `partno', since it always provides the same information as `i'.
39014
f6f4cfb0 390152008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
39016
39017 * include/grub/efi/time.h: Fix a wrong comment.
39018
79ff665f 390192008-02-19 Pavel Roskin <proski@gnu.org>
39020
39021 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
39022 message.
39023
d38e24c2 390242008-02-19 Bean <bean123ch@gmail.com>
39025
39026 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
39027 (aout_mod_SOURCES): New variable.
39028 (aout_mod_CFLAGS): Likewise.
39029 (aout_mod_LDFLAGS): Likewise.
39030 (_bsd_mod_SOURCES): New variable.
39031 (_bsd_mod_CFLAGS): Likewise.
39032 (_bsd_mod_LDFLAGS): Likewise.
39033 (bsd_mod_SOURCES): New variable.
39034 (bsd_mod_CFLAGS): Likewise.
39035 (bsd_mod_LDFLAGS): Likewise.
39036
39037 * include/grub/aout.h: New file.
39038
39039 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
39040
39041 * include/grub/i386/bsd.h: New file.
39042
39043 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
39044 to make it public.
39045
39046 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
39047 function is called, so that it's possible to change it inside the hook.
39048 (grub_elf64_load): Likewise.
39049 (grub_elf_file): Don't close the file if elf header is not found.
39050 (grub_elf_close): Close the file if grub_elf_file fails (The new
39051 grub_elf_file won't close it).
39052 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
39053 (grub_elf64_size): Likewise.
39054
39055 * kern/i386/loader.S (grub_unix_real_boot): New function.
39056
39057 * loader/aout.c: New file.
39058
39059 * loader/i386/bsd.c: New file.
39060
39061 * loader/i386/bsd_normal.c: New file.
39062
39063 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
39064
39065 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 39066 can test other formats.
d38e24c2 39067
b93bdb0f 390682008-02-19 Robert Millan <rmh@aybabtu.com>
39069
39070 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
39071 (grub_gpt_partition_type_empty): Redefine with macro from
39072 `<grub/gpt_partition.h>'.
39073 (gpt_partition_map_iterate): Adjust partition type comparison.
39074
39075 Export `entry' as partmap-specific `part.data' struct.
39076 (grub_gpt_header, grub_gpt_partentry): Move from here ...
39077
39078 * include/grub/gpt_partition.h (grub_gpt_header)
39079 (grub_gpt_partentry): ... to here (new file).
39080
39081 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
39082
39083 (grub_gpt_partition_type_bios_boot): New const variable, defined
39084 with macro from `<grub/gpt_partition.h>'.
39085
39086 (setup): Replace `first_start' with `embed_region', which keeps
39087 track of the embed region (and is partmap-agnostic).
39088
39089 Replace find_first_partition_start() with find_usable_region(),
39090 which finds a usable region for embedding using partmap-specific
39091 knowledge (supports PC/MSDOS and GPT).
39092
39093 Fix all assumptions that the embed region start at sector 1, using
39094 `embed_region.start' from now on. Similarly, use `embed_region.end'
39095 rather than `first_start' to calculate available size.
39096
39097 In grub_util_info() message, replace "into after the MBR" with an
39098 indication of the specific sector our embed region starts at.
39099
66cb40f6 391002008-02-19 Robert Millan <rmh@aybabtu.com>
39101
39102 * DISTLIST: Replace `commands/ieee1275/halt.c' and
39103 `commands/ieee1275/reboot.c' with `commands/halt.c' and
39104 `commands/reboot.c'.
39105 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
39106 (halt_mod_SOURCES): Likewise.
39107 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
39108 (halt_mod_SOURCES): Likewise.
39109
b7202015 391102008-02-17 Christian Franke <franke@computer.org>
39111
39112 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
39113
32b0fc49 391142008-02-17 Robert Millan <rmh@aybabtu.com>
39115
39116 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
39117 set `first_start' to 0 for non-PC/MSDOS partition maps.
39118
aca63502 391192008-02-16 Robert Millan <rmh@aybabtu.com>
39120
39121 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
39122 do not assume partition map is PC/MSDOS before performing checks that
39123 are specific to that layout.
39124
0de8be86 391252008-02-13 Robert Millan <rmh@aybabtu.com>
39126
39127 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
39128 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
39129 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
39130
c3db8364 391312008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
39132
39133 * configure.ac: Only a cosmetic change on the handling of
39134 -fno-stack-protector.
39135
f714229e 391362008-02-12 Alexandre Boeglin <alex@boeglin.org>
39137
c3db8364 39138 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
39139 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
39140 reboot.c.
f714229e 39141 (grub_install_SOURCES): Add halt.mod and reboot.mod.
39142 (halt_mod_SOURCES): New variable.
39143 (halt_mod_CFLAGS): Likewise.
39144 (halt_mod_LDFLAGS): Likewise.
39145 (reboot_mod_SOURCES): Likewise.
39146 (reboot_mod_CFLAGS): Likewise.
39147 (reboot_mod_LDFLAGS): Likewise.
39148
c3db8364 39149 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
39150 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
39151 reboot.c.
f714229e 39152 (halt_mod_SOURCES): Likewise.
39153 (reboot_mod_SOURCES): Likewise.
39154
c3db8364 39155 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
39156 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 39157 (reboot_mod_SOURCES): Likewise.
39158
39159 * commands/i386/pc/reboot.c: merge this file ...
39160
39161 * commands/ieee1275/reboot.c: ... and this file ...
39162
39163 * commands/reboot.c: ... to this file.
c3db8364 39164 Add some precompiler directive to include the correct header for
39165 each machine.
f714229e 39166
39167 * commands/ieee1275/halt.c: move this file ...
39168
39169 * commands/halt.c: ... to here.
c3db8364 39170 Add some precompiler directive to include the correct header for
39171 each machine.
f714229e 39172
39173 * include/grub/efi/efi.h (grub_reboot): New function declaration.
39174 (grub_halt): Likewise.
39175
39176 * kern/efi/efi.c (grub_reboot): New function.
39177 (grub_halt): Likewise.
39178
c74493e0 391792008-02-12 Robert Millan <rmh@aybabtu.com>
39180
39181 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
39182 /dev (like it is done for /dev/mapper). This doesn't provide support
39183 for EVMS, but at least it is now easy to identify the problem when it
39184 arises.
39185
d0db4b04 391862008-02-11 Robert Millan <rmh@aybabtu.com>
39187
39188 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
39189 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
39190 comparing it with -1, not 0.
39191
bf748642 391922008-02-10 Robert Millan <rmh@aybabtu.com>
39193
39194 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
39195 `disk/lvm.c'.
39196 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39197 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
39198
39199 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
39200 `disk/lvm.c' to the end of the list.
39201 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39202 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39203
b5db202a 392042008-02-10 Robert Millan <rmh@aybabtu.com>
39205
39206 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
39207 grub_print_error() instead. This will let user know why we're entering
39208 rescue mode.
39209 Based on suggestions from Sam Morris.
39210
83abee31 392112008-02-10 Alexandre Boeglin <alex@boeglin.org>
39212
39213 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
39214 on remaining N args, instead of "--" arg N times.
39215
78d5a08b 392162008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
39217
39218 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
39219 (fill_with_default_glyph): Changed to use unknown_glyph for fill
39220 pattern for unknown glyphs.
39221
68807e5f 392222008-02-09 Robert Millan <rmh@aybabtu.com>
39223
39224 * configure.ac: Probe for `help2man'.
39225 * Makefile.in (builddir): New variable.
39226 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
39227 or otherwise add a few flags/options to it.
39228 (install-local): For every executable utility or script that is
39229 installed, invoke $(HELP2MAN) to install a manpage based on --help
39230 output.
39231
39232 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
39233 that it doesn't prevent --help from working in build tree.
39234
39235 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
39236 with `bug-grub@gnu.org'.
39237 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
39238 * util/update-grub.in (usage): New function.
39239 Implement proper argument check, with support for --help and --version
39240 (as well as existing -y).
39241
392422008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 39243
39244 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
39245 avoid overwriting previous output.
39246 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
39247
c1962162 392482008-02-09 Robert Millan <rmh@aybabtu.com>
39249
39250 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
39251 drawing the menu.
39252
3dac2e3f 392532008-02-09 Robert Millan <rmh@aybabtu.com>
39254
39255 * commands/sleep.c: New file.
39256 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
39257 (sleep_mod_SOURCES): New variable.
39258 (sleep_mod_CFLAGS): Likewise.
39259 (sleep_mod_LDFLAGS): Likewise.
39260
7a634e08 392612008-02-09 Robert Millan <rmh@aybabtu.com>
39262
39263 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
39264 situations in which we can deduce the RAID size and the superblock
39265 doesn't match it.
39266
b92f0c18 392672008-02-09 Robert Millan <rmh@aybabtu.com>
39268
39269 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
39270 and return a grub_diskmemberlist_t composed of LVM physical volumes.
39271 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
39272
39273 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
39274 and return a grub_diskmemberlist_t composed of physical array members.
39275 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
39276
39277 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
39278 prototype.
39279 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
39280 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
39281 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
39282
39283 * util/grub-probe.c (probe): Move partmap probing code from here ...
39284 (probe_partmap): ... to here.
39285 (probe): Use probe_partmap() once for the disk we're probing, and
39286 additionally, when such disk contains a memberlist() struct member,
39287 once for each disk that is contained in the structure returned by
39288 memberlist().
39289
91a4bf68 392902008-02-09 Robert Millan <rmh@aybabtu.com>
39291
39292 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
39293 environment variable to 'all' in order to obtain debug output from
39294 non-util/ code.
39295 * util/i386/pc/grub-setup.c (main): Likewise.
39296
a96f9caa 392972008-02-08 Robert Millan <rmh@aybabtu.com>
39298
39299 * disk/raid.c (grub_raid_scan_device): Check for
39300 `array->device[sb.this_disk.number]' rather than for
39301 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 39302 guaranteed to be accessible.
a96f9caa 39303
b37a9222 393042008-02-08 Robert Millan <rmh@aybabtu.com>
39305
39306 * disk/raid.c: Update copyright.
39307 * fs/cpio.c: Likewise.
39308 * include/grub/raid.h: Likewise.
39309 * loader/i386/pc/multiboot.c: Likewise.
39310 * util/hostfs.c: Likewise.
39311
5626aee1 393122008-02-08 Robert Millan <rmh@aybabtu.com>
39313
39314 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
39315 to a grub_disk_t array.
39316 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
39317 `device[x]'.
39318 (grub_raid_scan_device): Replace `device[x].name' accesses with
39319 `device[x]->name'. Simplify initialization of `array->device[x]'.
39320
554f0187 393212008-02-08 Robert Millan <rmh@aybabtu.com>
39322
39323 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
39324 grub_dprintf() calls.
39325 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
39326 error message.
39327
1ec8425d 393282008-02-07 Christian Franke <franke@computer.org>
39329
39330 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
39331 instead of fseek and ftell to support large files.
39332 (grub_hostfs_read): Likewise.
39333
f2156fda 393342008-02-07 Robert Millan <rmh@aybabtu.com>
39335
39336 Patch from Jeroen Dekkers.
39337 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 39338 failure, since successfully reading all array members might not be
f2156fda 39339 required.
39340
9216e0e7 393412008-02-06 Robert Millan <rmh@aybabtu.com>
39342
39343 * util/grub-probe.c (probe): Simplify partmap probing (with the
39344 assumption that the first word up to the underscore equals to
39345 the module name).
39346
b0dfd29a 393472008-02-06 Christian Franke <franke@computer.org>
39348
39349 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
39350 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
39351 last block of a cpio or tar stream.
39352 Check for "TRAILER!!!" instead of any empty data
39353 block to detect last block of a cpio stream.
39354 (grub_cpio_dir): Fix constness of variable np.
39355 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
39356 cpio or tar trailer is detected. This fixes a crash
39357 on open of a non existing file.
39358
c32865bf 393592008-02-05 Bean <bean123ch@gmail.com>
39360
39361 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
39362 address of entry.
39363 (grub_multiboot_load_elf64): Likewise.
39364 (grub_multiboot): Initialize mbi structure.
39365
39366 * util/grub-fstest.c: Don't include unused header file script.h.
39367
fe6b695a 39368 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 39369 of file.
39370 (grub_fstest_SOURCES): Likewise.
39371
409480b7 393722008-02-05 Robert Millan <rmh@aybabtu.com>
39373
39374 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
39375 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
39376 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
39377 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
39378
39379 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
39380 (translation_table): Replace hardcoded values with macros
39381 provided by `<grub/term.h>'.
39382
39383 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
39384 (keyboard_map): Correct/add a few values, with macros provided
39385 by `<grub/term.h>'.
39386 (keyboard_map_shift): Zero values that don't differ from their
39387 `keyboard_map' equivalents.
39388 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
39389 Discard the second scan code that is always sent by Caps lock.
39390 Only use `keyboard_map_shift' when it provides a non-zero value,
39391 otherwise fallback to `keyboard_map'.
39392
99fadbaa 393932008-02-04 Bean <bean123ch@gmail.com>
39394
39395 * Makefile.in (enable_grub_fstest): New variable.
39396
39397 * conf/common.rmk (grub_fstest_init.lst): New rule.
39398 (grub_fstest_init.h): Likewise.
39399 (grub_fstest_init.c): Likewise.
39400 (util/grub-fstest.c_DEPENDENCIES): New variable.
39401 (grub_fstest_SOURCES): Likewise.
39402
39403 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
39404
39405 * util/grub-fstest.c: New file.
39406
bf567c50 394072008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
39408
39409 Make grub-setup handle a separate root device.
f19dbdb7 39410
bf567c50 39411 * util/i386/pc/grub-setup.c (setup): Always open the root device,
39412 so that the root device can be compared with the destination
39413 device.
39414 When embedding the core image, if the root and destination devices
39415 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
39416 0xFF.
39417 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 39418
9be6b98b 394192008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
39420
39421 Add support for having a grub directory in a different drive. This
39422 is still only the data handling part.
f19dbdb7 39423
9be6b98b 39424 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
39425 (codestart): Save %dh in GRUB_ROOT_DRIVE.
39426 (grub_root_drive): New variable.
39427
39428 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
39429 instead of GRUB_BOOT_DRIVE to construct a device name. Set
39430 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
39431 as it was.
39432
39433 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
39434
39435 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
39436 macro.
39437 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
39438
39439 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
39440 is bogus, because PXE booting does not specify any drive
39441 correctly.
39442
39443 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
39444 am not sure if this is really correct.
39445
39446 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
39447 is always identical to the boot drive when booting from a CD.
39448
39449 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
39450 longer.
39451 (root_drive): New variable.
39452 (real_start): Unconditionally set %dh to ROOT_DRIVE.
39453 (setup_sectors): Push %dx right after popping it, because %dh will
39454 be modified later.
39455 (copy_buffer): Restore %dx.
39456
e0ca0677 394572008-02-03 Robert Millan <rmh@aybabtu.com>
39458
39459 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
39460 use `cdboot.img' for cdrom images.
39461
3b3f6629 394622008-02-03 Robert Millan <rmh@aybabtu.com>
39463
39464 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
39465 only setup gfxterm when `font' command has succeeded.
39466
d42b3672 394672008-02-03 Robert Millan <rmh@aybabtu.com>
39468
39469 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
39470 (grub_rescue_cmd_multiboot_loader)
39471 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
39472
fa370ea6 394732008-02-03 Pavel Roskin <proski@gnu.org>
39474
e0c5dacb 39475 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 39476 %edx and %esi from stack only after grub_gate_a20() is called.
39477 grub_gate_a20() clobbers %edx.
39478
f2a76e1d 394792008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
39480
39481 * configure.ac (AC_INIT): Bumped to 1.96.
39482
39483 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
39484 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
39485 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
39486 video/readers/png.c.
39487
90fd32d1 394882008-02-03 Bean <bean123ch@gmail.com>
9be665dd 39489
39490 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
39491 (cdboot_img_SOURCES): New variable.
39492 (cdboot_img_ASFLAGS): New variable.
39493 (cdboot_img_LDFLAGS): New variable.
39494
39495 * boot/i386/pc/cdboot.S: New file.
39496
39497 * disk/i386/pc/biosdisk.c (cd_start): New variable.
39498 (cd_count): Likewise.
39499 (grub_biosdisk_get_drive): Add support for cd device.
39500 (grub_biosdisk_call_hook): Likewise.
39501 (grub_biosdisk_iterate): Likewise.
39502 (grub_biosdisk_open): Likewise.
39503 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
39504 (grub_biosdisk_rw): Support reading from cd device.
39505 (GRUB_MOD_INIT): Iterate cd devices.
39506
39507 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
39508 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
39509 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
39510
39511 * kern/i386/pc/init.c (make_install_device): Check for cd device.
39512
4020aa53 395132008-02-02 Robert Millan <rmh@aybabtu.com>
39514
39515 * commands/read.c: New file.
39516 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
39517 (read_mod_SOURCES): New variable.
39518 (read_mod_CFLAGS): Likewise.
39519 (read_mod_LDFLAGS): Likewise.
39520
e03a1132 395212008-02-02 Robert Millan <rmh@aybabtu.com>
39522
39523 * normal/main.c (grub_normal_execute): Check for `menu->size' when
39524 determining whether menu has to be displayed.
39525
58c69220 395262008-02-02 Marco Gerards <marco@gnu.org>
39527
39528 * bus/pci.c: New file.
39529
39530 * include/grub/pci.h: Likewise.
39531
39532 * include/grub/i386/pc/pci.h: Likewise.
39533
39534 * commands/lspci.c: Likewise.
39535
39536 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
39537 `lspci.mod'.
39538 (pci_mod_SOURCES): New variable.
39539 (pci_mod_CFLAGS): Likewise.
39540 (pci_mod_LDFLAGS): Likewise.
39541 (lspci_mod_SOURCES): Likewise.
39542 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 39543 (lspci_mod_LDFLAGS): Likewise.
58c69220 39544
c004e1b4 395452008-02-02 Bean <bean123ch@gmail.com>
39546
39547 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
39548 (grub_ufs_get_file_block): Fix indirect block calculation problem.
39549
39550 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
39551 (grub_xfs_btree_node): New structure.
39552 (grub_xfs_btree_root): New structure.
39553 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
39554 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
39555 (GRUB_XFS_EXTENT_BLOCK): Likewise.
39556 (GRUB_XFS_EXTENT_SIZE): Likewise.
39557 (grub_xfs_read_block): Support btree format type.
39558 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
39559 Use directory block as basic unit.
39560
39561 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
39562
39563 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
39564 __attribute__ ((__regparm__ (1))).
39565
f95562bf 395662008-02-01 Robert Millan <rmh@aybabtu.com>
39567
39568 Correct a mistake in previous commit.
39569
39570 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
39571 top.
39572 (normal/command.c_DEPENDENCIES): New variable.
39573
7d31f41f 395742008-02-01 Robert Millan <rmh@aybabtu.com>
39575
39576 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
39577 top.
39578 (normal/command.c_DEPENDENCIES): New variable.
39579 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
39580 * conf/i386-ieee1275.rmk: Likewise.
39581 * conf/i386-linuxbios.rmk: Likewise.
39582 * conf/i386-pc.rmk: Likewise.
39583 * conf/sparc64-ieee1275.rmk: Likewise.
39584 * conf/powerpc-ieee1275.rmk: Likewise.
39585 (grub_emu_SOURCES): Add `fs/fshelp.c'.
39586
39587 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
39588
60b6be74 395892008-02-01 Robert Millan <rmh@aybabtu.com>
39590
39591 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
39592 call at beginning of function.
39593
078522ab 395942008-01-31 Pavel Roskin <proski@gnu.org>
39595
39596 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 39597 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
39598 (grub_mkrescue_SOURCES): Likewise.
078522ab 39599 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
39600
ccaa8a5f 396012008-01-30 Robert Millan <rmh@aybabtu.com>
39602
39603 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
39604 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
39605 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
39606 (grub_probe_SOURCES): ... to here.
39607
39608 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
39609 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
39610 * conf/i386-ieee1275.rmk: Likewise.
39611 * conf/i386-linuxbios.rmk: Likewise.
39612 * conf/powerpc-ieee1275.rmk: Likewise.
39613
ae5a9cd7 396142008-01-30 Tristan Gingold <gingold@free.fr>
39615
39616 * kern/rescue.c: Silently accept empty lines.
39617
70bc2ef2 396182008-01-29 Bean <bean123ch@gmail.com>
39619
39620 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
39621 (real_code_2): Code cleanup and change comment style.
39622 (move_memory): Avoid using 32-bit address mode.
39623
6a4d50ea 396242008-01-29 Bean <bean123ch@gmail.com>
39625
39626 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
39627 (png_mod_SOURCES): New variable.
39628 (png_mod_CFLAGS): Likewise.
39629 (png_mod_LDFLAGS): Likewise.
39630
39631 * video/readers/png.c: New file.
39632
11cc30ac 396332008-01-28 Robert Millan <rmh@aybabtu.com>
39634
39635 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
39636 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
39637 `ifndef GRUB_MOD_GAP' hack.
39638 * util/elf/grub-mkimage.c (add_segments): Likewise.
39639
3abc589f 396402008-01-27 Robert Millan <rmh@aybabtu.com>
39641
39642 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
39643 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 39644 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 39645
e1907778 396462008-01-27 Robert Millan <rmh@aybabtu.com>
39647
39648 Get grub-emu to build again (including parallel builds).
39649
39650 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
39651 Split into ...
39652 (util/grub-emu.c_DEPENDENCIES): ... this, ...
39653 (normal/execute.c_DEPENDENCIES): ... this, ...
39654 (grub-emu_DEPENDENCIES): ... and this.
39655
39656 * conf/i386-efi.rmk: Likewise.
39657 * conf/i386-linuxbios.rmk: Likewise.
39658 * conf/i386-ieee1275.rmk: Likewise.
39659 * conf/powerpc-ieee1275.rmk: Likewise.
39660 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
39661
2216b101 396622008-01-27 Robert Millan <rmh@aybabtu.com>
39663
39664 * NEWS: Add a few items.
39665
f75172d9 396662008-01-27 Robert Millan <rmh@aybabtu.com>
39667
39668 Fix parallel builds with grub-emu. Based on earlier commit for
39669 grub-probe and grub-setup.
39670
39671 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39672 (util/grub-emu.c_DEPENDENCIES): ... this.
39673 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39674 (util/grub-emu.c_DEPENDENCIES): ... this.
39675 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39676 (util/grub-emu.c_DEPENDENCIES): ... this.
39677 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39678 (util/grub-emu.c_DEPENDENCIES): ... this.
39679 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
39680 (util/grub-emu.c_DEPENDENCIES): ... this.
39681
3f51de77 396822008-01-27 Pavel Roskin <proski@gnu.org>
39683
39684 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
39685 to create a gap between _end and the modules added to the image
39686 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
39687 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
39688 * util/elf/grub-mkimage.c (add_segments): Likewise.
39689
2033f53e 396902008-01-26 Pavel Roskin <proski@gnu.org>
39691
39692 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
39693 just return an error.
39694
22da1f6f 396952008-01-26 Bean <bean123ch@gmail.com>
39696
39697 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
39698 (grub_reiserfs_get_item): Save offset of the next item.
39699 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
39700
2a9525e6 397012008-01-25 Robert Millan <rmh@aybabtu.com>
39702
39703 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
39704 make all filesystem sources appear together (possibly fixing omissions
39705 while at it).
39706 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39707 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39708 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
39709 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39710
39711 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
39712 add `kern/file.c'.
39713 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
39714 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
39715 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
39716 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
39717
39718 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
39719 (probe): Add a sanity check to make sure of our ability to read
39720 requested files when probing for filesystem type.
39721
39722 * genmk.rb: Update copyright year (2007).
39723
39724 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
39725 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
39726 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
39727 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
39728 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
39729 : Remove function prototypes.
39730
b95f71b5 397312008-01-25 Robert Millan <rmh@aybabtu.com>
39732
39733 Revert my previous commits (based on wrong assumption of how grub_errno
39734 works).
39735
fe6b695a 39736 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 39737 * kern/file.c (grub_file_open): Likewise.
39738
d08bbb49 397392008-01-24 Pavel Roskin <proski@gnu.org>
39740
39741 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
39742 that hang if GRUB tries to setup colors.
39743 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
39744 colors for firmwares that don't support it.
39745 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
39746 Recognize Open Hack'Ware, set flags to work around its
39747 limitations.
39748
605e36ed 397492008-01-24 Robert Millan <rmh@aybabtu.com>
39750
39751 * kern/file.c (grub_file_open): Do not account previous failures of
39752 unrelated functions when grub_errno is checked for.
39753 Reported by Oleg Strikov.
39754
bac332a1 397552008-01-24 Bean <bean123ch@gmail.com>
39756
39757 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
39758 (grub_ufs_sblock): New member volume name.
39759 (grub_ufs_find_file): Fix string copy bug.
39760 (grub_ufs_label): Implement this function properly.
39761
39762 * fs/hfs.c (grub_hfs_cnid_type): New enum.
39763 (grub_hfs_iterate_records): Use the correct file number for extents
39764 and catalog file. Fix problem in next index calculation.
39765 (grub_hfs_find_node): Replace recursive function call with loop.
39766 (grub_hfs_iterate_dir): Replace recursive function call with loop.
39767
15c80c09 397682008-01-23 Robert Millan <rmh@aybabtu.com>
39769
39770 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
39771 `<grub/symbol.h>' and `<grub/multiboot.h>'.
39772 (grub_multiboot2_real_boot): New function prototype.
39773
39774 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
39775 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
39776
39777 * kern/i386/ieee1275/init.c (grub_os_area_addr)
39778 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
39779
305338fd 397802008-01-23 Robert Millan <rmh@aybabtu.com>
39781
39782 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
39783 #ifdef'ed out grub_printf().
39784
3ea52685 397852008-01-23 Robert Millan <rmh@aybabtu.com>
39786
39787 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
39788 grub_dprintf calls, since they make "debug=all" mode unusable.
39789 (grub_console_checkkey): Likewise.
39790
5882ae4b 397912008-01-23 Robert Millan <rmh@aybabtu.com>
39792
39793 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
39794 `term/i386/pc/at_keyboard.c'.
39795 (pkglib_MODULES): Add `serial.mod'.
39796 (serial_mod_SOURCES): New variable.
39797 (serial_mod_CFLAGS): Likewise.
39798 (serial_mod_LDFLAGS): Likewise.
39799
39800 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
39801 `<grub/powerpc/ieee1275/console.h>'.
39802 (grub_keyboard_controller_init): New function prototype.
39803 (grub_console_checkkey): Likewise.
39804 (grub_console_getkey): Likewise.
39805
39806 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
39807 keyboard on i386.
39808
39809 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
39810 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
39811
06ab5303 398122008-01-23 Robert Millan <rmh@aybabtu.com>
39813
39814 * kern/i386/pc/init.c (make_install_device): When memdisk image is
39815 present, "(memdisk)/boot/grub" becomes the default prefix.
39816
39817 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
39818 a memdisk tarball with all the modules. Add --overlay=DIR option that
39819 allows users to overlay additional files into the image.
39820
dbb475a4 398212008-01-23 Robert Millan <rmh@aybabtu.com>
39822
39823 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
39824 and `machine/memory.h'.
39825 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
39826 (_multiboot_mod_SOURCES): New variable.
39827 (_multiboot_mod_CFLAGS): Likewise.
39828 (_multiboot_mod_LDFLAGS): Likewise.
39829 (multiboot_mod_SOURCES): Likewise.
39830 (multiboot_mod_CFLAGS): Likewise.
39831 (multiboot_mod_LDFLAGS): Likewise.
39832
39833 * include/grub/i386/ieee1275/loader.h: New file.
39834
39835 * include/grub/i386/ieee1275/machine.h: Likewise.
39836
39837 * include/grub/i386/ieee1275/memory.h: Likewise.
39838
39839 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
39840 variable declaration.
39841 (grub_os_area_size): Likewise.
39842
39843 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
39844 (grub_lower_mem, grub_upper_mem): New variables.
39845 (grub_stop_floppy): New function (just to make
39846 grub_multiboot2_real_boot() happy).
39847
39848 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
39849 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
39850 (grub_stop): New function.
39851 Include `"../realmode.S"' and `"../loader.S"'.
39852
39853 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
39854 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
39855
39856 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
39857 rely on grub_multiboot2_real_boot() for final boot.
39858
25638629 398592008-01-22 Robert Millan <rmh@aybabtu.com>
39860
39861 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
39862 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
39863 device that doesn't look like an SD card.
39864 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
39865 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
39866 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
39867 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
39868 found.
39869
9dad816d 398702008-01-22 Robert Millan <rmh@aybabtu.com>
39871
39872 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
39873 avoid claiming over our own code.
39874
34842f2d 398752008-01-22 Bean <bean123ch@gmail.com>
39876
39877 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
39878 (jpeg_mod_SOURCES): New variable.
39879 (jpeg_mod_CFLAGS): Likewise.
39880 (jpeg_mod_LDFLAGS): Likewise.
39881
39882 * video/readers/jpeg.c : New file.
39883
44023a28 398842008-01-22 Bean <bean123ch@gmail.com>
39885
39886 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
39887 there are no more items.
39888
bc2d8ac6 398892008-01-21 Robert Millan <rmh@aybabtu.com>
39890
39891 * kern/mm.c (grub_mm_init_region): Improve debug message.
39892
261bd4bc 398932008-01-21 Robert Millan <rmh@aybabtu.com>
39894
39895 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
39896 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
39897 address.
39898 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
39899 a C macro.
39900 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
39901 Indicates start of upper memory.
39902 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
39903 (generate_image): Abort when image size is big enough to corrupt
39904 upper memory.
39905
39906 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
39907 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
39908 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
39909 instead of hardcoding 0xA0000.
39910 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
39911 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
39912 instead of hardcoding 0xA0000.
39913
f970b55e 399142008-01-21 Robert Millan <rmh@aybabtu.com>
39915
39916 * disk/memdisk.c (memdisk_size): New variable.
39917 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
39918 `memdisk_size'.
39919 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
39920 image to dynamic memory.
39921 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
39922 `memdisk_size'. Free memdisk block.
39923
1a8b0526 399242008-01-21 Robert Millan <rmh@aybabtu.com>
39925
39926 Fix detection of very small filesystems (like tar).
39927
39928 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
39929 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
39930 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
39931 a problem with this disk).
39932
6e9b4aab 399332008-01-21 Robert Millan <rmh@aybabtu.com>
39934
39935 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
39936 on grub_biosdisk_rw_standard() error.
39937
0d8837b2 399382008-01-21 Robert Millan <rmh@aybabtu.com>
39939
39940 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
39941 recent changes.
39942 * kern/elf.c: Likewise.
39943 * kern/ieee1275/ieee1275.c: Likewise.
39944 * kern/powerpc/ieee1275/openfw.c: Likewise.
39945 * term/ieee1275/ofconsole.c: Likewise.
39946
ffd36e34 399472008-01-21 Robert Millan <rmh@aybabtu.com>
39948
39949 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
39950
3f0093d0 39951 * include/grub/kernel.h (grub_arch_memdisk_addr)
39952 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 39953
3f0093d0 39954 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
39955 (grub_arch_memdisk_size): ... to here.
ffd36e34 39956
6c391b21 399572008-01-21 Robert Millan <rmh@aybabtu.com>
39958
39959 Mostly based on bugfix from Bean.
39960
39961 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
39962 attribute with hook() parameter.
39963 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
39964 declaration.
39965 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
39966 attribute with hook() parameter.
39967 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
39968 declaration.
39969
55a581dc 399702008-01-21 Robert Millan <rmh@aybabtu.com>
39971
39972 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
39973 (pkglib_MODULES): Add `memdisk.mod'.
39974 (memdisk_mod_SOURCES): New variable.
39975 (memdisk_mod_CFLAGS): Likewise.
39976 (memdisk_mod_LDFLAGS): Likewise.
39977
39978 * disk/memdisk.c: New file.
39979
39980 * include/grub/disk.h (grub_disk_dev_id): Add
39981 `GRUB_DISK_DEVICE_MEMDISK_ID'.
39982
39983 * include/grub/i386/pc/kernel.h
39984 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
39985 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
39986 (grub_kernel_image_size): New variable declaration.
39987 (grub_total_module_size): Likewise.
39988 (grub_memdisk_image_size): Likewise.
39989
39990 * include/grub/i386/pc/memory.h
39991 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
39992
39993 * include/grub/kernel.h: Include `<grub/symbol.h>'.
39994 (grub_arch_memdisk_addr): New variable declaration.
39995 (grub_arch_memdisk_size): Likewise.
39996
39997 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
39998 (grub_arch_memdisk_size): Likewise.
39999
40000 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
40001 (codestart): Replace hardcoded `0x100000' with
40002 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
40003
40004 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
40005 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
40006 not NULL, append the contents of the file it refers to, at the end of
40007 the compressed kernel image. Initialize `grub_memdisk_image_size'
40008 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
40009 (options): Add "memdisk"|'m' option.
40010 (main): Parse --memdisk|-m option, and pass user-provided path as
40011 parameter to generate_image().
40012
3d7f54c9 400132008-01-20 Robert Millan <rmh@aybabtu.com>
40014
40015 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
40016 grub_dprintf() calls from here ...
40017 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
40018
0bf74728 400192008-01-20 Robert Millan <rmh@aybabtu.com>
40020
40021 Fix detection of "real mode" when /options/real-mode? doesn't exist.
40022
40023 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
40024 declaration.
40025 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
40026 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
40027 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 40028 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 40029 property).
40030 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
40031 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
40032
33bf70a7 400332008-01-19 Robert Millan <rmh@aybabtu.com>
40034
fe6b695a 40035 Get rid of confusing function (superseded by
33bf70a7 40036 `grub_ieee1275_get_integer_property')
40037 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
40038 prototype.
40039 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
40040 function.
40041 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
40042 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 40043 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 40044
e2da7d26 400452008-01-19 Robert Millan <rmh@aybabtu.com>
40046
40047 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
40048 command after "shut-down", since implementations differ on which
40049 the command for halt is.
40050
59f1fd8d 400512008-01-19 Robert Millan <rmh@aybabtu.com>
40052
40053 * include/grub/i386/linuxbios/console.h: Add header protection.
40054 (grub_keyboard_controller_init): New function prototype.
40055 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
40056 (KEYBOARD_COMMAND_READ): Likewise.
40057 (KEYBOARD_COMMAND_WRITE): Likewise.
40058 (KEYBOARD_SCANCODE_SET1): Likewise.
40059 (grub_keyboard_controller_write): New function.
40060 (grub_keyboard_controller_read): Likewise.
40061 (grub_keyboard_controller_init): Likewise.
40062
40063 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
40064 (grub_console_init): On coreboot/LinuxBIOS, call
40065 grub_keyboard_controller_init().
40066
5f5a7c15 400672008-01-19 Robert Millan <rmh@aybabtu.com>
40068
40069 PowerPC changes provided by Pavel Roskin.
40070
40071 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
40072 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
40073 don't rely on cmain() doing it.
40074 * kern/i386/ieee1275/startup.S (_start): Store %eax in
40075 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
40076
1210e168 400772008-01-16 Robert Millan <rmh@aybabtu.com>
40078
40079 * include/grub/i386/linuxbios/memory.h
40080 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
40081 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
40082 receive `table_header' as argument. Instead, probe for it in the
40083 known memory ranges where it can be present.
40084 (grub_available_iterate): Do not pass a fixed `table_header' address
40085 to grub_linuxbios_table_iterate().
40086
3d04eab8 400872008-01-15 Robert Millan <rmh@aybabtu.com>
40088
40089 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
40090 * conf/i386-ieee1275.rmk: New file.
40091 * include/grub/i386/ieee1275/console.h: Likewise.
40092 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
40093 * include/grub/i386/ieee1275/kernel.h: Likewise.
40094 * include/grub/i386/ieee1275/time.h: Likewise.
40095 * kern/i386/ieee1275/init.c: Likewise.
40096 * kern/i386/ieee1275/startup.S: Likewise.
40097
d1bc1b73 400982008-01-15 Robert Millan <rmh@aybabtu.com>
40099
40100 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
40101 when pointers are 32-bit (but still do set it to one when they are
40102 64-bit).
40103
66a65807 401042008-01-15 Robert Millan <rmh@aybabtu.com>
40105
40106 * include/grub/ieee1275/ieee1275.h
40107 (grub_ieee1275_get_integer_property): New function prototype.
40108
40109 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
40110 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 40111 grub_ieee1275_get_property() to handle endianness.
66a65807 40112
40113 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
40114 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 40115 where appropriate.
66a65807 40116 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
40117 (grub_map): Likewise.
40118 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
40119
a83ccafd 401202008-01-15 Bean <bean123ch@gmail.com>
40121
40122 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
40123 (grub_script_execute_cmdline): Reset grub_errno.
40124
40125 * normal/main.c (read_config_file): Reset grub_errno.
40126
40127 * normal/parse.y (script_init): New.
40128 (script): Move function and menuentry here.
40129 (delimiter): New.
40130 (command): Add delimiter at the end of command.
40131 (commands): Adjust to match the new command.
40132 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 40133 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 40134 (if): Use the new commands.
40135
40136 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
40137
df6ecfc6 401382008-01-15 Robert Millan <rmh@aybabtu.com>
40139
40140 * normal/menu.c (run_menu): Move timeout message from here ...
40141 (print_timeout): ... to here.
40142 (run_menu): Use print_timeout() once during initial draw to print
40143 the whole message, and again in every clock tick to update only
40144 the number of seconds.
40145
87ae25eb 401462008-01-15 Robert Millan <rmh@aybabtu.com>
40147
40148 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
40149 actual size of `available' from grub_ieee1275_get_property(), and
40150 restrict parsing to that bound.
40151
47bf09a4 401522008-01-15 Christian Franke <franke@computer.org>
40153
40154 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
40155 (argp_program_version): Remove variable.
40156 (argp_program_bug_address): Likewise.
40157 (options): Convert from struct argp_option to struct option.
40158 (struct arguments): Remove.
40159 (parse_opt): Remove.
40160 (usage): New function.
40161 (main): Replace struct args members by simple variables.
40162 Replace argp_parse() by getopt_long().
40163 Add switch to evaluate options.
40164 Add missing "(...)" around root_dev in prefix string.
40165
c86f1469 401662008-01-14 Robert Millan <rmh@aybabtu.com>
40167
40168 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
40169 for grub_ieee1275_exit(), in order to improve portability.
40170
e622c559 401712008-01-14 Robert Millan <rmh@aybabtu.com>
40172
40173 * util/grub.d/10_linux.in (prefix): Define.
40174 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
40175
44cb1ec8 401762008-01-13 Pavel Roskin <proski@gnu.org>
40177
40178 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
40179 grub_errno if no errors have been detected.
40180
1eb8c802 401812008-01-12 Robert Millan <rmh@aybabtu.com>
40182
40183 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
40184 (grub_util_get_dev_abstraction): New function prototype.
40185
40186 * util/getroot.c: Include `<grub/util/getroot.h>'
40187 (grub_util_get_grub_dev): Move detection of abstraction type to ...
40188 (grub_util_get_dev_abstraction): ... here (new function).
40189
40190 * util/grub-probe.c: Convert PRINT_* to an enum. Add
40191 `PRINT_ABSTRACTION'.
40192 (probe): Probe for abstraction type when requested.
40193 (main): Understand `--target=abstraction'.
40194
40195 * util/i386/efi/grub-install.in: Add abstraction module to core
40196 image when it is found to be necessary.
40197 * util/i386/pc/grub-install.in: Likewise.
40198 * util/powerpc/ieee1275/grub-install.in: Likewise.
40199
40200 * util/update-grub_lib.in (font_path): Return system path without
40201 converting to GRUB path.
40202 * util/update-grub.in: Convert system path returned by font_path()
40203 to a GRUB path. Use `grub-probe -t abstraction' to determine what
40204 abstraction module is needed for loading fonts (if any). Export
40205 that as `GRUB_PRELOAD_MODULES'.
40206 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
40207 insmod commands).
40208
52bd3de9 402092008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
40210
40211 Remove some unused code from reiserfs.
f19dbdb7 40212
52bd3de9 40213 * fs/reiserfs.c (struct grub_reiserfs_key)
40214 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
40215 (struct grub_reiserfs_node_body): Removed.
40216 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
40217 Likewise.
40218 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
40219 Likewise.
40220 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
40221 Likewise.
40222 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
40223 Likewise.
40224 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
40225 Likewise.
40226 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
40227 Likewise.
40228 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
40229 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
40230 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
40231
2f80039d 402322008-01-10 Robert Millan <rmh@aybabtu.com>
40233
40234 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
40235 Determines if a file is garbage left by packaging systems, etc.
40236 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
40237 for processing /etc/grub.d scripts.
40238 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
40239 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
40240 as a condition for processing Linux images.
40241
87888032 402422008-01-10 Pavel Roskin <proski@gnu.org>
40243
40244 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
40245 to compile reiserfs.c on PowerPC.
40246
7e54fced 402472008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 40248
40249 * kern/device.c (grub_device_iterate): Do not abort device iteration
40250 when one of the devices cannot be opened.
40251 * kern/disk.c (grub_disk_open): Do not account previous failures of
40252 unrelated functions when grub_errno is checked for.
40253
5aa541e6 402542008-01-08 Robert Millan <rmh@aybabtu.com>
40255
40256 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
40257 `! grub_linux_is_bzimage', change order of address comparison to make
40258 it more intuitive, and improve "too big zImage" error message.
40259
7076340d 402602008-01-08 Robert Millan <rmh@aybabtu.com>
40261
40262 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
40263 `$(update-grub_DATA)'.
40264 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
40265 targets.
40266
9ca70333 402672008-01-07 Robert Millan <rmh@aybabtu.com>
40268
40269 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
40270 which instruction is modified by grub-setup during installation
40271 (since it wasn't obvious by only looking at this file).
40272
38ccf575 402732008-01-07 Robert Millan <rmh@aybabtu.com>
40274
40275 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
40276 listing actual TODO items.
40277
f5db4291 402782008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40279
868967cf 40280 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
40281 correctly.
40282 (grub_reiserfs_get_key_offset): Likewise.
40283 (grub_reiserfs_set_key_offset): Likewise.
40284 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 40285 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 40286
40287 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
40288 better to remove the bitfield version completely.
f19dbdb7 40289
868967cf 402902008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 40291
f5db4291 40292 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
40293 allocated from the heap, due to the fshelp implementation.
40294 (grub_reiserfs_dir): Free NODE, due to the same reason.
40295
492e6d9d 402962008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40297
40298 Mostly from Vincent Pelletier:
f19dbdb7 40299
492e6d9d 40300 * fs/reiserfs.c: New file.
f19dbdb7 40301
492e6d9d 40302 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
40303 (reiserfs_mod_SOURCES): New variable.
40304 (reiserfs_mod_CFLAGS): Likewise.
40305 (reiserfs_mod_LDFLAGS): Likewise.
40306
40307 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
40308 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
40309 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
40310 normal/color.c.
40311
9ce3e7c1 403122008-01-06 Robert Millan <rmh@aybabtu.com>
40313
40314 * normal/color.c: Remove `<grub/env.h>'.
40315
f3b58148 403162008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
40317
40318 * include/grub/normal.h: Include <grub/env.h>.
40319
7ac3bcfa 403202008-01-05 Robert Millan <rmh@aybabtu.com>
40321
40322 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
40323 usage example with `(hd0,1)'.
fb358190 40324 Reported by Samuel Thibault.
7ac3bcfa 40325
c8ee99d7 403262008-01-05 Robert Millan <rmh@aybabtu.com>
40327
40328 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
40329 (grub_linux_boot_zimage): Rename to ...
40330 (grub_linux_boot): ... this.
40331 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
40332 (grub_linux_boot_zimage): Conditionalize zImage copy.
40333
40334 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
40335 (grub_linux_boot_bzimage): Remove prototype.
40336 (grub_linux_boot_zimage): Rename to ...
40337 (grub_linux_boot): ... this.
40338
40339 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
40340 (grub_linux_boot): Remove function.
40341
0ece25b1 403422008-01-05 Robert Millan <rmh@aybabtu.com>
40343
40344 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
40345 (grub_env_write_color_highlight): Likewise.
40346 (grub_wait_after_message): Likewise.
40347
40348 * normal/color.c: New file.
40349
40350 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
40351 (normal_mod_DEPENDENCIES): Likewise.
40352
40353 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
40354 (normal_mod_DEPENDENCIES): Likewise.
40355
40356 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
40357 (normal_mod_DEPENDENCIES): Likewise.
40358
40359 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
40360 (normal_mod_DEPENDENCIES): Likewise.
40361
40362 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
40363 for waiting after a message is printed.
40364 * normal/main.c (read_config_file): Likewise.
40365 (grub_normal_init): Register grub_env_write_color_normal() and
40366 grub_env_write_color_highlight() hooks. Mark `color_normal' and
40367 `color_highlight' variables as global.
40368
40369 * normal/menu.c (grub_wait_after_message): New function.
40370 (grub_color_menu_normal): New variable. Replaces ...
40371 (GRUB_COLOR_MENU_NORMAL): ... this macro.
40372 (grub_color_menu_highlight): New variable. Replaces ...
40373 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
40374 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
40375 `GRUB_TERM_COLOR_STANDARD'.
40376 (print_message): Use `grub_setcolorstate' to reload colors. Rename
40377 `normal_code' and `highlight_code' to `old_color_normal' and
40378 `old_color_highlight', respectively.
40379 (grub_menu_init_page): Update colors when drawing the menu, based on
40380 `menu_color_normal' and `menu_color_highlight' variables.
40381 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
40382 a message is printed.
40383
182dd4e5 403842008-01-05 Robert Millan <rmh@aybabtu.com>
40385
40386 * kern/env.c (grub_env_context_open): Propagate hooks for global
40387 variables to new context.
40388
40389 * kern/main.c (grub_set_root_dev): Export `root' variable.
40390
ddf8f6ad 403912008-01-05 Robert Millan <rmh@aybabtu.com>
40392
40393 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 40394 discs unconditionally, since udev and others have options to provide
ddf8f6ad 40395 them.
40396
d8b43d9b 403972008-01-05 Robert Millan <rmh@aybabtu.com>
40398
40399 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
40400
2bff2de3 404012008-01-04 Christian Franke <franke@computer.org>
40402
40403 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
40404 of eisa_mmap.
40405
97eab917 404062008-01-03 Pavel Roskin <proski@gnu.org>
40407
40408 * kern/i386/linuxbios/init.c: Put "void" to all function
40409 declarations with no arguments.
40410 * kern/powerpc/ieee1275/init.c: Likewise.
40411 * term/i386/pc/at_keyboard.c: Likewise.
40412 * term/i386/pc/vga_text.c: Likewise.
40413 * util/grub-mkdevicemap.c: Likewise.
40414
b9416d00 404152008-01-02 Robert Millan <rmh@aybabtu.com>
40416
40417 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
40418 message when loaded image is out of bounds.
40419 (grub_multiboot_load_elf64): Likewise.
40420
92695df9 404212008-01-02 Pavel Roskin <proski@gnu.org>
40422
40423 * util/grub.d/10_linux.in: Try version without ".old" when
40424 looking for initrd. It's better to use initrd from the newer
40425 kernel of the same version than no initrd at all.
40426
d98d9cad 404272008-01-01 Robert Millan <rmh@aybabtu.com>
40428
40429 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
40430
dbfdce36 404312008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
40432
f19dbdb7 40433 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 40434 grub_video_get_active_render_target.
40435 (grub_video_adapter): Added unmap_color and get_active_render_target.
40436
f19dbdb7 40437 * video/video.c: Added grub_video_unmap_color and
dbfdce36 40438 grub_video_get_active_render_target.
40439 (grub_video_get_info): Changed method to accept NULL pointer as an
40440 argument to allow detection of active video adapter.
40441
40442 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
40443 grub_video_vbe_unmap_color_int.
40444 Added grub_video_vbe_unmap_color and
40445 grub_video_vbe_get_active_render_target.
40446 (grub_video_vbe_adapter): Added unmap_color and
40447 get_active_render_target.
40448
f19dbdb7 40449 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 40450 with grub_video_vbe_unmap_color_int.
40451
40452 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
40453 (DEFAULT_NORMAL_COLOR): Likewise.
40454 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
40455 (DEFAULT_FG_COLOR): Removed.
40456 (DEFAULT_BG_COLOR): Likewise.
40457 (DEFAULT_CURSOR_COLOR): Changed value.
40458 (grub_virtual_screen): Added standard_color_setting,
40459 normal_color_setting, highlight_color_setting and term_color.
40460 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
40461 (bitmap_width): Added.
40462 (bitmap_height): Likewise.
40463 (bitmap): Likewise.
40464 (set_term_color): Likewise.
40465 (grub_virtual_screen_setup): Changed to use new terminal coloring
40466 settings.
40467 (grub_gfxterm_init): Added init for bitmap.
40468 (grub_gfxterm_fini): Added destroy for bitmap.
40469 (redraw_screen_rect): Updated to use background bitmap and new
40470 terminal coloring.
40471 (scroll_up): Added optimization for case when there is no bitmap.
40472 (grub_gfxterm_cls): Fixed to use correct background color.
40473 (grub_virtual_screen_setcolorstate): Changed to use new terminal
40474 coloring.
40475 (grub_virtual_screen_setcolor): Likewise.
40476 (grub_virtual_screen_getcolor): Added.
40477 (grub_gfxterm_background_image_cmd): Likewise.
40478 (grub_video_term): Added setcolor and getcolor.
40479 (MOD_INIT): Added registration of background_image command.
40480 (MOD_TERM): Added unregistration for background_image command.
40481
c3c20931 404822007-12-30 Pavel Roskin <proski@gnu.org>
40483
40484 * loader/multiboot_loader.c: Fix multiboot command
40485 unregistration. Fix all typos in the word "multiboot".
40486
df266716 404872007-12-29 Pavel Roskin <proski@gnu.org>
94239199 40488
40489 * util/grub.d/10_linux.in: Refactor search for initrd. Add
40490 support for initrd names used in Fedora.
40491
fc6e896c 404922007-12-26 Bean <bean123ch@gmail.com>
40493
40494 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
40495 (cpio_mod_SOURCES): New variable.
40496 (cpio_mod_CFLAGS): Likewise.
40497 (cpio_mod_LDFLAGS): Likewise.
40498
40499 * fs/cpio.c: New file.
40500
40501 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
40502
40503 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40504
40505 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
40506
40507 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40508
533110ad 405092007-12-25 Robert Millan <rmh@aybabtu.com>
40510
40511 * include/grub/term.h (struct grub_term): Add `getcolor' function.
40512 (grub_getcolor): New function.
40513
40514 * kern/term.c (grub_getcolor): New function.
40515 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
40516 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
40517 (print_entry): Set normal and highlight colors to
40518 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
40519 respectively, before printing and restore them to old
40520 values afterwards.
40521 (grub_menu_init_page): Likewise. Fill an additional colored space
40522 that would otherwise be left blank.
40523
40524 * term/efi/console.c (grub_console_getcolor): New function.
40525 (struct grub_console_term.getcolor): New variable.
40526 * term/i386/pc/console.c (grub_console_getcolor): New function.
40527 (struct grub_console_term.getcolor): New variable.
40528 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
40529 (struct grub_console_term.getcolor): New variable.
40530
40531 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
40532 (struct grub_console_term.setcolor): Remove variable.
40533 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
40534 (struct grub_console_term.setcolor): Remove variable.
40535 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
40536 (struct grub_console_term.setcolor): Remove variable.
40537 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
40538 (struct grub_console_term.setcolor): Remove variable.
40539
4931827f 405402007-12-25 Robert Millan <rmh@aybabtu.com>
40541
40542 * configure.ac: Search for possible unifont.hex locations, and
40543 define UNIFONT_HEX if found.
40544
40545 * Makefile.in (UNIFONT_HEX): Define variable.
40546 (DATA): Rename to ...
40547 (PKGLIB): ... this. Update all users.
40548 (PKGDATA): New variable.
40549 (pkgdata_IMAGES): Rename to ...
40550 (pkglib_IMAGES): ... this. Update all users.
40551 (pkgdata_MODULES): Rename to ...
40552 (pkglib_MODULES): ... this. Update all users.
40553 (pkgdata_PROGRAMS): Rename to ...
40554 (pkglib_PROGRAMS): ... this. Update all users.
40555 (pkgdata_DATA): Rename to ...
40556 (pkglib_DATA): ... this. Update all users.
40557 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
40558 (unicode.pff, ascii.pff): New rules.
40559 (all-local): Add `$(PKGDATA)' dependency.
40560 (install-local): Process `$(PKGDATA)'.
40561
40562 * util/update-grub_lib.in (font_path): Search for *.pff files in
40563 a few more locations, including `${pkgdata}'.
40564
57e57e31 405652007-12-23 Robert Millan <rmh@aybabtu.com>
40566
40567 Patch from Bean <bean123ch@gmail.com>:
40568 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
40569 `size'.
40570
4bc72aa9 405712007-12-21 Bean <bean123ch@gmail.com>
40572
40573 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
40574 (ntfscomp_mod_SOURCES): New variable.
40575 (ntfscomp_mod_CFLAGS): Likewise.
40576 (ntfscomp_mod_LDFLAGS): Likewise.
40577
40578 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
40579 (grub_probe_SOURCES): Likewise.
40580 (grub_emu_SOURCES): Likewise.
40581
40582 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
40583 (grub_emu_SOURCES): Likewise.
40584
40585 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
40586 (grub_emu_SOURCES): Likewise.
40587
40588 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
40589 (grub_emu_SOURCES): Likewise.
40590
40591 * fs/ntfs.c (grub_ntfscomp_func): New variable.
40592 (read_run_list): Renamed to grub_ntfs_read_run_list.
40593 (decomp_nextvcn): Moved to ntfscomp.c.
40594 (decomp_getch): Likewise.
40595 (decomp_get16): Likewise.
40596 (decomp_block): Likewise.
40597 (read_block): Likewise.
40598 (read_data): Partially moved to ntfscomp.c.
40599 (fixup): Change unsigned to grub_uint16_t.
40600 (read_mft): Change unsigned long to grub_uint32_t.
40601 (read_attr): Likewise.
40602 (read_data): Likewise.
40603 (read_run_data): Likewise.
40604 (read_run_list): Likewise.
40605 (read_mft): Likewise.
40606
40607 * fs/ntfscomp.c: New file.
40608
40609 * include/grub/ntfs.h: New file.
40610
af680a87 406112007-12-16 Robert Millan <rmh@aybabtu.com>
40612
40613 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
40614 IDE disk check, since Linux is known to support 20 IDE disks.
40615 Reported by Colin Watson.
40616
84be7599 406172007-12-15 Bean <bean123ch@gmail.com>
40618
40619 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
40620 (lnxboot_img_SOURCES): New variable.
40621 (lnxboot_img_ASFLAGS): Likewise.
40622 (lnxboot_img_LDFLAGS): Likewise.
40623
40624 * boot/i386/pc/lnxboot.S: New file.
40625
6af9db01 406262007-11-24 Pavel Roskin <proski@gnu.org>
40627
40628 * configure.ac: Test if '--build-id=none' is supported by the
40629 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
40630 objcopy to generate incorrect binary files (binutils
40631 2.17.50.0.18-1 as shipped by Fedora 8).
40632 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
40633 linking, so that build ID doesn't break the test.
40634
7361cfe6 406352007-11-24 Pavel Roskin <proski@gnu.org>
40636
40637 * include/grub/i386/time.h: use "void" in the argument list
40638 of grub_cpu_idle().
40639 * include/grub/powerpc/time.h: Likewise.
40640 * include/grub/sparc64/time.h: Likewise.
40641
1593e10c 406422007-11-18 Christian Franke <franke@computer.org>
40643
40644 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
40645 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
40646 This fixes the problem that function keys did not work in grub-emu.
40647
3b8db1a8 406482007-11-18 Christian Franke <franke@computer.org>
40649
40650 * disk/host.c (grub_host_open): Remove attribute unused from
40651 name parameter. Add check for "host". This fixes the problem
40652 that grub-emu does not find partitions.
40653
2e29408d 406542007-11-18 Christian Franke <franke@computer.org>
40655
40656 * util/hostfs.c (is_dir): New function.
40657 (grub_hostfs_dir): Handle missing dirent.d_type case.
40658 (grub_hostfs_read): Add missing fseek().
40659 (grub_hostfs_label): Clear label pointer. This fixes a crash
40660 of grub-emu on "ls (host)".
40661
398cd047 406622007-11-18 Christian Franke <franke@computer.org>
40663
40664 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
40665 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
40666 to 64 bit boundary by default.
40667
c405c391 406682007-11-18 Bean <bean123ch@gmail.com>
40669
40670 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
40671 (hexdump_mod_SOURCES): New variable.
40672 (hexdump_mod_CFLAGS): Likewise.
40673 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 40674
c405c391 40675 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
40676
40677 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
40678
40679 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
40680
40681 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
40682
40683 * include/grub/hexdump.h: New file.
40684
40685 * commands/hexdump.c: New file.
40686
5cced7fd 406872007-11-10 Robert Millan <rmh@aybabtu.com>
40688
40689 * commands/i386/pc/play.c (beep_off): Switch order of arguments
40690 in grub_outb() calls.
40691 (beep_on): Likewise.
40692
8b714eb0 406932007-11-10 Christian Franke <franke@computer.org>
40694
40695 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
40696 (grub_menu_run): Likewise.
40697
ce0f1839 406982007-11-10 Robert Millan <rmh@aybabtu.com>
40699
40700 * include/grub/i386/efi/machine.h: New file.
40701 * include/grub/i386/linuxbios/machine.h: Likewise.
40702 * include/grub/i386/pc/machine.h: Likewise.
40703 * include/grub/powerpc/ieee1275/machine.h: Likewise.
40704 * include/grub/sparc64/ieee1275/machine.h: Likewise.
40705
40706 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
40707 (serial_hw_io_addr): New variable.
40708 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
40709 instead of `(unsigned short *) 0x400'.
40710
270c237d 407112007-11-10 Bean <bean123ch@gmail.com>
40712
40713 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
40714
a87783bf 407152007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
40716
40717 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
40718 (vga_mod_SOURCES): Added.
40719 (vga_mod_CFLAGS): Likewise.
40720 (vga_mod_LDFLAGS): Likewise.
40721
40722 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
40723 grub_outb() calls.
40724 (set_map_mask): Likewise.
40725 (set_read_map): Likewise.
40726 (set_read_address): Likewise.
40727 (vga_font): Removed variable.
40728 (get_vga_glyph): Removed function.
40729 (invalidate_char): Likewise.
40730 (write_char): Changed to use grub_font_get_glyph() for font
40731 information.
40732 (grub_vga_putchar): Likewise.
40733 (grub_vga_getcharwidth): Likewise.
40734
6433b448 407352007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
40736
40737 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
40738 flags.
40739 (pxeboot_img_LDFLAGS): Likewise.
40740 (diskboot_img_LDFLAGS): Likewise.
40741 (kernel_img_LDFLAGS): Likewise.
40742
49178511 407432007-11-06 Robert Millan <rmh@aybabtu.com>
40744
40745 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
40746 in grub_outb() calls.
40747 (serial_hw_init): Likewise.
40748
53b052de 407492007-11-05 Robert Millan <rmh@aybabtu.com>
40750
40751 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
40752 spaces. Skip non-regular files.
40753
5ab33bba 407542007-11-05 Robert Millan <rmh@aybabtu.com>
40755
40756 * kern/disk.c (grub_disk_firmware_fini)
40757 (grub_disk_firmware_is_tainted): New variables.
40758
40759 * include/grub/disk.h (grub_disk_firmware_fini)
40760 (grub_disk_firmware_is_tainted): Likewise.
40761
40762 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
40763 (grub_disk_biosdisk_fini): ... to here.
40764 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
40765 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
40766 is set. Register grub_disk_biosdisk_fini() in
40767 `grub_disk_firmware_fini'.
40768
40769 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
40770 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
40771 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
40772 to finish existing firmware disk interface.
40773
40774 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
40775 (ata_mod_SOURCES): New variable.
40776 (ata_mod_CFLAGS): Likewise.
40777 (ata_mod_LDFLAGS): Likewise.
40778
0149ab7c 407792007-11-05 Robert Millan <rmh@aybabtu.com>
40780
40781 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
40782 (grub_ata_wait): Reimplement using grub_millisleep().
40783
40784 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
40785 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
40786
be7ac41e 407872007-11-03 Marco Gerards <marco@gnu.org>
40788
40789 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
40790 (CRTC_ADDR_PORT): New macro.
40791 (CRTC_DATA_PORT): Likewise.
40792 (CRTC_CURSOR): Likewise.
40793 (CRTC_CURSOR_ADDR_HIGH): Likewise.
40794 (CRTC_CURSOR_ADDR_LOW): Likewise.
40795 (update_cursor): New function.
40796 (grub_console_real_putchar): Call `update_cursor'.
40797 (grub_console_gotoxy): Likewise.
40798 (grub_console_cls): Set the default color when clearing the
40799 screen.
40800 (grub_console_setcursor): Implemented.
40801
bb06ab2e 408022007-11-03 Marco Gerards <marco@gnu.org>
40803
40804 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
40805 become activate.
40806 (grub_ata_pio_write): Likewise.
40807
40808 (grub_atapi_identify): Wait after issuing an ATA command.
40809 (grub_atapi_packet): Likewise.
40810 (grub_ata_identify): Likewise.
40811 (grub_ata_readwrite): Likewise.
40812
cf8f780b 408132007-11-03 Marco Gerards <marco@gnu.org>
40814
40815 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
40816 (grub_ata_pio_write): Likewise.
40817 (grub_ata_readwrite): Use `grub_error', instead of
40818 returning `grub_errno'.
40819
ed649e54 408202007-11-03 Marco Gerards <marco@gnu.org>
40821
40822 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
40823 grub_ata_pio_write once for every single sector, instead of for
40824 multiple sectors.
40825
ca25d8f0 408262007-10-31 Robert Millan <rmh@aybabtu.com>
40827
40828 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
40829
40830 * conf/i386-linuxbios.rmk: New file.
40831
40832 * kern/i386/pc/hardware.c: Likewise.
40833 * term/i386/pc/at_keyboard.c: Likewise.
40834 * term/i386/pc/vga_text.c: Likewise.
40835
40836 * include/grub/i386/linuxbios/boot.h: Likewise.
40837 * include/grub/i386/linuxbios/console.h: Likewise.
40838 * include/grub/i386/linuxbios/init.h: Likewise.
40839 * include/grub/i386/linuxbios/kernel.h: Likewise.
40840 * include/grub/i386/linuxbios/loader.h: Likewise.
40841 * include/grub/i386/linuxbios/memory.h: Likewise.
40842 * include/grub/i386/linuxbios/serial.h: Likewise.
40843 * include/grub/i386/linuxbios/time.h: Likewise.
40844
40845 * kern/i386/linuxbios/init.c: Likewise.
40846 * kern/i386/linuxbios/startup.S: Likewise.
40847 * kern/i386/linuxbios/table.c: Likewise.
40848
e911ecc1 408492007-10-31 Marco Gerards <marco@gnu.org>
40850
40851 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
40852 (ata_mod_SOURCES): New variable.
40853 (ata_mod_CFLAGS): Likewise.
40854 (ata_mod_LDFLAGS): Likewise.
40855
40856 * disk/ata.c: New file.
40857
40858 * include/grub/disk.h (grub_disk_dev_id): Add
40859 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 40860
7f66d0e0 408612007-10-31 Robert Millan <rmh@aybabtu.com>
40862
40863 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
40864 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
40865
40866 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
40867 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
40868
40869 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
40870 `<grub/types.h>'.
40871
40872 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
40873
5cd7dd46 408742007-10-27 Robert Millan <rmh@aybabtu.com>
40875
3236ca65 40876 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 40877
2ebfc90f 408782007-10-22 Robert Millan <rmh@aybabtu.com>
40879
40880 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
40881 `"../realmode.S"'.
40882 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
40883
73fcb0f3 408842007-10-22 Robert Millan <rmh@aybabtu.com>
40885
40886 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
40887 (pkgdata_MODULES): Add `biosdisk.mod'.
40888 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
40889 variables.
40890
40891 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
40892 (grub_biosdisk_init): Replace with ...
40893 (GRUB_MOD_INIT(biosdisk)): ... this.
40894 (grub_biosdisk_fini): Replace with ...
40895 (GRUB_MOD_FINI(biosdisk)): ... this.
40896
40897 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
40898 (grub_machine_init): Remove call to grub_biosdisk_init().
40899 (grub_machine_fini): Remove call to grub_machine_fini().
40900
40901 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
40902
3381d274 409032007-10-22 Robert Millan <rmh@aybabtu.com>
40904
40905 * include/grub/time.h: New file.
40906 * include/grub/i386/time.h: Likewise.
40907 * include/grub/powerpc/time.h: Likewise.
40908 * include/grub/sparc64/time.h: Likewise.
40909
40910 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
40911 instances to ...
40912 (KERNEL_MACHINE_TIME_HEADER): ... this.
40913 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
40914 instances to ...
40915 (KERNEL_MACHINE_TIME_HEADER): ... this.
40916 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
40917 instances to ...
40918 (KERNEL_MACHINE_TIME_HEADER): ... this.
40919
40920 * kern/i386/efi/init.c: Include `<grub/time.h>'.
40921 (grub_millisleep): New function.
40922 * kern/i386/pc/init.c: Include `<grub/time.h>'.
40923 (grub_millisleep): New function.
40924 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
40925 Remove `grub/machine/time.h' include.
40926 (grub_millisleep): New function.
40927 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
40928 Remove `grub/machine/time.h' include.
40929 (grub_millisleep): New function.
40930
40931 * include/grub/misc.h (grub_div_roundup): New function.
40932
40933 * kern/misc.c: Include `<grub/time.h>'.
40934 (grub_millisleep_generic): New function.
40935
40936 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
40937 Add `time.h'.
40938 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
40939 Add `time.h'.
40940 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
40941 `machine/time.h'. Add `time.h'.
40942 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40943
a39a0312 409442007-10-21 Robert Millan <rmh@aybabtu.com>
40945
40946 * include/grub/misc.h (grub_max): New function.
40947
2aad70e2 409482007-10-21 Robert Millan <rmh@aybabtu.com>
40949
40950 * util/misc.c (grub_util_info): Call fflush() before returning.
40951
54b71c4b 409522007-10-20 Robert Millan <rmh@aybabtu.com>
40953
40954 * genmk.rb (Image): Copy `extra_flags' from here ...
40955 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
40956
40957 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
40958 to `argc' and `args' arguments.
40959
a979f513 409602007-10-17 Robert Millan <rmh@aybabtu.com>
40961
40962 * kern/i386/loader.S: New file.
40963
40964 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
40965 * kern/i386/loader.S (grub_linux_prot_size)... to here.
40966 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
40967 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
40968 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
40969 * kern/i386/loader.S (grub_linux_real_addr)... to here.
40970 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
40971 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
40972 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
40973 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
40974 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
40975 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
40976 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
40977 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
40978
40979 * kern/i386/realmode.S: New file.
40980
40981 * kern/i386/pc/startup.S (protstack): Moved from here ...
40982 * kern/i386/realmode.S (protstack)... to here.
40983 * kern/i386/pc/startup.S (gdt): Moved from here ...
40984 * kern/i386/realmode.S (gdt)... to here.
40985 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
40986 * kern/i386/realmode.S (prot_to_real)... to here.
40987
40988 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
40989 `kern/i386/realmode.S'.
40990
825fc8fd 409912007-10-17 Robert Millan <rmh@aybabtu.com>
40992
40993 * include/grub/i386/loader.h: New file.
40994
40995 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
40996 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
40997 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
40998 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
40999 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
41000 * include/grub/i386/loader.h (grub_linux_prot_size)
41001 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
41002 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
41003 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
41004 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
41005
41006 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
41007
e179b2f4 410082007-10-15 Robert Millan <rmh@aybabtu.com>
41009
41010 * normal/misc.c (grub_normal_print_device_info): Do not probe for
41011 filesystem when dev->disk is unset.
41012 Do probe for filesystem even when dev->disk->has_partitions is set.
41013 In case a filesystem is found, always report it.
41014 In case it isn't, if dev->disk->has_partitions is set, report that
41015 a partition table was found instead of reporting that no filesystem
41016 could be identified.
41017
5db82af6 410182007-10-12 Robert Millan <rmh@aybabtu.com>
41019
41020 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
41021 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
41022
68f6ac74 41023 * include/grub/types.h (grub_host_to_target16): New macro.
41024 (grub_host_to_target32): Likewise.
41025 (grub_host_to_target64): Likewise.
41026 (grub_target_to_host16): Likewise.
41027 (grub_target_to_host32): Likewise.
41028 (grub_target_to_host64): Likewise.
5db82af6 41029
41030 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
41031 Renamed from to ...
41032 (GRUB_MOD_ALIGN): ...this. Update all users.
41033
68f6ac74 41034 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
41035 grub_host_to_target32.
41036 Replace grub_be_to_cpu32 with grub_target_to_host32.
41037 (load_modules): Likewise.
41038 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
41039 Replace grub_be_to_cpu32 with grub_target_to_host32.
41040 Replace grub_cpu_to_be16 with grub_host_to_target16.
41041 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 41042
3cf497cc 410432007-10-12 Robert Millan <rmh@aybabtu.com>
41044
41045 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
41046 * util/elf/grub-mkimage.c: ... here.
41047
41048 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
41049 `util/powerpc/ieee1275/grub-mkimage.c'.
41050
c8cc3692 410512007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 41052
c8cc3692 41053 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
41054 and make it easier to figure out.
41055 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
41056 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
41057 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
41058 leave us with less than HEAP_MIN_SIZE total heap.
41059 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 41060
5c58b791 410612007-10-03 Robert Millan <rmh@aybabtu.com>
41062
41063 * include/grub/i386/io.h: New file.
41064 * commands/i386/pc/play.c (inb): Removed.
41065 (outb): Removed.
41066 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
41067 with grub_outb().
afcd2ef8 41068 * term/i386/pc/serial.c (inb): Removed.
41069 (outb): Removed.
41070 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
41071 with grub_outb().
41072 * term/i386/pc/vga.c (inb): Removed.
41073 (outb): Removed.
41074 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
41075 with grub_outb().
5c58b791 41076
1a477ed6 410772007-10-02 Robert Millan <rmh@aybabtu.com>
41078
41079 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
41080 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41081 Reported by Marcin Kurek.
41082
6b5d80fa 410832007-09-07 Robert Millan <rmh@aybabtu.com>
41084
41085 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
41086 SmartFirmware version updates (as released by Sven Luther), and avoid
41087 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
41088 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
41089 known broken.
41090
5618afbf 410912007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
41092
41093 From Hitoshi Ozeki:
41094 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
41095 when merging two regions.
41096
6139dcd9 410972007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
41098
508e39ee 41099 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
41100 * normal/completion.c (grub_normal_do_completion): Likewise.
41101 Reported by Hitoshi Ozeki.
41102
411032007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 41104
6139dcd9 41105 Do not use devices at boot in chainloading.
f19dbdb7 41106
6139dcd9 41107 * loader/i386/pc/chainloader.c (boot_drive): New variable.
41108 (boot_part_addr): Likewise.
41109 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
41110 with BOOT_DRIVE and BOOT_PART_ADDR.
41111 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
41112 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
41113
38da6516 411142007-08-29 Robert Millan <rmh@aybabtu.com>
41115
41116 Patch from Simon Peter <dn.tlp@gmx.net>:
41117 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
41118 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
41119 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
41120 util/i386/pc/grub-setup.c_DEPENDENCIES.
41121 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
41122 util/grub-probe.c_DEPENDENCIES.
41123 * conf/powerpc-ieee1275.rmk: Likewise.
41124
29d0928c 411252007-08-28 Robert Millan <rmh@aybabtu.com>
41126
41127 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
41128 to tell grub-mkdevicemap how to name devices.
41129 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
41130 feature).
41131
41132 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
41133 util/i386/get_disk_name.c.
41134 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
41135 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
41136 util/ieee1275/get_disk_name.c.
41137
41138 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
41139
41140 * DISTLIST: Add util/i386/get_disk_name.c and
41141 util/ieee1275/get_disk_name.c.
41142
41143 * util/grub-mkdevicemap.c: Replace device naming logic with
41144 grub_util_get_disk_name() calls.
41145
5a0d3cca 411462007-08-20 Robert Millan <rmh@aybabtu.com>
41147
41148 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
41149 (so that it works for both plural and singular quantities).
41150
8b72db2f 411512007-08-05 Robert Millan <rmh@aybabtu.com>
41152
41153 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
41154 so that [xz] isn't taken into account when determining order.
41155
352466bf 411562007-08-02 Marco Gerards <marco@gnu.org>
41157
41158 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
41159 `include/multiboot2.h', `include/grub/elfload.h',
41160 `include/multiboot.h', `include/grub/multiboot.h',
41161 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
41162 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
41163 `kern/elf.c', `loader/multiboot_loader.c',
41164 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
41165 `loader/i386/pc/multiboot2.c',
41166 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
41167 `util/i386/pc/grub-mkrescue.in'. Remove
41168 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
41169 `include/grub/i386/pc/util/biosdisk.h' and
41170 `include/grub/powerpc/ieee1275/multiboot.h'.
41171
8f096014 411722007-08-02 Bean <bean123ch@gmail.com>
41173
41174 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
41175 (ntfs_mod_SOURCES): New variable.
41176 (ntfs_mod_CFLAGS): Likewise.
41177 (ntfs_mod_LDFLAGS): Likewise.
41178
41179 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
41180 (grub_probe_SOURCES): Likewise.
41181 (grub_emu_SOURCES): Likewise.
41182
41183 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
41184 (grub_emu_SOURCES): Likewise.
41185
41186 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
41187 (grub_emu_SOURCES): Likewise.
f19dbdb7 41188
8f096014 41189 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
41190
41191 * fs/ntfs.c: New file.
41192
9959f7db 411932007-08-02 Bean <bean123ch@gmail.com>
41194
41195 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
41196
41197 * file.h (grub_file): Likewise.
41198
41199 * fshelp.h (grub_fshelp_read_file): Likewise.
41200
41201 * util/i386/pc/grub-setup.c (setup): Likewise.
41202 (save_first_sector): Likewise.
41203 (save_blocklists): Likewise.
f19dbdb7 41204
9959f7db 41205 * fs/affs.c (grub_affs_read_file): Likewise.
41206
41207 * fs/ext2.c (grub_ext2_read_file): Likewise.
41208
41209 * fs/fat.c (grub_fat_read_data): Likewise.
41210
41211 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
41212
41213 * fs/hfs.c (grub_hfs_read_file): Likewise.
41214
41215 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
41216
41217 * fs/jfs.c (grub_jfs_read_file): Likewise.
41218
41219 * fs/minix.c (grub_minix_read_file): Likewise.
41220
41221 * fs/sfs.c (grub_sfs_read_file): Likewise.
41222
41223 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 41224
9959f7db 41225 * fs/xfs.c (grub_xfs_read_file): Likewise.
41226
41227 * command/blocklist.c (read_blocklist): Likewise.
41228 (print_blocklist): Likewise.
41229
0a203f83 412302007-08-02 Marco Gerards <marco@gnu.org>
41231
41232 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
41233 `util/hostfs.c'.
41234
41235 * disk/host.c: New file.
41236
41237 * util/hostfs.c: Likewise.
41238
41239 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
41240 return `GRUB_ERR_BAD_FS'.
41241 * fs/sfs.c (grub_sfs_mount): Likewise.
41242 * fs/xfs.c (grub_xfs_mount): Likewise.
41243
41244 * include/grub/disk.h (enum grub_disk_dev_id): Add
41245 `GRUB_DISK_DEVICE_HOST_ID'.
41246
41247 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
41248
e5dfe777 412492007-07-24 Jerone Young <jerone@gmail.com>
41250
f19dbdb7 41251 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 41252 modules for compilation.
41253 * conf/powerpc-ieee1275.rmk: Likewise.
41254
41255 * include/multiboot.h: Move multiboot definitions to one file. Rename
41256 many definitions to not get grub specific.
41257 * include/multiboot2.h: Create header with multiboot 2 definitions.
41258 * include/grub/multiboot.h: Header for grub specific function
41259 prototypes and definitions.
41260 * include/grub/multiboot2.h: Likewise.
41261 * include/grub/multiboot_loader.h: Likewise.
41262 * include/grub/i386/pc/multiboot.h: Removed.
41263 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
41264
41265 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
41266 and 2 to allow for one multiboot and module commands.
41267 * loader/multiboot2.c: Add multiboot2 functionality.
41268 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
41269 and definition names.
41270 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
41271 2 functions.
41272 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
41273 ieee1275 specific multiboot2 code.
41274
41275 * kern/i386/pc/startup.S: Change headers and definition names for
41276 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
41277
daf0f0ba 412782007-07-22 Robert Millan <rmh@aybabtu.com>
41279
41280 * geninitheader.sh: Process file specified in first parameter rather
41281 than hardcoding grub_modules_init.lst.
fe6b695a 41282 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 41283 than hardcoding grub_modules_init.h.
41284
41285 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
41286 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
41287 grub_probe_init.[ch] and grub_setup_init.[ch].
41288
41289 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
41290 grub_modules_init.h with grub_emu_init.h.
41291 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
41292 grub_probe_init.[ch] files.
41293 * conf/i386-efi.rmk: Likewise.
41294 * conf/i386-pc.rmk: Likewise.
41295 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
41296 grub_setup_init.[ch] files.
41297
41298 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
41299 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
41300 to initialize modules rather than a list of hardcoded functions.
41301 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
41302 grub_init_all() to initialize modules rather than a list of hardcoded
41303 functions.
41304
54cdc1cc 413052007-07-22 Robert Millan <rmh@aybabtu.com>
41306
41307 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
41308 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
41309
ad0686cc 413102007-07-22 Robert Millan <rmh@aybabtu.com>
41311
41312 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
41313 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
41314 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
41315 flag when running on SmartFirmware.
41316 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
41317 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
41318 was set.
41319
41320 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
41321 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
41322 rather than decreasing it.
41323
41324 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
41325 there's not enough space to do it, fail in the same way as when it
41326 can't be done because there are no partitions.
41327
41328 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
41329 when nvsetenv failed.
41330
969c02ec 413312007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
41332
41333 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
41334 because this rule is automatically generated.
41335 (grub-mkrescue): Removed for the same reason as above.
41336
5a79f472 413372007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
41338
41339 Migrate to GNU General Public License Version 3.
f19dbdb7 41340
5a79f472 41341 * COPYING: Replaced with the plain text version of GPLv3.
41342
41343 * config.guess: Updated from gnulib.
41344 * config.sub: Likewise.
41345
41346 * geninit.sh: Output a GPLv3 copyright notice.
41347 * geninitheader.sh: Likewise.
41348 * genmodsrc.sh: Likewise.
41349 * gensymlist.sh.in: Likewise.
41350
41351 * boot/i386/pc/boot.S: Upgraded to GPLv3.
41352 * boot/i386/pc/diskboot.S: Likewise.
41353 * boot/i386/pc/pxeboot.S: Likewise.
41354 * commands/blocklist.c: Likewise.
41355 * commands/boot.c: Likewise.
41356 * commands/cat.c: Likewise.
41357 * commands/cmp.c: Likewise.
41358 * commands/configfile.c: Likewise.
41359 * commands/echo.c: Likewise.
41360 * commands/help.c: Likewise.
41361 * commands/ls.c: Likewise.
41362 * commands/search.c: Likewise.
41363 * commands/terminal.c: Likewise.
41364 * commands/test.c: Likewise.
41365 * commands/videotest.c: Likewise.
41366 * commands/i386/cpuid.c: Likewise.
41367 * commands/i386/pc/halt.c: Likewise.
41368 * commands/i386/pc/play.c: Likewise.
41369 * commands/i386/pc/reboot.c: Likewise.
41370 * commands/i386/pc/vbeinfo.c: Likewise.
41371 * commands/i386/pc/vbetest.c: Likewise.
41372 * commands/ieee1275/halt.c: Likewise.
41373 * commands/ieee1275/reboot.c: Likewise.
41374 * commands/ieee1275/suspend.c: Likewise.
41375 * disk/loopback.c: Likewise.
41376 * disk/lvm.c: Likewise.
41377 * disk/raid.c: Likewise.
41378 * disk/efi/efidisk.c: Likewise.
41379 * disk/i386/pc/biosdisk.c: Likewise.
41380 * disk/ieee1275/ofdisk.c: Likewise.
41381 * font/manager.c: Likewise.
41382 * fs/affs.c: Likewise.
41383 * fs/ext2.c: Likewise.
41384 * fs/fat.c: Likewise.
41385 * fs/fshelp.c: Likewise.
41386 * fs/hfs.c: Likewise.
41387 * fs/hfsplus.c: Likewise.
41388 * fs/iso9660.c: Likewise.
41389 * fs/jfs.c: Likewise.
41390 * fs/minix.c: Likewise.
41391 * fs/sfs.c: Likewise.
41392 * fs/ufs.c: Likewise.
41393 * fs/xfs.c: Likewise.
41394 * hello/hello.c: Likewise.
41395 * include/grub/acorn_filecore.h: Likewise.
41396 * include/grub/arg.h: Likewise.
41397 * include/grub/bitmap.h: Likewise.
41398 * include/grub/boot.h: Likewise.
41399 * include/grub/cache.h: Likewise.
41400 * include/grub/device.h: Likewise.
41401 * include/grub/disk.h: Likewise.
41402 * include/grub/dl.h: Likewise.
41403 * include/grub/elfload.h: Likewise.
41404 * include/grub/env.h: Likewise.
41405 * include/grub/err.h: Likewise.
41406 * include/grub/file.h: Likewise.
41407 * include/grub/font.h: Likewise.
41408 * include/grub/fs.h: Likewise.
41409 * include/grub/fshelp.h: Likewise.
41410 * include/grub/gzio.h: Likewise.
41411 * include/grub/hfs.h: Likewise.
41412 * include/grub/kernel.h: Likewise.
41413 * include/grub/loader.h: Likewise.
41414 * include/grub/lvm.h: Likewise.
41415 * include/grub/misc.h: Likewise.
41416 * include/grub/mm.h: Likewise.
41417 * include/grub/net.h: Likewise.
41418 * include/grub/normal.h: Likewise.
41419 * include/grub/parser.h: Likewise.
41420 * include/grub/partition.h: Likewise.
41421 * include/grub/pc_partition.h: Likewise.
41422 * include/grub/raid.h: Likewise.
41423 * include/grub/rescue.h: Likewise.
41424 * include/grub/script.h: Likewise.
41425 * include/grub/setjmp.h: Likewise.
41426 * include/grub/symbol.h: Likewise.
41427 * include/grub/term.h: Likewise.
41428 * include/grub/terminfo.h: Likewise.
41429 * include/grub/tparm.h: Likewise.
41430 * include/grub/types.h: Likewise.
41431 * include/grub/video.h: Likewise.
41432 * include/grub/efi/api.h: Likewise.
41433 * include/grub/efi/chainloader.h: Likewise.
41434 * include/grub/efi/console.h: Likewise.
41435 * include/grub/efi/console_control.h: Likewise.
41436 * include/grub/efi/disk.h: Likewise.
41437 * include/grub/efi/efi.h: Likewise.
41438 * include/grub/efi/pe32.h: Likewise.
41439 * include/grub/efi/time.h: Likewise.
41440 * include/grub/i386/linux.h: Likewise.
41441 * include/grub/i386/setjmp.h: Likewise.
41442 * include/grub/i386/types.h: Likewise.
41443 * include/grub/i386/efi/kernel.h: Likewise.
41444 * include/grub/i386/efi/loader.h: Likewise.
41445 * include/grub/i386/efi/time.h: Likewise.
41446 * include/grub/i386/pc/biosdisk.h: Likewise.
41447 * include/grub/i386/pc/boot.h: Likewise.
41448 * include/grub/i386/pc/chainloader.h: Likewise.
41449 * include/grub/i386/pc/console.h: Likewise.
41450 * include/grub/i386/pc/init.h: Likewise.
41451 * include/grub/i386/pc/kernel.h: Likewise.
41452 * include/grub/i386/pc/loader.h: Likewise.
41453 * include/grub/i386/pc/memory.h: Likewise.
41454 * include/grub/i386/pc/multiboot.h: Likewise.
41455 * include/grub/i386/pc/serial.h: Likewise.
41456 * include/grub/i386/pc/time.h: Likewise.
41457 * include/grub/i386/pc/vbe.h: Likewise.
41458 * include/grub/i386/pc/vbeblit.h: Likewise.
41459 * include/grub/i386/pc/vbefill.h: Likewise.
41460 * include/grub/i386/pc/vbeutil.h: Likewise.
41461 * include/grub/i386/pc/vga.h: Likewise.
41462 * include/grub/ieee1275/ieee1275.h: Likewise.
41463 * include/grub/ieee1275/ofdisk.h: Likewise.
41464 * include/grub/powerpc/libgcc.h: Likewise.
41465 * include/grub/powerpc/setjmp.h: Likewise.
41466 * include/grub/powerpc/types.h: Likewise.
41467 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
41468 * include/grub/powerpc/ieee1275/console.h: Likewise.
41469 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
41470 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
41471 * include/grub/powerpc/ieee1275/loader.h: Likewise.
41472 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
41473 * include/grub/powerpc/ieee1275/time.h: Likewise.
41474 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
41475 * include/grub/sparc64/libgcc.h: Likewise.
41476 * include/grub/sparc64/setjmp.h: Likewise.
41477 * include/grub/sparc64/types.h: Likewise.
41478 * include/grub/sparc64/ieee1275/console.h: Likewise.
41479 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
41480 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
41481 * include/grub/sparc64/ieee1275/time.h: Likewise.
41482 * include/grub/util/biosdisk.h: Likewise.
41483 * include/grub/util/getroot.h: Likewise.
41484 * include/grub/util/lvm.h: Likewise.
41485 * include/grub/util/misc.h: Likewise.
41486 * include/grub/util/raid.h: Likewise.
41487 * include/grub/util/resolve.h: Likewise.
41488 * io/gzio.c: Likewise.
41489 * kern/device.c: Likewise.
41490 * kern/disk.c: Likewise.
41491 * kern/dl.c: Likewise.
41492 * kern/elf.c: Likewise.
41493 * kern/env.c: Likewise.
41494 * kern/err.c: Likewise.
41495 * kern/file.c: Likewise.
41496 * kern/fs.c: Likewise.
41497 * kern/loader.c: Likewise.
41498 * kern/main.c: Likewise.
41499 * kern/misc.c: Likewise.
41500 * kern/mm.c: Likewise.
41501 * kern/parser.c: Likewise.
41502 * kern/partition.c: Likewise.
41503 * kern/rescue.c: Likewise.
41504 * kern/term.c: Likewise.
41505 * kern/efi/efi.c: Likewise.
41506 * kern/efi/init.c: Likewise.
41507 * kern/efi/mm.c: Likewise.
41508 * kern/i386/dl.c: Likewise.
41509 * kern/i386/efi/init.c: Likewise.
41510 * kern/i386/efi/startup.S: Likewise.
41511 * kern/i386/pc/init.c: Likewise.
41512 * kern/i386/pc/lzo1x.S: Likewise.
41513 * kern/i386/pc/startup.S: Likewise.
41514 * kern/ieee1275/ieee1275.c: Likewise.
41515 * kern/powerpc/cache.S: Likewise.
41516 * kern/powerpc/dl.c: Likewise.
41517 * kern/powerpc/ieee1275/cmain.c: Likewise.
41518 * kern/powerpc/ieee1275/crt0.S: Likewise.
41519 * kern/powerpc/ieee1275/init.c: Likewise.
41520 * kern/powerpc/ieee1275/openfw.c: Likewise.
41521 * kern/sparc64/cache.S: Likewise.
41522 * kern/sparc64/dl.c: Likewise.
41523 * kern/sparc64/ieee1275/init.c: Likewise.
41524 * kern/sparc64/ieee1275/openfw.c: Likewise.
41525 * loader/efi/chainloader.c: Likewise.
41526 * loader/efi/chainloader_normal.c: Likewise.
41527 * loader/i386/efi/linux.c: Likewise.
41528 * loader/i386/efi/linux_normal.c: Likewise.
41529 * loader/i386/pc/chainloader.c: Likewise.
41530 * loader/i386/pc/chainloader_normal.c: Likewise.
41531 * loader/i386/pc/linux.c: Likewise.
41532 * loader/i386/pc/linux_normal.c: Likewise.
41533 * loader/i386/pc/multiboot.c: Likewise.
41534 * loader/i386/pc/multiboot_normal.c: Likewise.
41535 * loader/powerpc/ieee1275/linux.c: Likewise.
41536 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
41537 * normal/arg.c: Likewise.
41538 * normal/cmdline.c: Likewise.
41539 * normal/command.c: Likewise.
41540 * normal/completion.c: Likewise.
41541 * normal/execute.c: Likewise.
41542 * normal/function.c: Likewise.
41543 * normal/lexer.c: Likewise.
41544 * normal/main.c: Likewise.
41545 * normal/menu.c: Likewise.
41546 * normal/menu_entry.c: Likewise.
41547 * normal/misc.c: Likewise.
41548 * normal/parser.y: Likewise.
41549 * normal/script.c: Likewise.
41550 * normal/i386/setjmp.S: Likewise.
41551 * normal/powerpc/setjmp.S: Likewise.
41552 * normal/sparc64/setjmp.S: Likewise.
41553 * partmap/acorn.c: Likewise.
41554 * partmap/amiga.c: Likewise.
41555 * partmap/apple.c: Likewise.
41556 * partmap/gpt.c: Likewise.
41557 * partmap/pc.c: Likewise.
41558 * partmap/sun.c: Likewise.
41559 * term/gfxterm.c: Likewise.
41560 * term/terminfo.c: Likewise.
41561 * term/efi/console.c: Likewise.
41562 * term/i386/pc/console.c: Likewise.
41563 * term/i386/pc/serial.c: Likewise.
41564 * term/i386/pc/vesafb.c: Likewise.
41565 * term/i386/pc/vga.c: Likewise.
41566 * term/ieee1275/ofconsole.c: Likewise.
41567 * util/biosdisk.c: Likewise.
41568 * util/console.c: Likewise.
41569 * util/genmoddep.c: Likewise.
41570 * util/getroot.c: Likewise.
41571 * util/grub-emu.c: Likewise.
41572 * util/grub-mkdevicemap.c: Likewise.
41573 * util/grub-probe.c: Likewise.
41574 * util/lvm.c: Likewise.
41575 * util/misc.c: Likewise.
41576 * util/raid.c: Likewise.
41577 * util/resolve.c: Likewise.
41578 * util/update-grub.in: Likewise.
41579 * util/update-grub_lib.in: Likewise.
41580 * util/grub.d/00_header.in: Likewise.
41581 * util/grub.d/10_hurd.in: Likewise.
41582 * util/grub.d/10_linux.in: Likewise.
41583 * util/i386/efi/grub-install.in: Likewise.
41584 * util/i386/efi/grub-mkimage.c: Likewise.
41585 * util/i386/pc/grub-install.in: Likewise.
41586 * util/i386/pc/grub-mkimage.c: Likewise.
41587 * util/i386/pc/grub-mkrescue.in: Likewise.
41588 * util/i386/pc/grub-setup.c: Likewise.
41589 * util/i386/pc/misc.c: Likewise.
41590 * util/powerpc/ieee1275/grub-install.in: Likewise.
41591 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
41592 * util/powerpc/ieee1275/misc.c: Likewise.
41593 * video/bitmap.c: Likewise.
41594 * video/video.c: Likewise.
41595 * video/i386/pc/vbe.c: Likewise.
41596 * video/i386/pc/vbeblit.c: Likewise.
41597 * video/i386/pc/vbefill.c: Likewise.
41598 * video/i386/pc/vbeutil.c: Likewise.
41599 * video/readers/tga.c: Likewise.
41600
3572d015 416012007-07-02 Robert Millan <rmh@aybabtu.com>
41602
41603 * conf/i386-efi.rmk: Replace obsolete reference to
41604 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
41605 with util/getroot.c.
41606 * conf/powerpc-ieee1275.rmk: Likewise.
41607 * conf/sparc64-ieee1275.rmk: Likewise.
41608
41609 * util/grub-emu.c (main): Fix unchecked pointer handling.
41610
2c2a681b 416112007-07-02 Robert Millan <rmh@aybabtu.com>
41612
41613 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
41614 invocation to fail, in order to support partition-less media.
41615
41616 * util/i386/pc/grub-install.in: Likewise.
41617
41618 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
41619 which fs or partmap modules are needed (akin to its sister scripts).
41620
41621 Also use grub-probe to get rid of unportable /proc/mounts check.
41622
41623 Print the same informational message that the other scripts do, before
fe6b695a 41624 exiting.
2c2a681b 41625
6193defe 416262007-06-23 Robert Millan <rmh@aybabtu.com>
41627
fe6b695a 41628 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 41629 a font file can be found and, if so, echo the GRUB path to it.
41630
41631 * util/update-grub.in: Handle multiple terminals depending on user
41632 input, platform availability and font file presence. Propagate
41633 variables of our findings to /etc/grub.d/ children.
41634
41635 * util/grub.d/00_header.in: Handle multiple terminals, based on
41636 environment setup by update-grub.
41637
eface1dc 416382007-06-23 Robert Millan <rmh@aybabtu.com>
41639
ba50d28f 41640 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 41641
bf697e28 416422007-06-21 Robert Millan <rmh@aybabtu.com>
41643
41644 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
41645 indicate end of data section in kernel image.
41646 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
41647 GRUB_KERNEL_MACHINE_DATA_END.
41648
41649 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
41650 space for it.
41651 * kern/i386/efi/startup.S: Likewise.
41652
41653 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
41654 during image generation. Implement --prefix option to override this
41655 patch.
41656 * util/i386/efi/grub-mkimage.c: Likewise.
41657
41658 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
41659 code to make path relative to its root into a separate function.
41660
41661 * util/i386/pc/grub-install.in: Use newly provided
41662 make_system_path_relative_to_its_root() to convert ${grubdir}, then
41663 pass the result to grub-install --prefix.
41664
baa574b4 416652007-06-13 Robert Millan <rmh@aybabtu.com>
41666
41667 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
41668 DEFAULT_DEVICE_MAP.
41669 * util/grub-emu.c: Use above definitions from misc.h instead of
41670 defining them.
41671 * util/grub-mkdevicemap.c: Likewise.
41672 * util/i386/pc/grub-setup.c: Likewise.
41673 * util/grub-probe.c: Likewise.
41674 (probe): Abort with grub_util_error() when either
41675 grub_guess_root_device or grub_util_get_grub_dev fails.
41676
0215dcbf 416772007-06-12 Robert Millan <rmh@aybabtu.com>
41678
41679 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
41680 "pager" assignment.
41681 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
41682 "pcdata".
41683 * util/grub-probe.c (probe): Likewise for "drive_name".
41684
8af2ab7b 416852007-06-11 Robert Millan <rmh@aybabtu.com>
41686
41687 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
41688 not just the cdrom one.
41689
59d31694 416902007-06-11 Robert Millan <rmh@aybabtu.com>
41691
41692 * util/i386/pc/grub-mkrescue.in: Add "set -e".
41693 Add --pkglibdir=DIR option to override pkglibdir.
41694 Mention --image-type=TYPE in help output.
41695 Fix --grub-mkimage (it was a no-op).
fe6b695a 41696 Abort gracefully when no parameter is given.
59d31694 41697
7ee367e4 416982007-06-11 Robert Millan <rmh@aybabtu.com>
41699
41700 * util/i386/pc/grub-mkrescue.in: New file.
41701 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
41702 * Makefile.in: Handle bin_SCRIPTS.
41703
29b0ed46 417042007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
41705
41706 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
41707 list of video modes.
41708
c0f90770 417092007-06-06 Robert Millan <rmh@aybabtu.com>
41710
41711 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
41712 file doesn't exist, or if it is in a filesystem grub can't read.
41713
41714 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
41715 not abort if GRUB_DRIVE could not be defined. Rearrange generated
41716 header comment to fit in 80 columns when the variables are resolved.
41717
41718 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
41719 could be identified by update-grub. Remove redundant check for
fe6b695a 41720 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 41721 handles that).
41722
fb36dc26 417232007-06-04 Robert Millan <rmh@aybabtu.com>
41724
41725 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
41726
41727 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
41728
41729 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
41730
0c68c93e 417312007-06-04 Robert Millan <rmh@aybabtu.com>
41732
41733 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
41734
41735 * include/grub/partition.h: Declare grub_apple_partition_map_init and
41736 grub_apple_partition_map_fini.
41737
41738 * util/biosdisk.c
41739 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
41740 to access >2 TiB disks).
41741
41742 Print disk->total_sectors with %llu instead of %lu, since this
41743 variable is always 64-bit (prevents wrong disk size from being displayed
41744 on either >2 TiB disk or big-endian CPU).
41745
41746 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
41747 into a generic case that supports all (sane) partition maps.
41748
41749 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
41750 breaks big-endian.
41751
41752 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
41753 and grub_apple_partition_map_fini() after that.
41754
0f23eb74 417552007-06-01 Robert Millan <rmh@aybabtu.com>
41756
41757 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
41758
41759 * util/grub.d/00_header.in: Only enable gfxterm when
41760 convert_system_path_to_grub_path() succeeds.
41761
42c71976 417622007-05-20 Robert Millan <rmh@aybabtu.com>
41763
41764 * util/update-grub_lib.in: New file.
41765 * DISTLIST: Add update-grub_lib.in.
41766 * conf/common.rmk: Generate update-grub_lib and install it in
41767 $(lib_DATA).
41768 * Makefile.in: Add install routine for $(lib_DATA).
41769
41770 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
41771 function provided by update-grub_lib to support arbitrary paths of
41772 unifont.pff.
41773 * util/update-grub.in: Use convert_system_path_to_grub_path() to
41774 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
41775
5beb2291 417762007-05-19 Robert Millan <rmh@aybabtu.com>
41777
41778 * commands/i386/cpuid.c: New module.
41779 * DISTLIST: Add it.
41780 * conf/i386-efi.rmk: Enable cpuid.mod.
41781 * conf/i386-pc.rmk: Likewise.
41782
7262eca1 417832007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
41784
41785 * kern/disk.c (grub_disk_read): Check return value of
41786 grub_realloc().
41787
260ba823 417882007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
41789
41790 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
41791 arrays.
41792 * disk/raid.c (grub_raid_open): Likewise.
41793
1ecb6cf2 417942007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
41795
41796 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
41797 stack instead of on the heap.
41798
41799 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
41800 before doing a read on it.
41801
41802 * configure.ac: Only use -fno-stack-protector for the target
41803 environment.
f19dbdb7 41804
21c8cbb1 418052007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
41806
41807 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
41808 __attribute_ ((unused)) to mode_type argument.
41809
41810 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 41811
21c8cbb1 41812 * kern/misc.c (memcmp): Fix prototype.
41813
41814 * include/grub/partition.h [GRUB_UTIL]
41815 (grub_gpt_partition_map_init): Add prototype.
41816 (grub_gpt_partition_map_fini): Likewise.
41817
41818 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
41819 at the right place.
41820
41821 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
41822 (grub_fat_read_data): Likewise.
41823 (grub_fat_find_dir): Likewise.
41824
41825 * font/manager.c (find_glyph): Make table a const.
41826 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 41827
849d55d3 418282007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
41829
41830 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
41831 code, first search for device in /dev/mapper, then in /dev.
41832 (grub_util_get_grub_dev): New function.
41833 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
41834 prototype.
41835 * util/grub-probe.c (probe): Remove check for RAID, call
41836 grub_util_get_grub_dev() instead of
41837 grub_util_biosdisk_get_grub_dev().
41838 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
41839 grub_util_biosdisk_get_grub_dev().
41840 * util/i386/pc/grub-setup.c (main): Likewise.
41841
8fff7c2f 418422007-05-16 Robert Millan <rmh@aybabtu.com>
41843
41844 * DISTLIST: Update for the latest changes.
41845 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
41846 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
41847 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
41848 grub/util/biosdisk.h.
41849 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
41850 grub/util/biosdisk.h.
41851
48e12b52 418522007-05-16 Robert Millan <rmh@aybabtu.com>
41853
41854 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
41855
46b9d128 418562007-05-16 Robert Millan <rmh@aybabtu.com>
41857
41858 * util/i386/efi/grub-install.in: New.
41859 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
41860 newly added grub-install.
41861 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
41862 include.
41863 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
41864 grub/util/biosdisk.h.
41865 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
41866 grub/util/biosdisk.h.
41867
2d1a40a9 418682007-05-16 Robert Millan <rmh@aybabtu.com>
41869
41870 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
41871 * include/grub/util/biosdisk.h: ... here.
41872 * util/i386/pc/biosdisk.c: Moved to ...
41873 * util/biosdisk.c: ... here.
41874 * util/i386/pc/getroot.c: Moved to ...
41875 * util/getroot.c: ... here.
41876 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
41877 * util/grub-mkdevicemap.c: ... here.
41878 * util/i386/pc/grub-probe.c: Moved to ...
41879 * util/grub-probe.c: ... here.
41880
9e26e3bc 418812007-05-15 Robert Millan <rmh@aybabtu.com>
41882
41883 * util/update-grub.in: Remove duplicated line in grub.cfg header
41884 message.
41885
57f96397 418862007-05-13 Robert Millan <rmh@aybabtu.com>
41887
41888 * util/update-grub.in: Fix a few assumptions about the devices holding
41889 /, /boot and /boot/grub being the same.
41890 * util/grub.d/00_header.in: Likewise.
41891 * util/grub.d/10_hurd.in: Likewise.
41892 * util/grub.d/10_linux.in: Likewise.
41893
41894 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
41895 patterns. Use that to define the `.old' suffix as older than `'.
41896
41897 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
41898
41899 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
41900 the grub.cfg header message.
41901
2e610d62 419022007-05-11 Robert Millan <rmh@aybabtu.com>
41903
41904 * util/update-grub.in: Create device.map if it doesn't already exist,
41905 before attempting to run grub-probe.
41906 Check for grub-probe and grub-mkdevicemap with the same code
41907 grub-install is using.
41908 Remove test mode.
41909
3f6a10ef 419102007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
41911
41912 * Makefile.in: Add the datarootdir autoconf variable.
41913
02e7b75e 419142007-05-09 Robert Millan <rmh@aybabtu.com>
41915
41916 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 41917 fail gracefully if dev->disk->partition == NULL.
02e7b75e 41918
75f396cc 419192007-05-07 Robert Millan <rmh@aybabtu.com>
41920
41921 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
41922 determine partition map module.
41923 * util/i386/pc/grub-install.in: Use this feature to decide which
41924 partition module to load, instead of hardcoding pc and gpt.
41925
da65cb36 419262007-05-07 Robert Millan <rmh@aybabtu.com>
41927
41928 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
41929 source directory differs from build directory.
41930
b57d6a91 419312007-05-05 Robert Millan <rmh@aybabtu.com>
41932
41933 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
41934 initialisation.
41935
509d00f1 419362007-05-05 Robert Millan <rmh@aybabtu.com>
41937
41938 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
41939
c48f23ef 419402007-05-05 Robert Millan <rmh@aybabtu.com>
41941
41942 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
41943 command-line arguments via ${GRUB_CMDLINE_LINUX}.
41944
20b97658 419452007-05-05 Robert Millan <rmh@aybabtu.com>
41946
41947 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
41948 (grub_probe_SOURCES): Likewise.
41949 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
41950 GPT and initialize dos_part and bsd_part accordingly.
41951 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
41952 install_bsd_part.
41953 (main): Activate gpt module for use during partition identification,
41954 and deactivate it afterwards.
41955 * util/i386/pc/grub-install.in: Add gpt module to core.img.
41956 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
41957 partition identification, and deactivate it afterwards.
41958
99123174 419592007-05-05 Robert Millan <rmh@aybabtu.com>
41960
41961 * term/i386/pc/console.c (grub_console_fini): Call
41962 grub_term_set_current() before grub_term_unregister().
41963
ebd97f6e 419642007-05-04 Robert Millan <rmh@aybabtu.com>
41965
41966 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
41967 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
41968 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
41969 and update-grub_DATA.
41970 * conf/common.rmk: Build and install update-grub components.
41971 * conf/common.mk: Regenerate.
41972 * util/update-grub.in: New. Core of update-grub.
41973 * util/grub.d/00_header.in: New. Generates grub.cfg header.
41974 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
41975 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
41976 * util/grub.d/README: New. Document grub.d directory layout.
41977
b06a264d 419782007-05-01 Robert Millan <rmh@aybabtu.com>
41979
41980 * util/grub-emu.c: Move initialization functions
41981 grub_util_biosdisk_init() and grub_init_all() before
41982 grub_util_biosdisk_get_grub_dev(), which relies on them.
41983
41f0050e 419842007-04-19 Robert Millan <rmh@aybabtu.com>
41985
41986 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
41987 it is used later.
41988
04582bb3 419892007-04-18 Jerone Young <jerone@gmail.com>
41990
f19dbdb7 41991 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 41992 stanza.
41993
08db4632 419942007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 41995
08db4632 41996 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
41997 continue on and look for device node with real device name.
41998
801b76be 419992007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 42000
fe6b695a 42001 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 42002 ability.
42003 * Makefile.in: Add autoconf package transformation code.
42004 * util/i386/pc/grub-install.in: Likewise.
42005 * util/powerpc/ieee1275/grub-install.in: Likewise.
42006
6795c4e1 420072007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
42008
42009 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
42010 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
42011 (EXT2_REVISION): Likewise.
42012 (EXT2_INODE_SIZE): Likewise.
42013 (struct grub_ext2_block_group): Added a missing member
42014 "used_dirs".
42015 (grub_ext2_read_inode): Divide by the inode size in a superblock
42016 instead of 128 to obtain INODES_PER_BLOCK.
42017 Use the macro EXT2_INODE_SIZE instead of directly using
42018 SBLOCK->INODE_SIZE.
42019
d70af616 420202007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
42021
42022 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
42023 superblock instead of the structure size to compute an
42024 offset. This fixes the problem that GRUB could not read a
42025 filesystem when inode size is different from 128-byte.
42026
3b801603 420272007-03-05 Marco Gerards <marco@gnu.org>
42028
42029 * normal/main.c (read_config_file): When "menu" is not set, create
42030 an initial context.
42031
4785bfe4 420322007-02-21 Hollis Blanchard <hollis@penguinppc.org>
42033
42034 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
42035 (HEAP_LIMIT): New macro.
42036 (grub_claim_heap): Claim memory up to `heaplimit'.
42037
a0cbb023 420382007-02-21 Hollis Blanchard <hollis@penguinppc.org>
42039
42040 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
42041 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
42042 (_start): Likewise.
42043 (grub_arch_modules_addr): Return address after `_end'.
42044 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
42045 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
42046 (add_segments): Calculate `_end' from phdr size and location.
42047 (ALIGN_UP): Moved to ...
42048 * include/grub/misc.h: here.
42049 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
42050 New macro.
42051 (GRUB_IEEE1275_MODULE_BASE): Removed.
42052
fd7d8eba 420532007-02-20 Hollis Blanchard <hollis@penguinppc.org>
42054
42055 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
42056 loop boundary.
42057
9b09e6fc 420582007-02-20 Hollis Blanchard <hollis@penguinppc.org>
42059
42060 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
42061 All users updated.
42062 (grub_elf64_load_hook_t): Likewise.
42063 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
42064 debug output.
42065
3ce27299 420662007-02-20 Hollis Blanchard <hollis@penguinppc.org>
42067
42068 * kern/mm.c: Update copyright.
42069 (grub_mm_debug): Correct syntax error.
42070 (grub_mm_dump_free): New function.
42071 (grub_debug_free): Call `grub_free'.
42072 * include/grub/mm.h: Update copyright.
42073 (grub_mm_dump_free): Add declaration.
42074
077d5fee 420752007-02-12 Hollis Blanchard <hollis@penguinppc.org>
42076
42077 * include/grub/ieee1275/ieee1275.h: Update copyright.
42078 * kern/powerpc/ieee1275/init.c: Likewise.
42079 * kern/powerpc/ieee1275/openfw.c: Likewise.
42080
42081 * loader/powerpc/ieee1275/linux.c: Likewise.
42082 * include/grub/elfload.h: Likewise.
42083 * kern/elf.c: Likewise.
42084 (grub_elf32_load): Pass `base' and `size' parameters. Update all
42085 callers.
42086 (grub_elf64_load): Likewise.
42087 (grub_elf32_load_segment): Move to a nested function.
42088 (grub_elf64_load_segment): Likewise.
42089
dc946850 420902007-02-12 Hollis Blanchard <hollis@penguinppc.org>
42091
42092 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
42093 prototype.
42094 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
42095 (grub_heap_len): Likewise.
42096 (HEAP_SIZE): New macro.
42097 (grub_claim_heap): New function.
42098 (grub_machine_init): Don't claim heap directly. Call
42099 `grub_claim_heap'.
42100 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
42101 (grub_available_iterate): New function.
42102
baa2a121 421032007-02-03 Thomas Schwinge <tschwinge@gnu.org>
42104
42105 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
42106 * configure.ac: Use it for testing the HOST and TARGET compilers.
42107
4fe9862e 421082006-12-13 Thomas Schwinge <tschwinge@gnu.org>
42109
42110 * Makefile.in (enable_grub_emu): New variable.
42111 * configure.ac (--enable-grub-emu): New option.
42112 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
42113 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
42114 * conf/i386-pc.rmk: Likewise.
42115 * conf/powerpc-ieee1275.rmk: Likewise.
42116 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
42117
a8aa5762 421182006-12-12 Marco Gerards <marco@gnu.org>
42119
42120 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
42121
42122 * kern/env.c (grub_env_unset): Don't free the member `value' when
42123 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
42124 pointer.
42125
42126 * normal/main.c (current_menu): Removed.
42127 (free_menu): Unset the `menu' environment variable.
42128 (grub_normal_menu_addentry): Make use of the environment variable
42129 `menu', instead of using the global `current_menu'. Allocate
42130 memory for the sourcecode of this entry.
42131 (read_config_file): New argument `nested', changed all callers.
42132 Only in the case of a new context, initialize a new menu. Set the
42133 `menu' environment variable.
42134 (grub_normal_execute): Don't set and unset the environment
42135 variable `menu' here anymore. Only free the menu when leaving the
42136 context.
42137
42138 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
42139 leak.
42140
957b3a3e 421412006-12-11 Marco Gerards <marco@gnu.org>
42142
42143 * normal/menu_entry.c (run): Fix off by one bug so the last line
42144 is executed. Move the loader check to outside the loop.
42145
ef875714 421462006-12-08 Hollis Blanchard <hollis@penguinppc.org>
42147
42148 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
42149
4e739985 421502006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
42151
42152 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
42153 the number of sectors. Reported by Andrey Shuvikov
42154 <mr_hyro@yahoo.com>.
f19dbdb7 42155
790707f2 421562006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
42157
42158 * kern/disk.c (grub_disk_read): When there is a read error, always
42159 try to read only the necessary data.
f19dbdb7 42160
790707f2 42161 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
42162 disk/raid.c.
42163 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
42164 prototype.
42165 [GRUB_UTIL] (grub_raid_fini): Likewise.
42166 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 42167 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 42168 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
42169 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
42170 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
42171 and grub_raid_fini().
f19dbdb7 42172
03e58196 421732006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
42174
42175 * include/grub/types.h (__unused): Rename to UNUSED.
42176 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
42177 (grub_elf64_size): Likewise.
f19dbdb7 42178
ae4f23bf 421792006-11-03 Hollis Blanchard <hollis@penguinppc.org>
42180
42181 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
42182 grub_error_push and grub_error_pop in the error-handling path.
42183 (grub_elf32_load_segment): Only call grub_file_read with non-zero
42184 length.
42185
2166cc83 421862006-11-03 Hollis Blanchard <hollis@penguinppc.org>
42187
42188 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
42189 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
42190 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42191 (kernel_elf_SOURCES): Likewise.
42192 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
42193 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
42194 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
42195 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
42196 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
42197 (elf_mod_SOURCES): New variable.
42198 (elf_mod_CFLAGS): Likewise.
42199 (elf_mod_LDFLAGS): Likewise.
42200 * include/grub/types.h (__unused): New macro.
42201 * include/grub/elfload.h: New file.
42202 * kern/elf.c: Likewise.
42203 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
42204 (ELF32_LOADMASK): New macro.
42205 (ELF64_LOADMASK): Likewise.
42206 (vmlinux): Removed.
42207 (grub_linux_load32): New function.
42208 (grub_linux_load64): Likewise.
42209 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
42210 Use grub_elf_t instead of grub_file_t.
42211
a09d5aa5 422122006-11-02 Hollis Blanchard <hollis@penguinppc.org>
42213
42214 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
42215 `catch_result' to struct set_color_args.
42216
d976fc51 422172006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
42218
42219 * normal/menu.c: Include grub/script.h.
42220 * normal/menu_entry.c: Likewise.
42221 * include/grub/normal.h: Do not include grub/script.h.
42222
67507549 422232006-10-27 Hollis Blanchard <hollis@penguinppc.org>
42224
42225 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
42226
69203a99 422272006-10-27 Hollis Blanchard <hollis@penguinppc.org>
42228
42229 * kern/disk.c (grub_disk_open): Print debug messages when opening a
42230 disk.
42231 (grub_disk_close): Print debug messages when closing a disk.
42232 (grub_disk_read): Print debug messages when disk read fails.
42233 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
42234 filesystem type.
42235 * kern/partition.c: Include misc.h.
42236 (grub_partition_iterate): Print debug messages when detecting
42237 partition type.
42238
e2b8278c 422392006-10-27 Hollis Blanchard <hollis@penguinppc.org>
42240
42241 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
42242 is negative.
42243 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
42244
97b2f2ff 422452006-10-26 Hollis Blanchard <hollis@penguinppc.org>
42246
42247 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
42248 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
42249
6555d655 422502006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
42251
42252 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
42253 instead of sizeof(lv). Patch by Michael Guntsche.
42254
4d42b77f 422552006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
42256
42257 * disk/lvm.c: Rename VGS to VG_LIST.
42258 (grub_lvm_iterate): Change VGS->LV to VG-LV.
42259 (grub_lvm_open): Likewise.
42260 Thanks to Michael Guntsche for finding this bug.
42261
5d74d927 422622006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
42263
42264 * configure.ac (AC_INIT): Bumped to 1.95.
42265
a1bb27e4 422662006-10-14 Robert Millan <rmh@aybabtu.com>
42267
42268 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
42269 with "/dev/.static/dev/md".
42270
e0994b8b 422712006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
42272
42273 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
42274 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
42275 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
42276 DRIVE_NAME are always freed.
42277
42278 * util/i386/pc/biosdisk.c (make_device_name): Add one into
42279 DOS_PART, as a DOS partition is counted from one instead of zero
42280 now. Reported by Robert Millan.
42281
ddd5cee9 422822006-10-14 Robert Millan <rmh@aybabtu.com>
42283
42284 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
42285 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
42286 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
42287 string returned by grub_guess_root_device.
42288 * util/i386/pc/grub-setup.c: Likewise.
42289 * util/i386/pc/grub-probefs.c: Likewise.
42290
42291 * util/i386/pc/grub-probefs.c: Rename to ...
42292 * util/i386/pc/grub-probe.c: ... this.
42293 * DISTLIST: Remove grub-probefs, add grub-probe.
42294 * conf/i386-efi.rmk: Likewise.
42295 * conf/i386-pc.rmk: Likewise.
42296 * util/i386/pc/grub-install.in: Likewise.
42297
42298 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
42299 choose which information we want to print.
42300
2b002173 423012006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
42302
42303 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
42304 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
42305 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
42306 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
42307 video/readers/tga.c and video/i386/pc/vbeutil.c.
42308
423092006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
42310
42311 Added support for RAID and LVM.
f19dbdb7 42312
2b002173 42313 * disk/lvm.c: New file.
42314 * disk/raid.c: Likewise.
42315 * include/grub/lvm.h: Likewise.
f19dbdb7 42316 * include/grub/raid.h: Likewise.
2b002173 42317 * include/grub/util/lvm.h: Likewise.
42318 * include/grub/util/raid.h: Likewise.
42319 * util/lvm.c: Likewise.
42320 * util/raid.c: Likewise.
42321
42322 * include/grub/disk.h (grub_disk_dev_id): Add
42323 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
42324 (grub_disk_get_size): New prototype.
42325 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
42326 returns a partition.
42327 (grub_disk_get_size): New function.
f19dbdb7 42328
2b002173 42329 * kern/i386/pc/init.c (make_install_device): Copy the prefix
42330 verbatim if grub_install_dos_part is -2.
42331
42332 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
42333 and LVM devices.
42334
42335 * util/i386/pc/grub-setup.c (setup): New argument
42336 MUST_EMBED. Force embedding of GRUB when the argument is
42337 true. Close FILE before returning.
42338 (main): Add support for RAID and LVM.
f19dbdb7 42339
2b002173 42340 * conf/common.rmk: Add RAID and LVM modules.
42341 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
42342 util/lvm.c.
42343 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
42344
42345 * kern/misc.c (grub_strstr): New function.
42346 * include/grub/misc.h (grub_strstr): New prototype.
42347
050548d0 423482006-10-10 Tristan Gingold <tristan.gingold@bull.net>
42349
42350 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
42351
da849d2d 423522006-10-05 Tristan Gingold <tristan.gingold@bull.net>
42353
42354 * kern/misc.c (grub_strtoull): Guess the base only if not
42355 specified.
42356
97b2f2ff 423572006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 42358
42359 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
42360 PowerMac support.
42361
97b2f2ff 423622006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 42363
42364 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
42365
42366 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
42367 Remove `flags' argument. All callers changed.
42368 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
42369 (IEEE1275_IHANDLE_INVALID): New variable.
42370 (IEEE1275_CELL_INVALID): New variable.
42371 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
42372 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
42373 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
42374 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
42375 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
42376 codes from Open Firmware. All callers updated.
42377 (grub_ieee1275_next_property): Directly return Open Firmware return
42378 code.
42379 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
42380 Standardize error checking from `grub_ieee1275_get_property'.
42381 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
42382 `devalias' to `aliases'. Correct comments. Consolidate error paths.
42383
97b2f2ff 423842006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 42385
42386 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
42387 `instance_to_package_args' to `instance_to_path_args'.
42388
42389 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
42390 `grub_ieee1275_chosen'.
42391
42392 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
42393 `grub_ieee1275_interpret'.
42394
97b2f2ff 423952006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 42396
42397 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
42398
97b2f2ff 423992006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 42400
42401 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
42402 (__cmpdi): Likewise.
42403
42404 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
42405 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
42406 `grub_ssize_t'.
42407
02bb8acc 42408 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 42409
42410 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
42411 to type `grub_ssize_t'.
42412 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
42413
7f9a8531 424142006-09-22 Marco Gerards <marco@gnu.org>
42415
42416 * normal/script.c (grub_script_create_cmdmenu): Skip leading
42417 newlines.
42418
b5ef1102 424192006-09-22 Marco Gerards <marco@gnu.org>
42420
42421 * commands/echo.c: New file.
42422
42423 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
42424
42425 * conf/common.rmk (echo_mod_SOURCES): New variable.
42426 (echo_mod_CFLAGS): Likewise.
42427 (echo_mod_LDFLAGS): Likewise.
42428
2cff3677 424292006-09-22 Marco Gerards <marco@gnu.org>
42430
42431 * normal/main.c (get_line): Malloc memory instead of using
42432 preallocated memory. Removed the arguments `cmdline' and
42433 `max_len'. Updated all callers.
42434
6ba4688b 424352006-09-22 Marco Gerards <marco@gnu.org>
42436
42437 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
42438 (normal_mod_DEPENDENCIES): Likewise.
42439
42440 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
42441 (normal_mod_DEPENDENCIES): Likewise.
42442
42443 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
42444
e02ac02c 424452006-09-22 Johan Rydberg <jrydberg@gnu.org>
42446
42447 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
42448 programs.
42449 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
42450 (normal_mod_DEPENDENCIES): Likewise.
42451 * conf/i386-pc.mk: Regenerate.
42452 * conf/i386-efi.mk: Likewise
42453 * conf/common.mk: Likewise.
42454 * conf/powerpc-ieee1275.mk: Likewise.
42455 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 42456
8d252e44 424572006-09-22 Robert Millan <rmh@aybabtu.com>
42458
42459 Sync with i386 version.
42460 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
42461 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
42462
209bf7ac 424632006-09-21 Robert Millan <rmh@aybabtu.com>
42464
42465 Import from GRUB Legacy (lib/device.c):
42466 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
42467 (init_device_map) [__linux__]: Add support for I2O devices.
42468
6b146090 424692006-09-14 Marco Gerards <marco@gnu.org>
42470
42471 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
42472 `-melf_i386'.
42473
e38600a8 424742006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 42475
42476 * util/i386/pc/grub-install.in: Skip menu.lst when removing
42477 /boot/grub/*.lst.
78fa1790 42478
2952da5d 42479 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 42480
2952da5d 42481 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
42482 before adding it to device.map.
42483
01b82a64 424842006-08-15 Johan Rydberg <jrydberg@gnu.org>
42485
fe6b695a 42486 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 42487 compiles a file; using the -MD option.
42488 * conf/common.mk: Regenerate.
42489 * conf/i386-pc.mk: Likewise.
42490 * conf/i386-efi.mk: Likewise.
42491 * conf/powerpc-ieee1275.mk: Likewise.
42492 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 42493
1064790d 424942006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
42495
42496 Move the prototypes of grub_setjmp and grub_longjmp to
42497 cpu/setjmp.h, so that each architecture may specify different
42498 attributes.
f19dbdb7 42499
1064790d 42500 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
42501 (grub_longjmp): Likewise.
42502 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
42503 (grub_longjmp): Likewise.
42504 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
42505 (grub_longjmp): Likewise.
42506
42507 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
42508 [!GRUB_UTIL] (grub_longjmp): Removed.
42509
29dda3ed 425102006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
42511
42512 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
42513 "color!" method does not return any value.
42514
ad2a06ed 425152006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
42516
42517 * include/grub/bitmap.h: New file.
42518
42519 * include/grub/i386/pc/vbeutil.h: Likewise.
42520
42521 * video/bitmap.c: Likewise.
42522
42523 * video/readers/tga.c: Likewise.
42524
42525 * video/i386/pc/vbeutil.c: Likewise.
42526
42527 * commands/videotest.c: Code cleanup and updated to reflect to new
42528 video API.
42529
42530 * term/gfxterm.c: Likewise.
42531
42532 * video/video.c: Likewise.
42533
42534 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
42535 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
42536 (bitmap_mod_SOURCES): New entry.
42537 (bitmap_mod_CFLAGS): Likewise.
42538 (bitmap_mod_LDFLAGS): Likewise.
42539 (tga_mod_SOURCES): Likewise.
42540 (tga_mod_CFLAGS): Likewise.
42541 (tga_mod_LDFLAGS): Likewise.
42542
42543 * include/grub/video.h (grub_video_blit_operators): New enum type.
42544 (grub_video_render_target): Changed as forward declaration and moved
42545 actual definition to be video driver specific.
42546 (grub_video_adapter.blit_bitmap): Added blitting operator.
42547 (grub_video_adapter.blit_render_target): Likewise.
42548 (grub_video_blit_bitmap): Likewise.
42549 (grub_video_blit_render_target): Likewise.
42550
42551 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
42552 driver specific render target definition.
42553 (grub_video_vbe_map_rgba): Added driver internal helper.
42554 (grub_video_vbe_unmap_color): Updated to use
42555 grub_video_i386_vbeblit_info.
42556 (grub_video_vbe_get_video_ptr): Likewise.
42557
42558 * include/grub/i386/pc/vbeblit.h
42559 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
42560 grub_video_i386_vbeblit_info.
42561 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
42562 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
42563 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
42564 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
42565 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
42566 (grub_video_i386_vbeblit_index_index): Likewise.
42567 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
42568 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
42569 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
42570 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
42571 operator.
42572 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
42573 operator.
42574
42575 * video/i386/pc/vbeblit.c: Updated to reflect changes on
42576 include/grub/i386/pc/vbeblit.h.
42577
42578 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
42579 Updated to use grub_video_i386_vbeblit_info.
42580 (grub_video_i386_vbefill_R8G8B8): Likewise.
42581 (grub_video_i386_vbefill_index): Likewise.
42582 (grub_video_i386_vbefill): Added generic filler.
42583
42584 * video/i386/pc/vbefill.c: Updated to reflect changes on
42585 include/grub/i386/pc/vbefill.h.
42586
42587 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
42588 grub_video_i386_vbeblit_info.
42589 (grub_video_vbe_unmap_color): Likewise.
42590 (grub_video_vbe_blit_glyph): Likewise.
42591 (grub_video_vbe_scroll): Likewise.
42592 (grub_video_vbe_draw_pixel): Removed function.
42593 (grub_video_vbe_get_pixel): Likewise.
42594 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
42595 updated code to use it.
42596 (common_blitter): Added common blitter for render target and bitmap.
42597 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
42598 (grub_video_vbe_blit_render_target): Likewise.
42599
bc8c036d 426002006-07-30 Johan Rydberg <jrydberg@gnu.org>
42601
42602 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
42603 is in text mode if there is no console control protocol instance
42604 available.
42605
684a8eff 426062006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
42607
42608 * include/grub/video.h: Code cleanup.
42609
42610 * include/grub/i386/pc/vbe.h: Likewise.
42611
42612 * video/i386/pc/vbe.c: Likewise.
42613
42614 * video/i386/pc/vbeblit.c: Likewise.
42615
42616 * video/i386/pc/vbefill.c: Likewise.
42617
42618 * video/video.c: Likewise. Also added more comments.
42619
5915059b 426202006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
42621
42622 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
42623 (struct grub_biosdisk_dap): Likewise.
42624
42625 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
42626 linkage settings for all functions.
42627
90ce5d56 426282006-07-12 Marco Gerards <marco@gnu.org>
42629
42630 * configure.ac (--enable-mm-debug): Fix typo.
42631
42632 * genkernsyms.sh.in: Use proper quoting for `CC'.
42633
43e7f879 426342006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
42635
42636 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
42637 (normal_mod_ASFLAGS): Remove "-m32".
42638
4889bdec 426392006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
42640
42641 * util/misc.c: Include config.h.
42642 [!HAVE_MEMALIGN]: Do not include malloc.h.
42643 (grub_memalign): Use posix_memalign, if present. Then, use
42644 memalign, if present. Otherwise, emit an error.
42645
42646 * util/grub-emu.c: Do not include malloc.h.
42647
42648 * include/grub/util/misc.h: Include unistd.h. This is required for
42649 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
42650 D. Eades III <hde@foobar-qux.org>.
42651
42652 * configure.ac (AC_GNU_SOURCE): Added.
42653 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
42654 type.
42655
fd39d4da 426562006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
42657
42658 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
42659 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
42660
b786f3b5 426612006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
42662
42663 * include/grub/types.h (grub_host_addr_t): Rename to
42664 grub_target_addr_t.
42665 (grub_host_off_t): Rename to grub_target_off_t.
42666 (grub_host_size_t): Rename to grub_target_size_t.
42667 (grub_host_ssize_t): Rename to grub_target_ssize_t.
42668 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
42669
42670 * include/grub/kernel.h (struct grub_module_header): Change type
42671 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
42672 (grub_module_info): Likewise.
f19dbdb7 42673
051988bb 426742006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
42675
42676 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
42677 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
42678 Velazquez <jesus.velazquez@gmail.com>.
42679
deae281b 426802006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
42681
42682 Count partitions from 1 instead of 0 in the string representation
42683 of partitions. Still use 0-based internally.
f19dbdb7 42684
deae281b 42685 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
42686 (sun_partition_map_iterate): Use grub_partition_t instead of
42687 struct grub_partition *. Cast DESC->START_CYLINDER to
42688 grub_uint64_t after converting the endian.
42689 (sun_partition_map_probe): Subtract 1 for PARTNUM.
42690 (sun_partition_map_get_name): Add 1 to P->INDEX.
42691
42692 * partmap/pc.c (grub_partition_parse): Subtract 1 for
42693 PCDATA->DOS_PART.
42694 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
42695
42696 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
42697 zero instead of one.
42698 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
42699 (gpt_partition_map_get_name): Add 1 into P->INDEX.
42700
42701 * partmap/apple.c (apple_partition_map_iterate): Change the type
42702 of POS to unsigned.
42703 (apple_partition_map_probe): Subtract 1 for PARTNUM.
42704 (apple_partition_map_get_name): Add 1 into P->INDEX.
42705
42706 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
42707 of POS to unsigned.
42708 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
42709 calculate the offset of a partition.
42710 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
42711 (amiga_partition_map_get_name): Add 1 into P->INDEX.
42712
42713 * partmap/acorn.c (acorn_partition_map_find): Change the type of
42714 SECTOR to grub_disk_addr_t.
42715 (acorn_partition_map_iterate): Likewise.
42716 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
42717 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
42718 top.
42719 (acorn_partition_map_get_name): Add 1 into P->INDEX.
42720
42721 * kern/i386/pc/init.c (make_install_device): Add 1 into
42722 GRUB_INSTALL_DOS_PART.
42723
42724 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
42725 conditional.
42726
524a1e6a 427272006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
42728
42729 Clean up the code to support 64-bit addressing in disks and
42730 files. This change is not enough for filesystems yet.
f19dbdb7 42731
524a1e6a 42732 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
42733 type of "start" to grub_uint64_t.
42734 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
42735 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
42736 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
42737 convert addresses.
42738
42739 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
42740 to grub_disk_addr_t.
42741
42742 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
42743 string.
42744
42745 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42746
42747 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
42748 to char *.
42749
42750 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
42751
42752 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
42753
42754 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
42755
42756 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
42757 to grub_off_t, to detect an error from grub_file_seek.
42758 (grub_multiboot_load_elf32): Likewise.
42759
42760 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
42761 maximum unsigned long value when an overflow is detected.
42762 (grub_strtoull): New function.
42763 (grub_divmod64): Likewise.
42764 (grub_lltoa): use grub_divmod64.
42765
42766 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
42767 grub_disk_addr_t.
42768 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
42769 the pointer to next character. Use grub_strtoull instead of
42770 grub_strtoul.
42771 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
42772 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
42773 respectively.
42774
fe6b695a 42775 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 42776 return value is signed.
42777 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
42778 test if OFFSET is less than zero, as OFFSET is unsigned now.
42779
42780 * kern/disk.c (struct grub_disk_cache): Change the type of
42781 "sector" to grub_disk_addr_t.
42782 (grub_disk_cache_get_index): Change the type of SECTOR to
42783 grub_disk_addr_t. Calculate the hash with SECTOR casted to
42784 unsigned after shifting.
42785 (grub_disk_cache_invalidate): Change the type of SECTOR to
42786 grub_disk_addr_t.
42787 (grub_disk_cache_unlock): Likewise.
42788 (grub_disk_cache_store): Likewise.
42789 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
42790 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
42791 grub_disk_addr_t and grub_uint64_t, respectively.
42792 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
42793 body, as the value of OFFSET is tweaked by
42794 grub_disk_check_range. Change the types of START_SECTOR, LEN and
42795 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
42796 respectively.
42797 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
42798 body, as the value of OFFSET is tweaked by
42799 grub_disk_check_range. Change the types of LEN and N to
42800 grub_size_t.
42801
42802 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
42803 and "saved_offset" to grub_off_t.
42804 (test_header): Cast BUF to char *.
42805 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
42806 to char *.
42807 (grub_gzio_read): Change the types of OFFSET and SIZE to
42808 grub_off_t and grub_size_t, respectively.
42809
42810 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
42811 Removed.
42812 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
42813 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
42814 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
42815 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
42816 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
42817
42818 * include/grub/types.h (grub_off_t): Unconditionally set to
42819 grub_uint64_t.
42820 (grub_disk_addr_t): Changed to grub_uint64_t.
42821
42822 * include/grub/partition.h (struct grub_partition): Change the
42823 types of "start", "len" and "offset" to grub_disk_addr_t,
42824 grub_uint64_t and grub_disk_addr_t, respectively.
42825 (grub_partition_get_start): Return grub_disk_addr_t.
42826 (grub_partition_get_len): Return grub_uint64_t.
42827
42828 * include/grub/misc.h (grub_strtoull): New prototype.
42829 (grub_divmod64): Likewise.
42830
42831 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
42832 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
42833 grub_off_t, respectively.
42834 All callers and references changed.
42835
42836 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
42837 grub_size_t in "read".
42838 All callers and references changed.
42839
42840 * include/grub/file.h (struct grub_file): Change the types of
42841 "offset" and "size" to grub_off_t and grub_off_t,
42842 respectively. Change the type of SECTOR to grub_disk_addr_t in
42843 "read_hook".
42844 (grub_file_read): Change the type of LEN to grub_size_t.
42845 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
42846 grub_off_t.
42847 (grub_file_size): Return grub_off_t.
42848 (grub_file_tell): Likewise.
42849 All callers and references changed.
42850
42851 * include/grub/disk.h (struct grub_disk_dev): Change the types of
42852 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
42853 "write".
42854 (struct grub_disk): Change the type of "total_sectors" to
42855 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 42856 "read_hook".
524a1e6a 42857 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
42858 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
42859 (grub_disk_write): Likewise.
42860 All callers and references changed.
42861
42862 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
42863 char * for grub_strncmp to silence gcc.
42864 (grub_iso9660_mount): Likewise.
42865 (grub_iso9660_mount): Likewise.
42866 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
42867 return statement.
42868 (grub_iso9660_iterate_dir): Likewise.
42869 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
42870
42871 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
42872 LEN to grub_disk_addr_t and grub_size_t, respectively.
42873
42874 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
42875
42876 * fs/jfs.c (grub_jfs_read_file): Likewise.
42877
42878 * fs/minix.c (grub_jfs_read_file): Likewise.
42879
42880 * fs/sfs.c (grub_jfs_read_file): Likewise.
42881
42882 * fs/ufs.c (grub_jfs_read_file): Likewise.
42883
42884 * fs/xfs.c (grub_jfs_read_file): Likewise.
42885
42886 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
42887 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
42888 respectively.
42889
42890 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
42891 BLKNR to -1 instead of returning GRUB_ERRNO.
42892 (grub_ext2_read_file): Change the types of SECTOR and
42893 LEN to grub_disk_addr_t and grub_size_t, respectively.
42894
42895 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
42896 LEN to grub_disk_addr_t and grub_size_t, respectively.
42897
42898 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
42899 grub_file_read.
42900
42901 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
42902 string. Do not cast SECTOR explicitly.
42903
42904 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
42905 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
42906 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
42907 grub_disk_addr_t and grub_size_t, respectively. If the sector is
42908 over 2TB and LBA mode is not supported, raise an error.
42909 (get_safe_sectors): New function.
42910 (grub_biosdisk_read): Use get_safe_sectors.
42911 (grub_biosdisk_write): Likewise.
42912
42913 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
42914 (grub_efidisk_write): Likewise.
42915
42916 * disk/loopback.c (delete_loopback): Cosmetic changes.
42917 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
42918 correctly.
42919 (grub_loopback_open): Likewise.
42920 (grub_loopback_read): Likewise. Also, change the type of POS to
42921 grub_off_t, and fix the usage of grub_memset.
42922
42923 * commands/i386/pc/play.c: Include grub/machine/time.h.
42924
42925 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
42926 print FILE->SIZE.
42927
42928 * commands/configfile.c: Include grub/env.h.
42929
42930 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
42931 GRUB_ERRNO directly instead. Change the type of POS to
42932 grub_off_t. Follow the coding standard.
42933
42934 * commands/blocklist.c: Include grub/partition.h.
42935 (grub_cmd_blocklist): Return an error if the underlying device is
42936 not a disk. Take the starting sector of a partition into account,
42937 if a partition is used.
42938
42939 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
42940 a length field.
42941 (lba_mode): Support 64-bit addresses.
42942 (chs_mode): Likewise.
42943 (copy_buffer): Adapted to the new offsets of a length field and a
42944 segment field.
42945 (blocklist_default_start): Allocate 64-bit space.
42946
42947 * boot/i386/pc/boot.S (force_lba): Removed.
42948 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 42949 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 42950 space.
42951 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
42952 is useless.
42953 (lba_mode): Refactored to support a 64-bit address. More size
42954 optimization.
42955 (setup_sectors): Likewise.
42956
53af98ad 429572006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
42958
42959 * DISTLIST: Added include/grub/i386/linux.h. Removed
42960 include/grub/i386/pc/linux.h
42961
42962 * configure.ac (AC_INIT): Bumped to 1.94.
42963
42964 * config.guess: Updated from gnulib.
42965 * config.sub: Likewise.
42966 * install-sh: Likewise.
42967 * mkinstalldirs: Likewise.
42968
b4c1940a 429692006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
42970
42971 * conf/common.rmk (grub_modules_init.lst): Depended on
42972 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
42973 MODSRCFILES.
42974
42975 * genmk.rb (PModule::rule): Reverted the previous change.
42976
cfca1cfd 429772006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
42978
42979 * conf/common.rmk (grub_modules_init.lst): Depends on
42980 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
42981 that the target does not exist before producing.
42982 (grub_modules_init.h): Remove the target before generating.
42983 (grub_emu_init.c): Likewise.
42984
42985 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
42986
aa6d7826 429872006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
42988
42989 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
42990 for the target-specific tests. Make sure that we also have the
42991 up-to-date target variables for those tests.
42992
26c607b9 429932006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
42994
42995 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
42996 (PModule::rule): Likewise.
42997
0162321a 429982006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
42999
43000 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
43001 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
43002 target-specific flags should be prefixed.
43003 (PModule::rule): Likewise.
43004
6c826348 430052006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
43006
43007 * configure.ac (CMP): Check if cmp is available explicitly.
43008
b977bf01 430092006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
43010
43011 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
43012 (target_cpu): New variable.
43013 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 43014
b977bf01 43015 * util/i386/pc/grub-install.in (host_cpu): Removed.
43016 (target_cpu): New variable.
43017 (pkglibdir): Use target_cpu instead of host_cpu.
43018
43019 * util/genmoddep.c: Removed.
f19dbdb7 43020
b977bf01 43021 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
43022 instead of GRUB_HOST_SIZEOF_VOID_P.
43023 * kern/dl.c: Likewise.
43024
43025 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
43026 ...
43027 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
43028 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
43029 (GRUB_TARGET_SIZEOF_LONG): ... this.
43030 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
43031 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
43032 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
43033 to ...
43034 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
43035 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
43036 (GRUB_TARGET_SIZEOF_LONG): ... this.
43037 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
43038 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
43039 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
43040 to ...
43041 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
43042 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
43043 (GRUB_TARGET_SIZEOF_LONG): ... this.
43044 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
43045 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
43046
43047 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
43048 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
43049 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
43050 instead of GRUB_HOST_SIZEOF_LONG.
43051 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
43052 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
43053 GRUB_CPU_WORDS_BIGENDIAN.
43054 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
43055 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
43056 grub_host_ssize_t.
43057
43058 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
43059 (genmoddep_SOURCES): Likewise.
43060 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
43061 (genmoddep_SOURCES): Likewise.
43062 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
43063 (genmoddep_SOURCES): Likewise.
43064 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
43065 Likewise.
43066 (genmoddep_SOURCES): Likewise.
43067
43068 * genmoddep.awk: New file.
43069
43070 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
43071 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
43072 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
43073 (PModule::rule): Likewise.
43074 (Program::rule): Likewise.
43075 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
43076 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
43077 respectively.
43078
43079 * configure.ac: Rewritten intensively to use host and target
43080 instead of build and host, respectively.
43081
43082 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
43083 (host_cpu): Removed.
43084 (target_cpu): New variable.
43085 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
43086 (BUILD_CC): Removed.
43087 (BUILD_CFLAGS): Likewise.
43088 (BUILD_CPPFLAGS): Likewise.
43089 (TARGET_CC): New variable.
43090 (TARGET_CFLAGS): Likewise.
43091 (TARGET_CPPFLAGS): Likewise.
43092 (TARGET_LDFLAGS): Likewise.
43093 (AWK): Likewise.
43094 (include): Use target_cpu instead of host_cpu.
43095 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 43096
b977bf01 43097 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
43098
f09771a1 430992006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
43100
43101 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
43102 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
43103 field 'false' to 'exec_on_false'.
43104 (grub_script_create_cmdif): Renamed argument names to reflect above
43105 changes.
43106
43107 * normal/execute.c (grub_script_execute_cmdif): Likewise.
43108
43109 * normal/script.c (grub_script_create_cmdif): Likewise.
43110
118f4fb3 431112006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
43112
43113 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
43114 top.
43115 (grub_hfsplus_btree_recptr): Likewise.
43116 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
43117 FILEBLOCK both to pass a block number and store next block
43118 number.
43119 (grub_hfsplus_read_block): Rewritten heavily to support an extent
43120 overflow file correctly. Specify errors appropriately, because
43121 fshelp expects that GRUB_ERRNO is set when fails. Reuse
43122 grub_hfsplus_btree_recptr to get the pointer to a found key.
43123 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
43124 is found.
43125
43126 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
43127 linux.mod.
43128 (_linux_mod_SOURCES): New variable.
43129 (_linux_mod_CFLAGS): Likewise.
43130 (_linux_mod_LDFLAGS): Likewise.
43131 (linux_mod_SOURCES): Likewise.
43132 (linux_mod_CFLAGS): Likewise.
43133 (linux_mod_LDFLAGS): Likewise.
43134
43135 * DISTLIST: Added loader/i386/efi/linux.c,
43136 loader/i386/efi/linux_normal.c and
43137 include/grub/i386/efi/loader.h.
43138
43139 * loader/i386/efi/linux.c: New file.
43140 * loader/i386/efi/linux_normal.c: Likewise.
43141 * include/grub/i386/efi/loader.h: Likewise.
43142
89a7d726 431432006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
43144
43145 * commands/blocklist.c: New file.
43146
43147 * DISTLIST: Added commands/blocklist.c.
43148
43149 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 43150 color for the background, and a darker color for the foreground.
89a7d726 43151 (grub_console_checkkey): Return READ_KEY.
43152 (grub_console_cls): Set the background to
43153 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
43154
43155 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
43156
43157 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
43158 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
43159
43160 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
43161 prototype.
43162
43163 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
43164 BG. The spec is wrong again.
43165
43166 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
43167 prototype.
43168 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
43169
43170 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
43171 commands/blocklist.c.
43172 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 43173
89a7d726 43174 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
43175 (blocklist_mod_SOURCES): New variable.
43176 (blocklist_mod_CFLAGS): Likewise.
43177 (blocklist_mod_LDFLAGS): Likewise.
43178
75c8f258 431792006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
43180
43181 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
43182 duplication.
43183 (lba_mode): Use %eax more intensively to reduce the code size.
43184
da2eb181 431852006-05-20 Marco Gerards <marco@gnu.org>
43186
43187 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
43188
43189 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
43190 for `menuentry'.
43191 (script): Accept leading newlines.
43192 (newlines): New rule to describe 0 or more newlines.
43193 (commands): Accept `command' with trailing newline. Fixed the
43194 order in which arguments were passed to `grub_script_add_cmd'.
43195 Accept commands separated by newlines.
43196 (function): Changed to accept newlines.
43197 (menuentry) Rewritten.
43198
43199 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
43200 front of the list, instead of to the end.
43201
577b4050 432022006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
43203
43204 * util/i386/pc/grub-install.in (bindir): New variable.
43205 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
43206 Shaver <lbgwjl@gmail.com>.
43207
0d6e1189 432082006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
43209
43210 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
43211 grub/machine/linux.h
43212 * loader/i386/pc/linux.c: Likewise.
43213
43214 * include/grub/i386/pc/linux.h: Moved to ...
43215 * include/grub/i386/linux.h: ... here.
43216
43217 * include/grub/i386/linux.h (struct linux_kernel_params): New
43218 struct.
f19dbdb7 43219
31b86e9f 432202006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
43221
43222 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
43223 checking.
43224 (grub_video_vbe_blit_glyph): Likewise.
43225 (grub_video_vbe_blit_bitmap): Likewise.
43226 (grub_video_vbe_blit_render_target): Likewise.
43227
83b984de 432282006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
43229
43230 * configure.ac (--with-platform): Properly quote the square
43231 brackets.
43232
5f0413bd 432332006-05-08 Marco Gerards <marco@gnu.org>
43234
43235 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
43236 this...
43237 (kernel_elf_HEADERS): ...to this. Updated all users.
43238 (grubof_symlist.c): Renamed from this...
43239 (kernel_elf_symlist.c): ...to this. Updated all users.
43240 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
43241 (grubof_SOURCES): Renamed from this...
43242 (kernel_elf_SOURCES): ...to this.
43243 (grubof_HEADERS): Renamed from this...
43244 (kernel_elf_HEADERS): ...to this.
43245 (grubof_CFLAGS): Renamed from this...
43246 (kernel_elf_CFLAGS): ...to this.
43247 (grubof_ASFLAGS): Renamed from this...
43248 (kernel_elf_ASFLAGS): ...to this.
43249 (grubof_LDFLAGS): Renamed from this...
43250 (kernel_elf_LDFLAGS): ...to this.
43251
43252 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
43253 this...
43254 (kernel_elf_HEADERS): ...to this. Updated all users.
43255 (grubof_symlist.c): Renamed from this...
43256 (kernel_elf_symlist.c): ...to this. Updated all users.
43257 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
43258 (grubof_SOURCES): Renamed from this...
43259 (kernel_elf_SOURCES): ...to this.
43260 (grubof_HEADERS): Renamed from this...
43261 (kernel_elf_HEADERS): ...to this.
43262 (grubof_CFLAGS): Renamed from this...
43263 (kernel_elf_CFLAGS): ...to this.
43264 (grubof_ASFLAGS): Renamed from this...
43265 (kernel_elf_ASFLAGS): ...to this.
43266 (grubof_LDFLAGS): Renamed from this...
43267 (kernel_elf_LDFLAGS): ...to this.
43268
43269 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
43270 `kernel.elf' instead of `grubof'.
43271
05568c2e 432722006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
43273
43274 Add --with-platform to configure. Use pkglibdir instead of
43275 pkgdatadir. This is reported by Roger Leigh.
43276
43277 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
43278 (host_vendor): Likewise.
43279 (host_os): Likewise.
43280 (pkgdatadir): Likewise.
43281 (platform): New variable.
43282 (pkglibdir): Likewise.
43283 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 43284
05568c2e 43285 * util/i386/pc/grub-install.in (datadir): Removed.
43286 (host_vendor): Likewise.
43287 (host_os): Likewise.
43288 (pkgdatadir): Likewise.
43289 (platform): New variable.
43290 (pkglibdir): Likewise.
43291 Use PKGLIBDIR instead of PKGDATADIR.
43292
43293 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
43294 instead of GRUB_DATADIR.
43295 (main): Likewise.
43296 * util/i386/pc/grub-mkimage.c (usage): Likewise.
43297 (main): Likewise.
43298 * util/i386/efi/grub-mkimage.c (usage): Likewise.
43299 (main): Likewise.
43300
43301 * configure.ac (--with-platform): New option.
43302 Use PLATFORM instead of HOST_VENDOR to specify a platform.
43303
43304 * Makefile.in: Include a makefile based on PLATFORM instead of
43305 HOST_VENDOR.
43306 (pkgdatadir): Not appended by the machine type.
43307 (pkglibdir): Appended by the machine type.
43308 (host_vendor): Removed.
43309 (platform): New variable.
43310 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
43311 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
43312 (uninstall): Likewise.
43313
4e93851c 433142006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
43315
43316 Use the environment context in the menu. Remove the commands
43317 "default" and "timeout", and use variables instead.
f19dbdb7 43318
4e93851c 43319 * normal/menu.c: Include grub/env.h.
43320 (print_entry): Cast TITLE to silence gcc.
43321 (get_timeout): New function.
43322 (set_timeout): Likewise.
43323 (get_entry_number): Likewise.
43324 (run_menu): Use a default entry, a fallback entry and a timeout
43325 in the environment variables "default", "fallback" and
43326 "timeout". Also, tweak the default entry if it is not within the
43327 current menu entries.
43328 (grub_menu_run): Use a fallback entry in the environment variable
43329 "fallback".
43330
43331 * normal/main.c (read_config_file): Do not initialize
43332 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
43333 NEWMENU->TIMEOUT.
43334 (grub_normal_execute): Use a data slot to store the menu.
43335
43336 * include/grub/normal.h (struct grub_menu): Removed default_entry,
43337 fallback_entry and timeout.
43338 (struct grub_menu_list): Removed.
43339 (grub_menu_list_t): Likewise.
43340 (struct grub_context): Likewise.
43341 (grub_context_t): Likewise.
43342 (grub_context_get): Likewise.
43343 (grub_context_get_current_menu): Likewise.
43344 (grub_context_push_menu): Likewise.
43345 (grub_context_pop_menu): Likewise.
43346 (grub_default_init): Likewise.
43347 (grub_default_fini): Likewise.
43348 (grub_timeout_init): Likewise.
43349 (grub_timeout_fini): Likewise.
43350
43351 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
43352 and timeout.mod.
43353 (normal_mod_SOURCES): Removed normal/context.c.
43354
43355 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
43356 commands/default.c, commands/timeout.c and normal/context.c.
43357 (normal_mod_SOURCES): Removed normal/context.c.
43358
43359 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
43360 commands/timeout.c and normal/context.c.
43361 (normal_mod_SOURCES): Removed normal/context.c.
43362
43363 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
43364 commands/default.c, commands/timeout.c and normal/context.c.
43365 (normal_mod_SOURCES): Removed normal/context.c.
43366
43367 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
43368 timeout.mod.
43369 (default_mod_SOURCES): Removed.
43370 (default_mod_CFLAGS): Likewise.
43371 (default_mod_LDFLAGS): Likewise.
43372 (timeout_mod_SOURCES): Removed.
43373 (timeout_mod_CFLAGS): Likewise.
43374 (timeout_mod_LDFLAGS): Likewise.
43375
43376 * DISTLIST: Removed commands/default.c, commands/timeout.c and
43377 normal/context.c.
43378
43379 * commands/default.c: Removed.
43380 * commands/timeout.c: Likewise.
43381 * normal/context.c: Likewise.
43382
1eb9cc1d 433832006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
43384
43385 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
43386
385bd9c1 433872006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
43388
43389 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
43390 "next" to "prev" for readability.
43391 (struct grub_env_sorted_var): New struct.
43392 (grub_env_context): Renamed to ...
43393 (initial_context): ... this.
43394 (grub_env_var_context): Renamed to ...
43395 (current_context): ... this.
43396 (grub_env_find): Look only at CURRENT_CONTEXT.
43397 (grub_env_context_open): Rewritten to copy exported variables from
43398 previous context.
43399 (grub_env_context_close): Rewritten according to the new
43400 scheme. Also, add an assertion to prevent the initial context from
43401 removed.
43402 (grub_env_insert): Removed the code for the sorted list.
43403 (grub_env_remove): Likewise.
43404 (grub_env_export): Simply mark the variable with
43405 GRUB_ENV_VAR_GLOBAL.
43406 (grub_env_set): A cosmetic change for naming consistency.
43407 (grub_env_get): Likewise.
43408 (grub_env_unset): Likewise.
43409 (grub_env_iterate): Rewritten to sort variables within this
43410 function.
43411 (grub_register_variable_hook): Fixed for naming consistency. Call
43412 grub_env_find again, only if NAME is not found at the first time.
43413 (mangle_data_slot_name): New function.
43414 (grub_env_set_data_slot): Likewise.
43415 (grub_env_get_data_slot): Likewise.
43416 (grub_env_unset_data_slot): Likewise.
43417
43418 * include/grub/env.h (grub_env_var_type): New enum.
43419 (GRUB_ENV_VAR_LOCAL): New constant.
43420 (GRUB_ENV_VAR_GLOBAL): Likewise.
43421 (GRUB_ENV_VAR_DATA): Likewise.
43422 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
43423 "type".
43424 (grub_env_set): Replace VAR with NAME for consistency.
43425 (grub_register_variable_hook): Likewise.
43426 (grub_env_export): Specify the name of the argument.
43427 (grub_env_set_data_slot): New prototype.
43428 (grub_env_get_data_slot): Likewise.
43429 (grub_env_unset_data_slot): Likewise.
43430
7f362539 434312006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
43432
43433 Extend the loader so that GRUB can accept a loader which comes
43434 back to GRUB when a loaded image exits. Also, this change adds
43435 support for a chainloader on EFI.
f19dbdb7 43436
7f362539 43437 * term/efi/console.c: Include grub/misc.h.
43438 (grub_console_checkkey): Display a scan code on the top for
43439 debugging. This will be removed once the EFI port gets stable.
43440 Correct the scan code mapping.
43441
43442 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
43443 allocate memory from larger regions, in order to reduce the number
43444 of allocated regions. Otherwise, the MacOSX loader panics.
43445 (filter_memory_map): Avoid less than 1MB for compatibility with
43446 other loaders.
43447 (add_memory_regions): Allocate from the tail of a region, if
43448 possible, to avoid allocating a region near to 1MB, for the MacOSX
43449 loader.
43450
43451 * kern/efi/init.c (grub_efi_set_prefix): Specify
43452 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
43453
43454 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
43455 argument IMAGE_HANDLE and specify it to get a loaded image.
43456 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
43457 grub_efi_get_loaded_image.
fe6b695a 43458 (grub_efi_get_filename): Divide the length by the size of
7f362539 43459 grub_efi_char16_t.
43460 (grub_efi_get_device_path): New function.
43461 (grub_efi_print_device_path): Print End Device Path nodes. Divide
43462 the length by the size of grub_efi_char16_t for a file path device
43463 path node.
43464
43465 * kern/loader.c (grub_loader_noreturn): New variable.
43466 (grub_loader_set): Accept a new argument NORETURN. Set
43467 GRUB_LOADER_NORETURN to NORETURN.
43468 All callers changed.
43469 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
43470 grub_machine_fini.
43471
43472 * include/grub/efi/efi.h (grub_efi_get_device_path): New
43473 prototype.
43474 (grub_efi_get_loaded_image): Take an argument to specify an image
43475 handle.
43476
43477 * include/grub/loader.h (grub_loader_set): Added one more argument
43478 NORETURN.
43479
43480 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
43481 instead of grub_efi_open_protocol.
43482 (grub_efidisk_get_device_name): Likewise.
43483 (grub_efidisk_close): Print a newline.
43484 (grub_efidisk_get_device_handle): Fixed to use
43485 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
43486 GRUB_EFI_DEVICE_PATH_TYPE.
43487
43488 * disk/efi/efidisk.c (device_path_guid): Moved to ...
43489 * kern/efi/efi.c (device_path_guid): ... here.
43490
43491 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
43492 chain.mod.
43493 (kernel_mod_HEADERS): Added efi/disk.h.
43494 (_chain_mod_SOURCES): New variable.
43495 (_chain_mod_CFLAGS): Likewise.
43496 (_chain_mod_LDFLAGS): Likewise.
43497 (chain_mod_SOURCES): Likewise.
43498 (chain_mod_CFLAGS): Likewise.
43499 (chain_mod_LDFLAGS): Likewise.
43500
43501 * DISTLIST: Added include/grub/efi/chainloader.h,
43502 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
43503
43504 * include/grub/efi/chainloader.h: New file.
43505 * loader/efi/chainloader.c: Likewise.
43506 * loader/efi/chainloader_normal.c: Likewise.
43507
c0111d6e 435082006-04-30 Marco Gerards <marco@gnu.org>
43509
43510 * commands/configfile.c (grub_cmd_source): New function.
43511 (GRUB_MOD_INIT): Register the commands `source' and `.'.
43512 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
43513
df5341da 435142006-04-30 Marco Gerards <marco@gnu.org>
43515
43516 * normal/execute.c (grub_script_execute_cmd): Change the return
43517 type to `grub_err_t'. Correctly return the error.
43518 (grub_script_execute_cmdline): In case a command line is not a
43519 command or a function, try to interpret it as an assignment.
43520
f85934bd 435212006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
43522
43523 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
43524 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
43525 skip a node whose name is obviously invalid as UTF-16,
43526 i.e. contains a NUL character. Stop the iteration when the last
43527 directory entry is found. Instead of using the return value of
43528 grub_hfsplus_btree_iterate_node, store the value in RET and use
43529 it, because the iterator can be stopped by the last directory
43530 entry.
43531
8f8a2cf8 435322006-04-30 Marco Gerards <marco@gnu.org>
43533
43534 * include/grub/env.h (grub_env_export): New prototype. Reported
43535 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
43536
a27e84ce 435372006-04-30 Marco Gerards <marco@gnu.org>
43538
43539 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
43540 size of the extents in a catalog file record.
43541
eaef0553 435422006-04-29 Marco Gerards <marco@gnu.org>
43543
43544 * commands/configfile.c (grub_cmd_configfile): Execute the
43545 configfile within its own context.
43546
43547 * include/grub/env.h (grub_env_context_open): New prototype.
43548 (grub_env_context_close): Likewise.
43549
43550 * kern/env.c (grub_env): Removed.
43551 (grub_env_sorted): Likewise.
43552 (grub_env_context): New variable.
43553 (grub_env_var_context): Likewise.
43554 (grub_env_find): Search both the active context and the global
43555 context.
43556 (grub_env_context_open): New function.
43557 (grub_env_context_close): Likewise.
43558 (grub_env_insert): Likewise.
43559 (grub_env_remove): Likewise.
43560 (grub_env_export): Likewise.
43561 (grub_env_set): Changed to use helper functions to avoid code
43562 duplication.
43563 (grub_env_iterate): Rewritten so both the current context and the
43564 global context are being used.
43565
43566 * normal/command.c (export_command): New function.
43567 (grub_command_init): Register the `export' function.
43568
7b455f4d 435692006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
43570
43571 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
43572 explicitly to suppress gcc's warnings.
43573 * fs/fat.c (grub_fat_find_dir): Likewise.
43574 (grub_fat_label): Likewise.
43575 * fs/xfs.c (grub_xfs_read_inode): Likewise.
43576 (grub_xfs_mount): Likewise.
43577 (grub_xfs_label): Likewise.
43578 * fs/affs.c (grub_affs_mount): Likewise.
43579 (grub_affs_label): Likewise.
43580 (grub_affs_iterate_dir): Likewise.
43581 * fs/sfs.c (grub_sfs_mount): Likewise.
43582 (grub_sfs_iterate_dir): Likewise.
43583 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
43584 * fs/hfs.c (grub_hfs_mount): Likewise.
43585 (grub_hfs_cmp_catkeys): Likewise.
43586 (grub_hfs_find_dir): Likewise.
43587 (grub_hfs_dir): Likewise.
43588 (grub_hfs_label): Likewise.
43589 * fs/jfs.c (grub_jfs_mount): Likewise.
43590 (grub_jfs_opendir): Likewise.
43591 (grub_jfs_getent): Likewise.
43592 (grub_jfs_lookup_symlink): Likewise.
43593 (grub_jfs_label): Likewise.
43594 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
43595 (grub_hfsplus_iterate_dir): Likewise.
43596 (grub_hfsplus_btree_iterate_node): Made static.
43597
43598 * util/grub-emu.c (prefix): New variable.
43599 (grub_machine_set_prefix): New function.
43600 (main): Do not set the environment variable "prefix" here. Only
43601 set PREFIX, which is used later by grub_machine_set_prefix.
43602
43603 * include/grub/video.h: Do not include grub/symbol.h.
43604 (grub_video_register): Not exported. This symbol is not defined in
43605 the kernel.
43606 (grub_video_unregister): Likewise.
43607 (grub_video_iterate): Likewise.
43608 (grub_video_setup): Likewise.
43609 (grub_video_restore): Likewise.
43610 (grub_video_get_info): Likewise.
43611 (grub_video_get_blit_format): Likewise.
43612 (grub_video_set_palette): Likewise.
43613 (grub_video_get_palette): Likewise.
43614 (grub_video_set_viewport): Likewise.
43615 (grub_video_get_viewport): Likewise.
43616 (grub_video_map_color): Likewise.
43617 (grub_video_map_rgb): Likewise.
43618 (grub_video_map_rgba): Likewise.
43619 (grub_video_fill_rect): Likewise.
43620 (grub_video_blit_glyph): Likewise.
43621 (grub_video_blit_bitmap): Likewise.
43622 (grub_video_blit_render_target): Likewise.
43623 (grub_video_scroll): Likewise.
43624 (grub_video_swap_buffers): Likewise.
43625 (grub_video_create_render_target): Likewise.
43626 (grub_video_delete_render_target): Likewise.
43627 (grub_video_set_active_render_target): Likewise.
43628
43629 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
43630 Undefined.
43631 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
43632
43633 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
43634 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
43635 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
43636 instead of $(srcdir)/genkernsyms.sh.
43637
43638 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
43639 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
43640 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
43641 instead of $(srcdir)/genkernsyms.sh.
43642
43643 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
43644 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
43645 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
43646 instead of $(srcdir)/genkernsyms.sh.
43647
43648 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
43649 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
43650 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
43651 instead of $(srcdir)/genkernsyms.sh.
43652
43653 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
43654 genkernsyms.sh.
43655
43656 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
43657 genkernsyms.sh.
43658 (gensymlist.sh): New target.
43659 (genkernsyms.sh): Likewise.
43660
43661 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
43662 genkernsyms.sh.in and gensymlist.sh.in.
43663
43664 * genkernsyms.sh: Removed.
43665 * gensymlist.sh: Likewise.
f19dbdb7 43666
7b455f4d 43667 * genkernsyms.sh.in: New file.
43668 * gensymlist.sh.in: Likewise.
43669
1885bb27 436702006-04-25 Hollis Blanchard <hollis@penguinppc.org>
43671
43672 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
43673 clobber "prefix", since we may have already set it manually.
43674
71538dff 436752006-04-25 Hollis Blanchard <hollis@penguinppc.org>
43676
43677 * kern/misc.c (abort): New alias for grub_abort.
43678
2965c7cc 436792006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
43680
43681 A new machine-specific function "grub_machine_set_prefix" is
43682 defined. This is called after loading modules, so that a prefix
43683 initialization can use modules. Also, this change adds an
43684 intensive debugging feature for the memory manager via the
43685 configure option "--enable-mm-debug".
f19dbdb7 43686
2965c7cc 43687 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
43688 PART.LEN.
43689
43690 * kern/sparc64/ieee1275/init.c (abort): Removed.
43691 (grub_stop): Likewise.
43692 (grub_exit): New function.
43693 (grub_set_prefix): Renamed to ...
43694 (grub_machine_set_prefix): ... this.
43695 (grub_machine_init): Do not call grub_set_prefix.
43696
43697 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
43698 (grub_machine_set_prefix): ... this.
43699 (grub_machine_init): Do not call grub_set_prefix.
43700
43701 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
43702 (grub_machine_init): Do not set the prefix here.
43703
43704 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
43705
43706 * kern/efi/init.c: Include grub/mm.h.
43707 (grub_efi_set_prefix): New function.
43708
43709 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
43710 (grub_efi_get_filename): New function.
43711 (grub_print_device_path): Renamed to ...
43712 (grub_efi_print_device_path): ... this.
43713
43714 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
43715 [MM_DEBUG] (grub_realloc): Likewise.
43716 [MM_DEBUG] (grub_free): Likewise.
43717 [MM_DEBUG] (grub_memalign): Likewise.
43718 [MM_DEBUG] (grub_mm_debug): New variable.
43719 [MM_DEBUG] (grub_debug_malloc): New function.
43720 [MM_DEBUG] (grub_debug_free): New function.
43721 [MM_DEBUG] (grub_debug_realloc): New function.
43722 [MM_DEBUG] (grub_debug_memalign): New function.
43723
43724 * kern/misc.c (grub_abort): Print a newline to distinguish
43725 the message.
43726
43727 * kern/main.c (grub_main): Call grub_machine_set_prefix and
43728 grub_set_root_dev after loading modules. This is necessary when
43729 setting a prefix depends on modules.
43730
43731 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
43732 (grub_efi_print_device_path): ... this.
43733 (grub_efi_get_filename): New prototype.
43734 (grub_efi_set_prefix): Likewise.
43735
43736 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
43737 and grub/disk.h.
43738 (grub_efidisk_get_device_handle): New prototype.
43739 (grub_efidisk_get_device_name): Likewise.
43740
43741 * include/grub/mm.h: Include config.h.
43742 (MM_DEBUG): Removed.
43743 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
43744 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
43745 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
43746 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
43747 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
43748 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
43749 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
43750 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
43751 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
43752
43753 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
43754
43755 * disk/efi/efidisk.c: Include grub/partition.h.
43756 (iterate_child_devices): New function.
43757 (add_device): First, compare only last device path nodes, so that
43758 devices are sorted by the types.
43759 (grub_efidisk_get_device_handle): New function.
43760 (grub_efidisk_get_device_name): Likewise.
43761
43762 * configure.ac (--enable-mm-debug): New option to enable the
43763 memory manager debugging feature. This makes the binary much
43764 bigger, so is disabled by default.
43765
9cacaa17 437662006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
43767
43768 Use grub_abort instead of grub_stop, and grub_exit must be
43769 define in each architecture now. Also, this change adds support
43770 for EFI disks.
f19dbdb7 43771
9cacaa17 43772 * util/i386/pc/grub-probefs.c: Include grub/term.h.
43773 (grub_getkey): New function.
43774 (grub_term_get_current): Likewise.
43775
43776 * util/i386/pc/grub-setup.c: Include grub/term.h.
43777 (grub_getkey): New function.
43778 (grub_term_get_current): Likewise.
43779
43780 * util/misc.c (grub_stop): Renamed to ...
43781 (grub_exit): ... this.
43782
43783 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
43784 (grub_exit): ... this.
43785 (grub_machine_init): Use grub_abort instead of abort.
43786 (grub_stop): Removed.
43787
43788 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
43789 abort.
43790
43791 * kern/i386/pc/startup.S (grub_exit): New function.
43792 (cold_reboot): New label.
43793
43794 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
43795 (grub_efi_init): Call grub_efidisk_init.
43796 (grub_efi_fini): Call grub_efidisk_fini.
43797
43798 * kern/efi/efi.c: Include grub/mm.h.
43799 (grub_efi_console_control_guid): Renamed to ...
43800 (console_control_guid): ... this.
43801 (grub_efi_loaded_image_guid): Renamed to ...
43802 (loaded_image_guid): ... this.
43803 (grub_efi_locate_handle): New function.
43804 (grub_efi_open_protocol): Likewise.
43805 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
43806 GRUB_EFI_CONSOLE_CONTROL_GUID.
43807 (grub_efi_exit): Removed.
43808 (grub_stop): Likewise.
43809 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
43810 (grub_exit): New function.
43811 (grub_print_device_path): Likewise.
43812
43813 * kern/rescue.c (grub_rescue_cmd_exit): New function.
43814 (grub_enter_rescue_mode): Register "exit".
43815
43816 * kern/misc.c (grub_real_dprintf): A cosmetic change.
43817 (grub_abort): New function.
43818
43819 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
43820
43821 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
43822
43823 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
43824
43825 * include/grub/efi/efi.h (grub_efi_exit): Removed.
43826 (grub_print_device_path): New prototype.
43827 (grub_efi_locate_handle): Likewise.
43828 (grub_efi_open_protocol): Likewise.
43829
43830 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
43831 * disk/efi/efidisk.c: Likewise.
43832
43833 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
43834
43835 * include/grub/efi/console_control.h
43836 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
43837
43838 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
43839 last 8 bytes as an array.
43840 (GRUB_EFI_DISK_IO_GUID): New macro.
43841 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
43842 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
43843 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
43844 grub_uint8_t.
43845 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
43846 (struct grub_efi_device_path): Rename the member "sub_type" to
43847 "subtype".
43848 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
43849 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
43850 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
43851 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
43852 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
43853 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
43854 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
43855 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
43856 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
43857 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
43858 (struct grub_efi_pci_device_path): New structure.
43859 (grub_efi_pci_device_path_t): New type.
43860 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
43861 (struct grub_efi_pccard_device_path): New structure.
43862 (grub_efi_pccard_device_path_t): New type.
43863 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
43864 (struct grub_efi_memory_mapped_device_path): New structure.
43865 (grub_efi_memory_mapped_device_path_t): New type.
43866 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
43867 (struct grub_efi_vendor_device_path): New structure.
43868 (grub_efi_vendor_device_path_t): New type.
43869 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
43870 (struct grub_efi_controller_device_path): New structure.
43871 (grub_efi_controller_device_path_t): New type.
43872 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
43873 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
43874 (struct grub_efi_acpi_device_path): New structure.
43875 (grub_efi_acpi_device_path_t): New type.
43876 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
43877 (struct grub_efi_expanded_acpi_device_path): New structure.
43878 (grub_efi_expanded_acpi_device_path_t): New type.
43879 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
43880 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
43881 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
43882 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
43883 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
43884 (struct grub_efi_atapi_device_path): New structure.
43885 (grub_efi_atapi_device_path_t): New type.
43886 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
43887 (struct grub_efi_fibre_channel_device_path): New structure.
43888 (grub_efi_fibre_channel_device_path_t): New type.
43889 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
43890 (struct grub_efi_1394_device_path): New structure.
43891 (grub_efi_1394_device_path_t): New type.
43892 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
43893 (struct grub_efi_usb_device_path): New structure.
43894 (grub_efi_usb_device_path_t): New type.
43895 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
43896 (struct grub_efi_usb_class_device_path): New structure.
43897 (grub_efi_usb_class_device_path_t): New type.
43898 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
43899 (struct grub_efi_i2o_device_path): New structure.
43900 (grub_efi_i2o_device_path_t): New type.
43901 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
43902 (struct grub_efi_mac_address_device_path): New structure.
43903 (grub_efi_mac_address_device_path_t): New type.
43904 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
43905 (struct grub_efi_ipv4_device_path): New structure.
43906 (grub_efi_ipv4_device_path_t): New type.
43907 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
43908 (struct grub_efi_ipv6_device_path): New structure.
43909 (grub_efi_ipv6_device_path_t): New type.
43910 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
43911 (struct grub_efi_infiniband_device_path): New structure.
43912 (grub_efi_infiniband_device_path_t): New type.
43913 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
43914 (struct grub_efi_uart_device_path): New structure.
43915 (grub_efi_uart_device_path_t): New type.
43916 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
43917 (struct grub_efi_vendor_messaging_device_path): New structure.
43918 (grub_efi_vendor_messaging_device_path_t): New type.
43919 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
43920 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
43921 (struct grub_efi_hard_drive_device_path): New structure.
43922 (grub_efi_hard_drive_device_path_t): New type.
43923 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
43924 (struct grub_efi_cdrom_device_path): New structure.
43925 (grub_efi_cdrom_device_path_t): New type.
43926 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
43927 (struct grub_efi_vendor_media_device_path): New structure.
43928 (grub_efi_vendor_media_device_path_t): New type.
43929 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
43930 (struct grub_efi_file_path_device_path): New structure.
43931 (grub_efi_file_path_device_path_t): New type.
43932 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
43933 (struct grub_efi_protocol_device_path): New structure.
43934 (grub_efi_protocol_device_path_t): New type.
43935 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
43936 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
43937 (struct grub_efi_bios_device_path): New structure.
43938 (grub_efi_bios_device_path_t): New type.
43939 (struct grub_efi_disk_io): New structure.
43940 (grub_efi_disk_io_t): New type.
43941 (struct grub_efi_block_io_media): New structure.
43942 (grub_efi_block_io_media_t): New type.
43943 (struct grub_efi_block_io): New structure.
43944 (grub_efi_block_io_t): New type.
43945
43946 * include/grub/misc.h (grub_stop): Removed.
43947 (grub_exit): New prototype.
43948 (grub_abort): Likewise.
43949
43950 * include/grub/disk.h (enum grub_disk_dev_id): Added
43951 GRUB_DISK_DEVICE_EFIDISK_ID.
43952
43953 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
43954 disk/efi/efidisk.c.
43955 (kernel_syms.lst): Remove the target if an error occurs.
43956
49986a9f 439572006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
43958
43959 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
43960 as it was simply too buggy.
43961
970d3b8a 439622006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
43963
43964 * kern/misc.c (grub_lltoa): New function.
43965 (grub_vsprintf): Added support for the long long suffix,
43966 i.e. "ll".
43967
ff04ec24 439682006-04-20 Hollis Blanchard <hollis@penguinppc.org>
43969
43970 * Makefile.in (LDFLAGS): Add variable.
43971 (LD): Remove variable.
43972 * configure.ac: Add -m32 to LDFLAGS.
43973 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
43974 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
43975 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
43976 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
43977 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
43978 variables.
43979 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
43980 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
43981 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
43982
37e5e1a4 439832006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
43984
43985 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
43986 length for unknown glyph.
43987
c352d8dd 439882006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
43989
2eab1c0d 43990 Add support for pre-loaded modules into the EFI port.
f19dbdb7 43991
2eab1c0d 43992 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
43993 completely. Accept one more argument DIR. The caller has changed.
43994
43995 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
43996
43997 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
43998 (grub_efi_loaded_image_guid): New variable.
43999 (grub_efi_get_loaded_image): New function.
44000 (grub_arch_modules_addr): Likewise.
44001
44002 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
44003 prototype.
44004
44005 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
44006 (struct grub_efi_loaded_image): New structure.
44007 (grub_efi_loaded_image_t): New type.
44008
440092006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 44010
c352d8dd 44011 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
44012 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
44013 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
44014
6d01d6b4 440152006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
44016
44017 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
44018
976a4ea0 440192006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
44020
44021 * DISTLIST: Added include/grub/efi/console.h,
44022 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
44023 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
44024
44025 * include/grub/efi/console.h: New file.
44026 * include/grub/efi/time.h: Likewise.
44027 * include/grub/i386/efi/kernel.h: Likewise.
44028 * kern/efi/init.c: Likewise.
44029 * kern/efi/mm.c: Likewise.
44030 * term/efi/console.c: Likewise.
f19dbdb7 44031
976a4ea0 44032 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
44033 (grub_stop): Removed.
44034 (grub_get_rtc): Likewise.
44035 (grub_machine_init): Simply call grub_efi_init.
44036 (grub_machine_fini): Call grub_efi_fini.
44037
44038 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
44039 (grub_efi_output_string): Removed.
44040 (grub_efi_stall): New function.
44041 (grub_stop): Likewise.
44042 (grub_get_rtc): Likewise.
44043
44044 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
44045 (grub_efi_stall): New prototype.
44046 (grub_efi_allocate_pages): Likewise.
44047 (grub_efi_free_pages): Likewise.
44048 (grub_efi_get_memory_map): Likewise.
44049 (grub_efi_mm_init): Likewise.
44050 (grub_efi_mm_fini): Likewise.
44051 (grub_efi_init): Likewise.
44052 (grub_efi_fini): Likewise.
44053
44054 * include/grub/i386/efi/time.h: Do not include
44055 grub/symbol.h. Include grub/efi/time.h.
44056 (GRUB_TICKS_PER_SECOND): Removed.
44057 (grub_get_rtc): Likewise.
44058
44059 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
44060 Added padding. The EFI spec is buggy.
44061 (GRUB_EFI_BLACK): New macro.
44062 (GRUB_EFI_BLUE): Likewise.
44063 (GRUB_EFI_GREEN): Likewise.
44064 (GRUB_EFI_CYAN): Likewise.
44065 (GRUB_EFI_RED): Likewise.
44066 (GRUB_EFI_MAGENTA): Likewise.
44067 (GRUB_EFI_BROWN): Likewise.
44068 (GRUB_EFI_LIGHTGRAY): Likewise.
44069 (GRUB_EFI_BRIGHT): Likewise.
44070 (GRUB_EFI_DARKGRAY): Likewise.
44071 (GRUB_EFI_LIGHTBLUE): Likewise.
44072 (GRUB_EFI_LIGHTGREEN): Likewise.
44073 (GRUB_EFI_LIGHTCYAN): Likewise.
44074 (GRUB_EFI_LIGHTRED): Likewise.
44075 (GRUB_EFI_LIGHTMAGENTA): Likewise.
44076 (GRUB_EFI_YELLOW): Likewise.
44077 (GRUB_EFI_WHITE): Likewise.
44078 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
44079 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
44080 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
44081 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
44082 (GRUB_EFI_BACKGROUND_RED): Likewise.
44083 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
44084 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
44085 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
44086 (GRUB_EFI_TEXT_ATTR): Likewise.
44087
44088 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
44089 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
44090 (kernel_mod_HEADERS): Added efi/time.h.
44091
83709125 440922006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
44093
44094 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
44095 include/grub/efi/api.h, include/grub/efi/console_control.h,
44096 include/grub/efi/efi.h, include/grub/efi/pe32.h,
44097 include/grub/i386/efi/time.h, kern/efi/efi.c,
44098 kern/i386/efi/init.c, kern/i386/efi/startup.S,
44099 and util/i386/efi/grub-mkimage.c.
44100
44101 * Makefile.in (RMKFILES): Added i386-efi.rmk.
44102
44103 * genmk.rb (PModule#rule): Do not export symbols if
44104 #{prefix}_EXPORTS is set to "no".
44105
44106 * conf/i386-efi.mk: New file.
44107 * conf/i386-efi.rmk: Likewise.
44108 * include/grub/efi/api.h: Likewise.
44109 * include/grub/efi/console_control.h: Likewise.
44110 * include/grub/efi/efi.h: Likewise.
44111 * include/grub/efi/pe32.h: Likewise.
44112 * include/grub/i386/efi/time.h: Likewise.
44113 * kern/efi/efi.c: Likewise.
44114 * kern/i386/efi/init.c: Likewise.
44115 * kern/i386/efi/startup.S: Likewise.
44116 * util/i386/efi/grub-mkimage.c: Likewise.
44117
441182006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 44119
44120 * include/grub/script.h: Include <grub/parser.h> and
44121 "grub_script.tab.h".
44122 (struct grub_lexer_param): New struct.
44123 (struct grub_parser_param): Likewise.
44124 (grub_script_create_arglist): Pass the state in an argument.
44125 (grub_script_add_arglist): Likewise.
44126 (grub_script_create_cmdline): Likewise.
44127 (grub_script_create_cmdblock): Likewise.
44128 (grub_script_create_cmdif): Likewise.
44129 (grub_script_create_cmdmenu): Likewise.
44130 (grub_script_add_cmd): Likewise.
44131 (grub_script_arg_add): Likewise.
44132 (grub_script_lexer_ref): Likewise.
44133 (grub_script_lexer_deref): Likewise.
44134 (grub_script_lexer_record_start): Likewise.
44135 (grub_script_lexer_record_stop): Likewise.
44136 (grub_script_mem_record): Likewise.
44137 (grub_script_mem_record_stop): Likewise.
44138 (grub_script_malloc): Likewise.
44139 (grub_script_yylex): Likewise.
44140 (grub_script_yyparse): Likewise.
44141 (grub_script_yyerror): Likewise.
44142 (grub_script_yylex): Likewise.
44143 (grub_script_lexer_init): Return the state.
44144
44145 * normal/lexer.c (grub_script_lexer_state): Removed variable.
44146 (grub_script_lexer_done): Likewise.
44147 (grub_script_lexer_getline): Likewise.
44148 (grub_script_lexer_refs): Likewise.
44149 (script): Likewise.
44150 (newscript): Likewise.
44151 (record): Likewise.
44152 (recording): Likewise.
44153 (recordpos): Likewise.
44154 (recordlen): Likewise.
44155 (grub_script_lexer_init): Return the state instead of setting
44156 global variables.
44157 (grub_script_lexer_ref): Use the newly added argument for state
44158 instead of globals.
44159 (grub_script_lexer_deref): Likewise.
44160 (grub_script_lexer_record_start): Likewise.
44161 (grub_script_lexer_record_stop): Likewise.
44162 (recordchar): Likewise.
44163 (nextchar): Likewise.
44164 (grub_script_yylex2): Likewise.
44165 (grub_script_yylex): Likewise.
44166 (grub_script_yyerror): Likewise.
44167
44168 * normal/parser.y (func_mem): Removed variable.
44169 (menu_entry): Likewise.
44170 (err): Likewise.
44171 (%lex-param): New parser option.
44172 (%parse-param): Likewise.
44173 (script): Always return the AST.
44174 (argument): Pass the state around.
44175 (arguments): Likewise.
44176 (grubcmd): Likewise.
44177 (commands): Likewise.
44178 (function): Likewise.
44179 (menuentry): Likewise.
44180 (if_statement): Likewise.
44181 (if): Likewise.
44182
44183 * normal/script.c (grub_script_memused): Removed variable.
44184 (grub_script_parsed): Likewise.
44185 (grub_script_malloc): Added a state argument. Use that instead of
44186 global variables.
44187 (grub_script_mem_record): Likewise.
44188 (grub_script_mem_record_stop): Likewise.
44189 (grub_script_arg_add): Likewise.
44190 (grub_script_add_arglist): Likewise.
44191 (grub_script_create_cmdline): Likewise.
44192 (grub_script_create_cmdif): Likewise.
44193 (grub_script_create_cmdmenu): Likewise.
44194 (grub_script_add_cmd): Likewise.
44195 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 44196
e2a8c904 441972006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 44198
44199 * normal/command.c (grub_command_init): Remove the title command.
44200
44201 * normal/lexer.c (grub_script_yylex): Renamed from this...
44202 (grub_script_yylex2): ... to this.
44203 (grub_script_yylex): New function. Temporary
44204 introduced to filter some tokens.
44205 (grub_script_yyerror): Print a newline.
44206
44207 * normal/main.c (read_config_file): Output information about the
44208 lines that contain errors. Wait for a key after all lines have
44209 been processed. Don't return an empty menu.
44210
44211 * normal/parser.y (func_mem): Don't initialize.
44212 (menu_entry): Likewise.
44213 (err): New variable.
44214 (script): Don't return anything when an error was encountered.
44215 (ws, returns): Removed rules.
44216 (argument): Disabled concatenated variable support.
44217 (arguments): Remove explicit separators.
44218 (grubcmd): Likewise.
44219 (function): Likewise.
44220 (menuentry): Likewise.
44221 (if): Likewise.
44222 (commands): Likewise. Add error handling.
44223
44224 * normal/script.c (grub_script_create_cmdline): If
44225 `grub_script_parsed' is 0, assume the parser encountered an error.
44226
c9a86192 442272006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
44228
44229 * configure.ac: Add support for EFI. Fix the typo
44230 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
44231
70f3b243 442322006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
44233
44234 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
44235 foreign multibyte characters should be shown correctly.
44236
65f201ad 442372006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
44238
44239 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
44240 calculation.
44241 (read_config_file): Made it to close file before returning.
44242
b4b93674 442432006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
44244
44245 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
44246 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
44247 video/i386/pc/vbefill.c.
44248
44249 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
44250 video/i386/pc/vbefill.c.
44251
44252 * include/grub/video.h (grub_video_blit_format): New enum.
44253 (grub_video_mode_info): Added new member blit_format.
44254 (grub_video_get_blit_format): New function prototype.
44255
44256 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
44257 function prototype.
44258 (grub_video_vbe_map_rgb): Likewise.
44259 (grub_video_vbe_unmap_color): Likewise.
44260
44261 * include/grub/i386/pc/vbeblit.h: New file.
44262
44263 * include/grub/i386/pc/vbefill.h: New file.
44264
44265 * video/video.c (grub_video_get_blit_format): New function.
44266 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
44267 (grub_video_vbe_map_rgb): Likewise.
44268 (grub_video_vbe_unmap_color): Likewise.
44269
44270 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
44271 optimized fills.
44272 (grub_video_vbe_blit_render_target): Changed to use more optimized
44273 blits.
44274 (grub_video_vbe_setup): Added detection for optimized settings.
44275 (grub_video_vbe_create_render_target): Likewise.
44276
44277 * video/i386/pc/vbeblit.c: New file.
44278
44279 * video/i386/pc/vbefill.c: New file.
44280
c2379b9c 442812006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
44282
44283 * font/manager.c (grub_font_get_glyph): Removed font fixup from
44284 here...
44285
44286 * util/unifont2pff.rb: ... and moved it to here. Improved argument
44287 parsing to support both hex and dec ranges. If filename was missing
44288 show usage information.
44289
bd0d7896 442902006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
44291
44292 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
44293 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
44294
44295 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
44296 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
44297 (video_mod_SOURCES): Added.
44298 (video_mod_CFLAGS): Likewise.
44299 (video_mod_LDFLAGS): Likewise.
44300 (gfxterm_mod_SOURCES): Likewise.
44301 (gfxterm_mod_CFLAGS): Likewise.
44302 (gfxterm_mod_LDFLAGS): Likewise.
44303 (videotest_mod_SOURCES): Likewise.
44304 (videotest_mod_CFLAGS): Likewise.
44305 (videotest_mod_LDFLAGS): Likewise.
44306 (vesafb_mod_SOURCES): Removed.
44307 (vesafb_mod_CFLAGS): Likewise.
44308 (vesafb_mod_LDFLAGS): Likewise.
44309 (vga_mod_SOURCES): Likewise.
44310 (vga_mod_CFLAGS): Likewise.
44311 (vga_mod_LDFLAGS): Likewise.
44312
44313 * commands/videotest.c: New file.
44314
44315 * font/manager.c (fill_with_default_glyph): Modified to use
44316 grub_font_glyph.
44317 (grub_font_get_glyph): Likewise.
44318 (fontmanager): Renamed from this...
44319 (font_manager): ... to this.
44320
44321 * include/grub/font.h (grub_font_glyph): Added new structure.
44322 (grub_font_get_glyph): Modified to use grub_font_glyph.
44323
44324 * include/grub/misc.h (grub_abs): Added as inline function.
44325
44326 * include/grub/video.h: New file.
44327
44328 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
44329 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
44330 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
44331 (grub_vbe_get_controller_info): Renamed from this...
44332 (grub_vbe_bios_get_controller_info): ... to this.
44333 (grub_vbe_get_mode_info): Renamed from this...
44334 (grub_vbe_bios_get_mode_info): ... to this.
44335 (grub_vbe_set_mode): Renamed from this...
44336 (grub_vbe_bios_set_mode): ... to this.
44337 (grub_vbe_get_mode): Renamed from this...
44338 (grub_vbe_bios_get_mode): ... to this.
44339 (grub_vbe_set_memory_window): Renamed from this...
44340 (grub_vbe_bios_set_memory_window): ... to this.
44341 (grub_vbe_get_memory_window): Renamed from this...
44342 (grub_vbe_bios_get_memory_window): ... to this.
44343 (grub_vbe_set_scanline_length): Renamed from this...
44344 (grub_vbe_set_scanline_length): ... to this.
44345 (grub_vbe_get_scanline_length): Renamed from this...
44346 (grub_vbe_bios_get_scanline_length): ... to this.
44347 (grub_vbe_set_display_start): Renamed from this...
44348 (grub_vbe_bios_set_display_start): ... to this.
44349 (grub_vbe_get_display_start): Renamed from this...
44350 (grub_vbe_bios_get_display_start): ... to this.
44351 (grub_vbe_set_palette_data): Renamed from this...
44352 (grub_vbe_bios_set_palette_data): ... to this.
44353 (grub_vbe_set_pixel_rgb): Removed.
44354 (grub_vbe_set_pixel_index): Likewise.
44355
44356 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
44357 from this...
44358 (grub_vbe_bios_get_controller_info): ... to this.
44359 (grub_vbe_get_mode_info): Renamed from this...
44360 (grub_vbe_bios_get_mode_info): ... to this.
44361 (grub_vbe_set_mode): Renamed from this...
44362 (grub_vbe_bios_set_mode): ... to this.
44363 (grub_vbe_get_mode): Renamed from this...
44364 (grub_vbe_bios_get_mode): ... to this.
44365 (grub_vbe_set_memory_window): Renamed from this...
44366 (grub_vbe_bios_set_memory_window): ... to this.
44367 (grub_vbe_get_memory_window): Renamed from this...
44368 (grub_vbe_bios_get_memory_window): ... to this.
44369 (grub_vbe_set_scanline_length): Renamed from this...
44370 (grub_vbe_set_scanline_length): ... to this.
44371 (grub_vbe_get_scanline_length): Renamed from this...
44372 (grub_vbe_bios_get_scanline_length): ... to this.
44373 (grub_vbe_set_display_start): Renamed from this...
44374 (grub_vbe_bios_set_display_start): ... to this.
44375 (grub_vbe_get_display_start): Renamed from this...
44376 (grub_vbe_bios_get_display_start): ... to this.
44377 (grub_vbe_set_palette_data): Renamed from this...
44378 (grub_vbe_bios_set_palette_data): ... to this.
44379 (grub_vbe_bios_get_controller_info): Fixed problem with registers
44380 getting corrupted after calling it. Added more pushes and pops.
44381 (grub_vbe_bios_set_mode): Likewise.
44382 (grub_vbe_bios_get_mode): Likewise.
44383 (grub_vbe_bios_get_memory_window): Likewise.
44384 (grub_vbe_bios_set_scanline_length): Likewise.
44385 (grub_vbe_bios_get_scanline_length): Likewise.
44386 (grub_vbe_bios_get_display_start): Likewise.
44387 (grub_vbe_bios_set_palette_data): Likewise.
44388
44389 * normal/cmdline.c (cl_set_pos): Refresh the screen.
44390 (cl_insert): Likewise.
44391 (cl_delete): Likewise.
44392
44393 * term/gfxterm.c: New file.
44394
44395 * term/i386/pc/vesafb.c: Removed file.
44396
44397 * video/video.c: New file.
44398
44399 * video/i386/pc/vbe.c (real2pm): Added new function.
44400 (grub_video_vbe_draw_pixel): Likewise.
44401 (grub_video_vbe_get_video_ptr): Likewise.
44402 (grub_video_vbe_get_pixel): Likewise
44403 (grub_video_vbe_init): Likewise.
44404 (grub_video_vbe_fini): Likewise.
44405 (grub_video_vbe_setup): Likewise.
44406 (grub_video_vbe_get_info): Likewise.
44407 (grub_video_vbe_set_palette): Likewise.
44408 (grub_video_vbe_get_palette): Likewise.
44409 (grub_video_vbe_set_viewport): Likewise.
44410 (grub_video_vbe_get_viewport): Likewise.
44411 (grub_video_vbe_map_color): Likewise.
44412 (grub_video_vbe_map_rgb): Likewise.
44413 (grub_video_vbe_map_rgba): Likewise.
44414 (grub_video_vbe_unmap_color): Likewise.
44415 (grub_video_vbe_fill_rect): Likewise.
44416 (grub_video_vbe_blit_glyph): Likewise.
44417 (grub_video_vbe_blit_bitmap): Likewise.
44418 (grub_video_vbe_blit_render_target): Likewise.
44419 (grub_video_vbe_scroll): Likewise.
44420 (grub_video_vbe_swap_buffers): Likewise.
44421 (grub_video_vbe_create_render_target): Likewise.
44422 (grub_video_vbe_delete_render_target): Likewise.
44423 (grub_video_vbe_set_active_render_target): Likewise.
44424 (grub_vbe_set_pixel_rgb): Remove function.
44425 (grub_vbe_set_pixel_index): Likewise.
44426 (index_color_mode): Remove static variable.
44427 (active_mode): Likewise.
44428 (framebuffer): Likewise.
44429 (bytes_per_scan_line): Likewise.
44430 (grub_video_vbe_adapter): Added new static variable.
44431 (framebuffer): Likewise.
44432 (render_target): Likewise.
44433 (initial_mode): Likewise.
44434 (mode_in_use): Likewise.
44435 (mode_list): Likewise.
44436
5f97350b 444372006-03-10 Marco Gerards <marco@gnu.org>
44438
44439 * configure.ac (AC_INIT): Bumped to 1.93.
44440
44441 * DISTLIST: Added `include/grub/hfs.h'.
44442
a3c5c6f8 444432006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
44444
44445 * boot/i386/pc/boot.S (general_error): Before looping, try INT
44446 18H, which might help the BIOS falling back to next boot media.
44447
6de53d26 444482006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
44449
44450 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
44451 Poe Chen <poe.poechen@gmail.com>.
44452
77c4a393 444532006-01-17 Marco Gerards <marco@gnu.org>
44454
44455 * include/grub/normal.h: Include <grub/script.h>.
44456 (grub_command_list): Removed struct.
44457 (grub_command_list_t): Removed type.
44458 (grub_menu_entry): Remove members `num' and `command_list'. Add
44459 members `commands' and `sourcecode'.
44460 * include/grub/script.h: Add inclusion guards.
44461 (grub_script_cmd_menuentry): New struct.
44462 (grub_script_execute_menuentry): New prototype.
44463 (grub_script_lexer_record_start): Likewise.
44464 (grub_script_lexer_record_stop): Likewise.
44465 * normal/execute.c (grub_script_execute_menuentry): New function.
44466 * normal/lexer.c (record, recording, recordpos, recordlen): New
44467 variables.
44468 (grub_script_lexer_record_start): New function.
44469 (grub_script_lexer_record_stop): Likewise.
44470 (recordchar): Likewise.
44471 (nextchar): Likewise.
44472 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
44473 2048 as the buffer size. Add the tokens `menuentry' and `@'.
44474 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
44475 (current_menu): New variable.
44476 (free_menu): Mainly rewritten.
44477 (grub_normal_menu_addentry): New function.
44478 (read_config_file): Rewritten.
44479 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 44480 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 44481 the menu entry.
44482 (run): Mainly rewritten.
44483 * normal/parser.y (menu_entry): New variable.
44484 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
44485 (menuentry): New rule.
44486 (command): Add `menuentry'.
44487 (if_statement): Allow additional returns before `fi'.
44488 * normal/script.c (grub_script_create_cmdmenu): New function.
44489
144f1f98 444902006-01-03 Marco Gerards <marco@gnu.org>
44491
44492 * INSTALL: GNU Bison is required.
44493 * configure.ac: Rewritten the test to detect Bison.
44494 * Makefile.in (YACC): New variable. Reported by Xun Sun
44495 <xun.sun.cn@gmail.com>.
44496
af4b2d89 444972006-01-03 Marco Gerards <marco@gnu.org>
44498
44499 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
44500 the HFS+ filesystem to filesystem blocks.
44501 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
44502 GCC warning is silenced.
44503
15643b71 445042006-01-03 Marco Gerards <marco@gnu.org>
44505
44506 * partmap/apple.c (apple_partition_map_iterate): Convert the data
44507 read from disk from big endian to host byte order.
44508
00905879 445092006-01-03 Hollis Blanchard <hollis@penguinppc.org>
44510
44511 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
44512 documentation.
44513 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
44514 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
44515 embedded HFS+ filesystem.
44516 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
44517 (grub_hfs_sblock): Move from here...
44518 * include/grub/hfs.h: To here... New file.
44519 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
44520 documentation.
44521 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
44522 New macros.
44523 (grub_hfsplus_volheader): Change type of member `magic' to
44524 `grub_uint16_t'.
44525 (grub_hfsplus_data): Add new member `embedded_offset'.
44526 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
44527 returned block.
44528 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
44529 Calculate the offset.
44530
8899bc3e 445312005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
44532
44533 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
44534 Removed.
44535 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
44536
ae8c0277 445372005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
44538
44539 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
44540 ENV->NAME is NULL after allocating ENV->VALUE.
44541
07084456 445422005-12-25 Marco Gerards <marco@gnu.org>
44543
44544 * kern/env.c (grub_env_set): Rewritten the error handling code.
44545
4750f5f1 445462005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
44547
44548 * geninit.sh: Made more robust, and more portable.
44549
50214199 445502005-12-25 Marco Gerards <marco@gnu.org>
44551
44552 Add support for Apple HFS+ filesystems.
f19dbdb7 44553
50214199 44554 * fs/hfsplus.c: New file.
44555
44556 * DISTLIST: Added `fs/hfsplus.c'.
44557
44558 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
44559 (hfsplus_mod_SOURCES): New variable.
44560 (hfsplus_mod_CFLAGS): Likewise.
44561 (hfsplus_mod_LDFLAGS): Likewise.
44562 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
44563 (grub_setup_SOURCES): Likewise.
44564 (grub_mkdevicemap_SOURCES): Likewise.
44565 (grub_emu_SOURCES): Likewise.
44566 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44567
44568 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
44569
44570 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
44571
befaed6c 445722005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
44573
44574 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
44575 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
44576 include/grub/parser.h, include/grub/script.h, kern/parser.c,
44577 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
44578 normal/lexer.c, normal/parser.y, normal/script.c, and
44579 partmap/gpt.c.
44580 Removed kern/sparc64/cache.c.
44581
44582 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
44583 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
44584 grub_emu_init.c.
44585
44586 * configure.ac (AC_INIT): Bumped to 1.92.
44587
6a124103 445882005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
44589
44590 * kern/err.c (grub_error_push): Added new function to support error
44591 stacks.
44592 (grub_error_pop): Likewise.
44593 (grub_error_stack_items): New local variable to support error stacks.
44594 (grub_error_stack_pos): Likewise.
44595 (grub_error_stack_assert): Likewise.
44596 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
44597 stack depth.
44598 (grub_print_error): Added support to print errors from error stack.
44599
44600 * include/grub/err.h (grub_error_push): Added function prototype.
44601 (grub_error_pop): Likewise.
44602
be973c1b 446032005-12-09 Hollis Blanchard <hollis@penguinppc.org>
44604
44605 * configure.ac: Accept `powerpc64' as host_cpu.
44606 (amd64): Rename to `biarch32'.
44607
44608 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
44609 non-cacheline-aligned addresses.
44610
44611 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
44612 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
44613 if `size' is non-zero.
44614
b04216ab 446152005-12-03 Marco Gerards <mgerards@xs4all.nl>
44616
44617 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
44618 and `cd' to make sure the filename is not prefixed with a
44619 directory name.
44620 (pkgdata_MODULES): Add `gpt.mod'.
44621 (gpt_mod_SOURCES): New variable.
44622 (gpt_mod_CFLAGS): Likewise.
44623 (gpt_mod_LDFLAGS): Likewise.
44624
44625 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
44626
44627 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
44628 New macro.
44629
44630 * partmap/gpt.c: New file.
44631
44632 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
44633 GPT partition map is detected.
44634
41730ed9 446352005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
44636
44637 * commands/i386/pc/play.c: New file.
44638 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
44639 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
44640 macros.
f19dbdb7 44641
95dc3643 446422005-11-27 Marco Gerards <mgerards@xs4all.nl>
44643
44644 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
44645 ((unused))' to silence gcc warning.
44646
1569ec51 446472005-11-26 Hollis Blanchard <hollis@penguinppc.org>
44648
44649 * configure.ac: Correct `AC_PROG_YACC' test.
44650
9abde152 446512005-11-22 Hollis Blanchard <hollis@penguinppc.org>
44652
44653 * util/powerpc/ieee1275/grub-install.in: Run the mount point
44654 check before installing files.
44655
44b83271 446562005-11-22 Mike Small <smallm@panix.com>
44657
44658 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
44659 number regex so multidigit numbers are recognized correctly.
44660
446612005-11-22 Mike Small <smallm@panix.com>
44662
44663 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
44664 debugging message before attempting to claim memory.
44665 (grub_rescue_cmd_initrd): Add a claim debugging message and try
44666 multiple addresses in case of failure.
44667
9c12956b 446682005-11-22 Hollis Blanchard <hollis@penguinppc.org>
44669
44670 * term/tparm.c (get_space): Remove empty `if' statement.
44671
44672 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
44673
44674 * kern/parser.c (check_varstate): Rename `state' to 's'.
44675
aeaf81d9 446762005-11-22 Hollis Blanchard <hollis@penguinppc.org>
44677
44678 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
44679 variable definitions to the beginning of each function. Sort stack
44680 variables by size.
44681 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
44682 `buf' argument to `char *'.
44683
79bbb63f 446842005-11-22 Hollis Blanchard <hollis@penguinppc.org>
44685
44686 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
44687 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 44688 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 44689 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
44690 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
44691 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
44692 configfile.mod, search.mod, gzio.mod and test.mod.
44693 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
44694 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
44695 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
44696 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
44697 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
44698 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
44699 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
44700 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
44701 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
44702 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
44703 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
44704 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
44705 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
44706 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
44707 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
44708 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
44709 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
44710 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
44711 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
44712 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
44713 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
44714 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
44715 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
44716
44717 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
44718 `grep --include'.
44719 (pkgdata_MODULES): Add test.mod.
44720
233b1628 447212005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44722
44723 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
44724 appending to variables with "+=".
44725 (PModule): Use full pathname to generate *.lst filenames.
44726
44727 * Makefile.in: Fixed list rules moved from genmk.rb.
44728 (.DELETE_ON_ERROR): New special target.
44729 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
44730
44731 * conf/i386-pc.rmk: Include conf/common.mk.
44732 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 44733 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 44734 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
44735 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
44736 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
44737 configfile.mod, search.mod, gzio.mod and test.mod.
44738 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
44739 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
44740 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
44741 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
44742 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
44743 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
44744 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
44745 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
44746 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
44747 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
44748 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
44749 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
44750 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
44751 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
44752 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
44753 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
44754 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
44755 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
44756 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
44757 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
44758 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
44759 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
44760 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
44761 here...
44762 * conf/common.rmk: ... to here. New file.
44763
44764 * conf/common.mk: New file.
44765
16f820c8 447662005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
44767
44768 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
44769 (grub_script.tab.c): ... here.
44770
44771 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
44772 (grub_script.tab.c): ... here.
44773
44774 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
44775 (grub_script.tab.c): ... here.
44776
44777 * normal/command.c (grub_command_find): Fixed a memory leak of
44778 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
44779
63ba1554 447802005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44781
44782 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
44783 "@" which marks the start of a comment on ARM.
44784 (VARIABLE): Likewise.
44785
7f67dc13 447862005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44787
79bbb63f 44788 Add support for Linux/ADFS partition tables.
7f67dc13 44789
44790 * partmap/acorn.c: New file.
44791
44792 * include/grub/acorn_filecore.h: Likewise.
44793
44794 * DISTLIST: Added `partmap/acorn.c' and
44795 `include/grub/acorn_filecore.h'.
f19dbdb7 44796
7f67dc13 44797 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44798 `partmap/acorn.c'.
44799 (pkgdata_MODULES): Add `acorn.mod'.
44800 (acorn_mod_SOURCES): New variable.
44801 (acorn_mod_CFLAGS): Likewise.
44802
44803 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
44804 `partmap/acorn.c'.
44805 (pkgdata_MODULES): Add `acorn.mod'.
44806 (acorn_mod_SOURCES): New variable.
44807 (acorn_mod_CFLAGS): Likewise.
44808
44809 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
44810 (pkgdata_MODULES): Add `acorn.mod'.
44811 (acorn_mod_SOURCES): New variable.
44812 (acorn_mod_CFLAGS): Likewise.
44813 (acorn_mod_LDFLAGS): Likewise.
44814
44815 * include/types.h (grub_disk_addr_t): New typedef.
44816
6d099807 448172005-11-13 Marco Gerards <mgerards@xs4all.nl>
44818
44819 * geninit.sh: New file.
44820
44821 * geninitheader.sh: Likewise.
44822
44823 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
44824 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
44825 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
44826 * commands/configfile.c (grub_configfile_init)
44827 (grub_configfile_fini): Likewise.
44828 * commands/default.c (grub_default_init, grub_default_fini):
44829 Likewise.
44830 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
44831 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
44832 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
44833 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
44834 Likewise.
44835 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
44836 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
44837 Likewise.
44838 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 44839 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 44840 Likewise.
44841 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
44842 Likewise.
fe6b695a 44843 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 44844 Likewise.
44845 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
44846 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
44847 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
44848 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
44849 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
44850 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
44851 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
44852 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
44853 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
44854 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
44855 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
44856 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
44857 * partmap/amiga.c (grub_amiga_partition_map_init)
44858 (grub_amiga_partition_map_fini): Likewise.
44859 * partmap/apple.c (grub_apple_partition_map_init)
44860 (grub_apple_partition_map_fini): Likewise.
44861 * partmap/pc.c (grub_pc_partition_map_init)
44862 (grub_pc_partition_map_fini): Likewise.
44863 * partmap/sun.c (grub_sun_partition_map_init,
44864 grub_sun_partition_map_fini): Likewise.
44865 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
44866 Likewise.
44867
44868 * util/grub-emu.c: Include <grub_modules_init.h>.
44869 (main): Don't initialize and de-initialize any modules directly,
44870 use `grub_init_all' and `grub_fini_all' instead.
44871
44872 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
44873 `grub_vesafb_mod_init'.
44874 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
44875 all users.
44876 * term/i386/pc/vga.c (grub_vga_init): Renamed to
44877 `grub_vga_mod_init'. Updated all users.
44878 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 44879
6d099807 44880 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
44881 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
44882 rules.
44883
44884 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
44885 Generate a function to initialize the module in utilities.
44886 Updated all callers.
44887 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
44888 initialize the module in utilities. Updated all callers.
44889
9046bcf0 448902005-11-09 Hollis Blanchard <hollis@penguinppc.org>
44891
44892 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
44893 escape sequence and a literal ^L to clear the screen.
44894
44895 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
44896 when returning from Open Firmware.
44897
d13ea639 448982005-11-09 Hollis Blanchard <hollis@penguinppc.org>
44899
44900 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
44901 (grub_ofconsole_height): Likewise.
44902 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
44903 manually insert a '\n'.
44904 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
44905 `grub_ofconsole_height'. Return early if these are already set.
44906
a8fcf206 449072005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
44908
44909 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
44910 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
44911 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
44912 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
44913 and `normal/script.c'.
44914 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
44915 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
44916 (test_mod_SOURCES): New variable.
44917 (test_mod_CFLAGS): Likewise.
44918 (test_mod_LDFLAGS): Likewise.
44919 (pkgdata_MODULES): Add `test.mod'.
44920 (grub_script.tab.c): New rule.
44921 (grub_script.tab.h): Likewise.
44922
b6b32745 449232005-11-07 Marco Gerards <mgerards@xs4all.nl>
44924
44925 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44926 `commands/test.c', `normal/execute.c', `normal/lexer.c',
44927 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
44928 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
44929 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
44930 (test_mod_SOURCES): New variable.
44931 (test_mod_CFLAGS): Likewise.
44932 (pkgdata_MODULES): Add `test.mod'.
44933 (grub_script.tab.c): New rule.
44934 (grub_script.tab.h): Likewise.
44935
daac212a 449362005-11-06 Marco Gerards <mgerards@xs4all.nl>
44937
44938 Add initial scripting support.
44939
44940 * commands/test.c: New file.
44941 * include/grub/script.h: Likewise.
44942 * normal/execute.c: Likewise.
44943 * normal/function.c: Likewise.
44944 * normal/lexer.c: Likewise.
44945 * normal/parser.y: Likewise.
44946 * normal/script.c: Likewise.
44947
44948 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 44949
daac212a 44950 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
44951 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
44952 `normal/function.c' and `normal/script.c'.
44953 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
44954 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 44955 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
44956 variables.
daac212a 44957 (pkgdata_MODULES): Add `test.mod'.
44958 (grub_script.tab.c): New rule.
44959 (grub_script.tab.h): Likewise.
44960
44961 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
44962
44963 * include/grub/normal.h (grub_test_init): New prototype.
44964 (grub_test_fini): Likewise.
f19dbdb7 44965
daac212a 44966 * normal/command.c: Include <grub/script.h>.
44967 (grub_command_execute): Rewritten.
f19dbdb7 44968
daac212a 44969 * util/grub-emu.c (main): Call `grub_test_init' and
44970 `grub_test_fini'.
44971
77500b2b 449722005-11-03 Hollis Blanchard <hollis@penguinppc.org>
44973
44974 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
44975 to 0.
44976 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
44977 there are no pending characters.
44978
e45deb9e 449792005-11-03 Hollis Blanchard <hollis@penguinppc.org>
44980
44981 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
44982 `grub_strndup' to drop device arguments. Replace unnecessary
44983 `grub_strndup' with `grub_strdup'.
44984
4ce32619 449852005-11-03 Hollis Blanchard <hollis@penguinppc.org>
44986
44987 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
44988 `debug' environment variable has been set.
44989
449902005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 44991
4ce32619 44992 * Makefile.in (install-local): Use $(DATA).
44993 (uninstall): Likewise.
44994 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
44995 (sbin_UTILITIES): ... to here.
44996 (sbin_SCRIPTS): New variable.
44997 (grub_install_SOURCES): New variable.
44998 * util/powerpc/ieee1275/grub-install.in: New file.
44999 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
45000 variable.
45001 (add_segments): Call `grub_util_get_path'.
45002
25fe6f03 450032005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
45004
45005 From Timothy Baldwin:
45006 * commands/ls.c (grub_ls_list_files): Close FILE with
45007 grub_file_close.
45008 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
45009
04ccf3ec 450102005-10-24 Marco Gerards <mgerards@xs4all.nl>
45011
45012 * include/grub/parser.h: New file.
45013
45014 * kern/parser.c: Likewise.
45015
45016 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
45017 (grub_setup_SOURCES): Likewise.
45018 (grub_probefs_SOURCES): Likewise.
45019 (grub_emu_SOURCES): Likewise.
45020 (kernel_img_HEADERS): Add `parser.h'.
45021
45022 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
45023 (grub_emu_SOURCES): Add `kern/parser.c'.
45024 (grubof_SOURCES): Likewise.
45025
45026 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
45027 (grubof_SOURCES): Add `kern/parser.c'.
45028
45029 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
45030
45031 * kern/misc.c (grub_split_cmdline): Removed function.
45032
45033 * kern/rescue.c: Include <grub/parser.h>.
45034 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
45035 of `grub_split_cmdline'.
45036
45037 * normal/command.c: Include <grub/parser.h>.
45038 (grub_command_execute): Use `grub_parser_split_cmdline' instead
45039 of `grub_split_cmdline'.
45040
45041 * normal/completion.c: Include <grub/parser.h>.
45042 (cmdline_state): New variable.
45043 (iterate_dir): End the filename with a quote depending on the
45044 command line state.
45045 (get_state): new function.
45046 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
45047 split the arguments and determine the current argument. When the
45048 argument string is not quoted, escape all spaces.
45049
6d8f4b0e 450502005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
45051
45052 * normal/sparc64/setjmp.S: New file.
45053
15cf03ed 450542005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
45055
45056 * include/grub/sparc64/libgcc.h: New file.
45057 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
45058 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
45059 normal/sparc64/setjmp.c.
45060
03e8661a 450612005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
45062
45063 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
45064 * kern/sparc64/cache.S: New file.
45065 * kern/sparc64/cache.c: Removed.
45066 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
45067 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
45068 -mtune=ultrasparc.
45069 (COMMON_LDFLAGS): Add -melf64_sparc.
45070 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
45071 (grubof_SOURCES): Use cache.S instead of cache.c.
45072 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
45073 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
45074 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
45075 commented though.
45076 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
45077 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
45078 (linux_mod_CFLAGS): Commented out.
45079 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
45080 out because module isn't built.
45081 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
45082 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
45083 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
45084 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
45085 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
45086 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
45087 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
45088 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
45089 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
45090 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
45091 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
45092 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
45093 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
45094 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
45095
34eeec8a 450962005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
45097
45098 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
45099 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
45100 longer, because HFS should not be used on PC.
45101
708367a3 451022005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45103
45104 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
45105 consistently within the loop.
45106
6fa1251a 451072005-10-15 Marco Gerards <mgerards@xs4all.nl>
45108
45109 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
45110 directory can not be read.
45111
4801580b 451122005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
45113
45114 * configure.ac (AC_INIT): Increase the version number to 1.91.
45115
45116 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
45117 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
45118 term/i386/pc/serial.c.
45119
219ad426 451202005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
45121
45122 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
45123 file size must be permitted.
45124
45125 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
45126 between %ah and %al.
45127
688e5699 451282005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
45129
45130 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
45131 grub_uint64_t.
45132 Call the hook with a NUL-terminated filename.
45133 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
45134 grub_cpu_to_be32.
45135
45136 * kern/term.c (cursor_state): New variable.
45137 (grub_term_set_current): Reset the cursor state on a new
45138 terminal.
45139 (grub_setcursor): Rewritten to use CURSOR_STATE.
45140 (grub_getcursor): New function.
45141
45142 * include/grub/term.h (grub_getcursor): New prototype.
45143
45144 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
45145 integers on ARM. Reported by Timothy Baldwin
45146 <T.E.Baldwin99@members.leeds.ac.uk>.
45147
bb34586c 451482005-10-11 Marco Gerards <mgerards@xs4all.nl>
45149
45150 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
45151 allocated.
45152 (grub_sfs_dir): Likewise.
45153
9a909877 451542005-10-09 Marco Gerards <mgerards@xs4all.nl>
45155
45156 Add support for the SFS filesystem.
45157
45158 * fs/sfs.c: New file.
45159
45160 * DISTLIST: Added `fs/sfs.c'.
45161
45162 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
45163 (grub_probefs_SOURCES): Likewise.
45164 (grub_emu_SOURCES): Likewise.
45165 (pkgdata_MODULES): Add `sfs.mod'.
45166 (sfs_mod_SOURCES): New variable.
45167 (sfs_mod_CFLAGS): Likewise.
45168 (sfs_mod_LDFLAGS): Likewise.
45169
45170 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
45171 (pkgdata_MODULES): Add `sfs.mod'.
45172 (sfs_mod_SOURCES): New variable.
45173 (sfs_mod_CFLAGS): Likewise.
45174
45175 * util/grub-emu.c (main): Call `grub_sfs_init' and
45176 `grub_sfs_fini'.
45177
45178 * include/grub/fs.h (grub_sfs_init): New prototype.
45179 (grub_sfs_fini): Likewise.
45180
57bdbde3 451812005-10-07 Marco Gerards <mgerards@xs4all.nl>
45182
45183 Add support for the AFFS filesystem.
45184
45185 * fs/affs.c: New file.
45186
45187 * DISTLIST: Added `fs/affs.c'.
45188
45189 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
45190 (grub_probefs_SOURCES): Likewise.
45191 (grub_emu_SOURCES): Likewise.
45192 (pkgdata_MODULES): Add `affs.mod'.
45193 (affs_mod_SOURCES): New variable.
45194 (affs_mod_CFLAGS): Likewise.
45195 (affs_mod_LDFLAGS): Likewise.
45196
45197 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
45198 (pkgdata_MODULES): Add `affs.mod'.
45199 (affs_mod_SOURCES): New variable.
45200 (affs_mod_CFLAGS): Likewise.
45201
45202 * util/grub-emu.c (main): Call `grub_affs_init' and
45203 `grub_affs_fini'.
45204
45205 * include/grub/fs.h (grub_affs_init): New prototype.
45206 (grub_affs_fini): Likewise.
45207
047b67e0 452082005-10-01 Marco Gerards <mgerards@xs4all.nl>
45209
45210 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
45211
59b8208a 452122005-10-01 Marco Gerards <mgerards@xs4all.nl>
45213
45214 * configure.ac: Accept `x86_64' as host_cpu. In that case add
45215 `-m32' to CFLAGS.
45216
45217 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
45218 linking.
f19dbdb7 45219
59b8208a 45220 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
45221 (COMMON_LDFLAGS): New variable.
45222 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
45223 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
45224 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
45225 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
45226 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
45227 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
45228 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
45229 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
45230 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
45231 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
45232 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
45233 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
45234 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
45235 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
45236 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
45237 variables.
45238 (normal_mod_ASFLAGS): Add `-m32'.
45239
45240 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
45241 (grub_host_size_t, grub_host_ssize_t): New types.
45242 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 45243 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 45244 `GRUB_HOST_SIZEOF_VOID_P'.
45245
45246 * include/grub/kernel.h (struct grub_module_header): Type of
45247 member offset changed to `grub_host_off_t'. Type of member size
45248 changed to `grub_host_size_t'.
45249 (struct grub_module_info): Type of member offset changed to
45250 `grub_host_off_t'. Type of member size changed to
45251 `grub_host_size_t'.
45252
b4093103 452532005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
45254
45255 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 45256
b4093103 45257 * kern/i386/pc/startup.S (multiboot_header): New label.
45258 (multiboot_entry): Likewise.
45259 (multiboot_trampoline): Likewise.
45260
45261 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
45262 Increased to 0x4A0.
45263
45264 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
45265 put parentheses after a question mark.
45266 [!GRUB_UTIL] (my_mod): New variable.
45267
45268 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
45269
b2499b29 452702005-09-28 Marco Gerards <mgerards@xs4all.nl>
45271
45272 Adds support for the XFS filesystem. Btrees are not supported
45273 yet.
45274
45275 * fs/xfs.c: New file.
45276
45277 * DISTLIST: Added `fs/xfs.c'.
45278
45279 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
45280 (grub_probefs_SOURCES): Likewise.
45281 (grub_emu_SOURCES): Likewise.
45282 (pkgdata_MODULES): Add `xfs.mod'.
45283 (xfs_mod_SOURCES): New variable.
45284 (xfs_mod_CFLAGS): Likewise.
45285
45286 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
45287 (pkgdata_MODULES): Add `xfs.mod'.
45288 (xfs_mod_SOURCES): New variable.
45289 (xfs_mod_CFLAGS): Likewise.
45290
45291 * util/grub-emu.c (main): Call `grub_xfs_init' and
45292 `grub_xfs_fini'.
45293
45294 * include/grub/fs.h (grub_xfs_init): New prototype.
45295 (grub_xfs_fini): Likewise.
45296
f19dbdb7 45297
83d37a62 452982005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
45299
45300 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
45301 color modes, allow greater than 16 colors to be configured as
45302 a default palette.
45303
47d2d65e 453042005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45305
45306 * normal/completion.c (complete_arguments): Add the qualifier
45307 const into OPTIONS.
45308
45309 From Omniflux <omniflux+lists@omniflux.com>:
45310 * include/grub/terminfo.h: New file.
45311 * include/grub/tparm.h: Likewise.
45312 * include/grub/i386/pc/serial.h: Likewise.
45313 * term/terminfo.c: Likewise.
45314 * term/tparm.c: Likewise.
45315 * term/i386/pc/serial.c: Likewise.
45316 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
45317 serial.mod.
45318 (terminfo_mod_SOURCES): New variable.
45319 (terminfo_mod_CFLAGS): Likewise.
45320 (serial_mod_SOURCES): Likewise.
45321 (serial_mod_CFLAGS): Likewise.
45322
48b671ff 453232005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
45324
45325 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
45326 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
45327 and kern/powerpc/ieee1275/cmain.c, respectively.
45328
45329 * boot/powerpc/ieee1275/crt0.S: Moved to ...
45330 * kern/powerpc/ieee1275/crt0.S: ... here.
45331
45332 * boot/powerpc/ieee1275/cmain.c: Moved to ...
45333 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 45334
48b671ff 45335 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
45336 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
45337 instead of boot/powerpc/ieee1275/crt0.S and
45338 boot/powerpc/ieee1275/cmain.c, respectively.
45339
45340 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
45341 sectors. It was not used anyway.
45342
09fc77a7 453432005-08-30 Hollis Blanchard <hollis@penguinppc.org>
45344
45345 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
45346 `unused parameter' warning.
45347
003789c7 453482005-08-30 Hollis Blanchard <hollis@penguinppc.org>
45349
45350 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
45351 function.
45352 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
45353 getcharwidth.
45354
67f44c86 453552005-08-28 Marco Gerards <metgerards@student.han.nl>
45356
45357 * include/grub/normal.h (enum grub_completion_type): Added
45358 `GRUB_COMPLETION_TYPE_ARGUMENT'.
45359
45360 * normal/cmdline.c (print_completion): Handle
45361 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
45362 * normal/menu_entry.c (store_completion): Likewise.
45363
45364 * normal/completion.c (complete_arguments): New function.
45365 (grub_normal_do_completion): Call `complete_arguments' when the
45366 current words start with a dash.
45367
0b5abe02 453682005-08-27 Marco Gerards <metgerards@student.han.nl>
45369
45370 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
45371 `gzio.mod' instead of `io.mod').
45372
d9864ee1 453732005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
45374
45375 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
45376 (DISTDIRS): Added io and video.
45377 Rewrite the search routine to make an output consistently.
45378
45379 * DISTLIST: Added conf/sparc64-ieee1275.mk,
45380 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
45381 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
45382 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
45383 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
45384 util/powerpc/ieee1275/misc.c.
f19dbdb7 45385
d9864ee1 45386 * include/grub/gzio.h: New file.
45387 * io/gzio.c: Likewise.
f19dbdb7 45388
d9864ee1 45389 * kern/file.c (grub_file_close): Call grub_device_close only if
45390 FILE->DEVICE is not NULL.
45391
45392 * include/grub/mm.h [!NULL] (NULL): New macro.
45393
45394 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
45395
45396 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
45397 (pkgdata_MODULES): Added gzio.mod.
45398 (gzio_mod_SOURCES): New variable.
45399 (gzio_mod_CFLAGS): Likewise.
45400
45401 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
45402 (pkgdata_MODULES): Added gzio.mod.
45403 (gzio_mod_SOURCES): New variable.
45404 (gzio_mod_CFLAGS): Likewise.
45405
45406 * commands/cat.c: Include grub/gzio.h.
45407 (grub_cmd_cat): Use grub_gzfile_open instead of
45408 grub_file_open.
f19dbdb7 45409
d9864ee1 45410 * commands/cmp.c: Include grub/gzio.h.
45411 (grub_cmd_cmp): Use grub_gzfile_open instead of
45412 grub_file_open.
45413
45414 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
45415 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
45416 grub_file_open.
45417 (grub_rescue_cmd_module): Likewise.
45418
fa46f4b5 454192005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
45420
45421 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
45422 kern/sparc64/ieee1275/init.c because it contains _start.
45423 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
45424
e9211b5d 454252005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
45426
45427 * configure.ac: Add support for sparc64 host with ieee1275
45428 firmware.
45429 * configure: Generated from configure.ac.
45430 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
45431 instead of int.
45432 (grub_ofdisk_read): Likewise.
45433 (grub_ofdisk_open): Use %p to print pointer values, and cast the
45434 pointers as (void *) to remove a warning.
45435 (grub_ofdisk_close): Likewise.
45436 (grub_ofdisk_read): Likewise.
45437 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
45438 returns, so make it return void to remove a warning.
45439 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
45440 Corresponding prototype change.
45441 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
45442 values, and cast the pointers as (void *) to remove a warning.
45443 (grub_mm_dump): Likewise.
45444 * conf/sparc64-ieee1275.mk: New file.
45445 * conf/sparc64-ieee1275.rmk: Likewise.
45446 * include/grub/sparc64/setjmp.h: Likewise.
45447 * include/grub/sparc64/types.h: Likewise.
45448 * include/grub/sparc64/ieee1275/console.h: Likewise.
45449 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
45450 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
45451 * include/grub/sparc64/ieee1275/time.h: Likewise.
45452 * kern/sparc64/cache.c: Likewise.
45453 * kern/sparc64/dl.c: Likewise.
45454 * kern/sparc64/ieee1275/init.c: Likewise.
45455 * kern/sparc64/ieee1275/openfw.c: Likewise.
45456
385c6a92 454572005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
45458
45459 * util/console.c (grub_ncurses_putchar): If C is greater than
45460 0x7f, set C to a question mark.
45461 (grub_ncurses_getcharwidth): New function.
45462 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
45463 getcharwidth.
45464
45465 * normal/menu.c (print_entry): Made aware of Unicode. First,
45466 convert TITLE to UCS-4, and predict the cursor position by
45467 grub_getcharwidth.
45468
45469 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
45470 const to SRC.
45471 * kern/misc.c (grub_utf16_to_utf8): Likewise.
45472
16ccb8b1 454732005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
45474
45475 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
45476 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
45477 grub_strcat.
45478
45479 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
45480 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
45481 grub_strcpy and grub_strlen. Take it into account that a space
45482 character is inserted as a delimiter.
45483
6a85ce79 454842005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
45485
45486 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 45487 invalid magic in the error.
6a85ce79 45488
45489 * commands/search.c: New file.
f19dbdb7 45490
6a85ce79 45491 * util/grub-emu.c (main): Call grub_search_init and
45492 grub_search_fini.
45493
45494 * kern/rescue.c (grub_rescue_print_disks): Removed.
45495 (grub_rescue_print_devices): New function.
45496 (grub_rescue_cmd_ls): Use grub_device_iterate with
45497 grub_rescue_print_devices instead of grub_disk_dev_iterate with
45498 grub_rescue_print_disks.
45499
45500 * kern/partition.c (grub_partition_iterate): Return the result of
45501 PARTMAP->ITERATE instead of GRUB_ERRNO.
45502
45503 * kern/device.c: Include grub/partition.h.
45504 (grub_device_iterate): New function.
45505
45506 * include/grub/partition.h (grub_partition_iterate): Return int
45507 instead of grub_err_t.
45508
45509 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
45510 prototype.
45511 [GRUB_UTIL] (grub_search_fini): Likewise.
45512
45513 * include/grub/device.h (grub_device_iterate): New prototype.
45514
45515 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
45516 commands/search.c.
45517 (pkgdata_MODULES): Added search.mod.
45518 (search_mod_SOURCES): New variable.
45519 (search_mod_CFLAGS): Likewise.
45520
45521 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
45522 (pkgdata_MODULES): Added search.mod.
45523 (search_mod_SOURCES): New variable.
45524 (search_mod_CFLAGS): Likewise.
45525
45526 * commands/ls.c (grub_ls_list_disks): Renamed to ...
45527 (grub_ls_list_devices): ... this, and use grub_device_iterate.
45528 All callers changed.
45529
45530 * DISTLIST: Added commands/search.c.
45531
ef095434 455322005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
45533
45534 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
45535 conversion.
45536 (grub_getcharwidth): New function.
45537
45538 * kern/misc.c (grub_utf8_to_ucs4): New function.
45539
45540 * include/grub/term.h (struct grub_term): Added a new member
45541 "getcharwidth".
45542 (grub_getcharwidth): New prototype.
45543
45544 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
45545
45546 * term/i386/pc/console.c (map_char): New function. Segregated from
45547 grub_console_putchar.
45548 (grub_console_putchar): Use map_char.
45549 (grub_console_getcharwidth): New function.
45550 (grub_console_term): Specified grub_console_getcharwidth as
45551 getcharwidth.
45552
45553 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
45554 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
45555
45556 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
45557 GRUB_ERRNO.
45558 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
45559 on grub_strtoul completely.
45560 (write_char): Declare local variables in the beginning of the
45561 function.
45562 (grub_vesafb_getcharwidth): New function.
45563 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
45564 getcharwidth.
45565
1f0a95e4 455662005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
45567
45568 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
45569 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
45570 commands/i386/pc/vbetest.c.
45571
45572 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
45573 call grub_vbe_get_controller_info again, because the returned
45574 information is volatile.
45575 (grub_vbe_set_video_mode): Mostly rewritten.
45576 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
45577 grub_vbe_status_t correctly.
45578 (grub_vbe_get_video_mode_info): Likewise.
45579 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
45580 several if statements.
45581
45582 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
45583 * commands/i386/pc/vbeinfo.c: ... this.
45584
45585 * commands/i386/pc/vbe_test.c: Renamed to ...
45586 * commands/i386/pc/vbetest.c: ... this.
45587
45588 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
45589 ...
45590 (grub_cmd_vbeinfo): ... this. Save video modes before
45591 iterating. Skip a video mode, if it is not available, not enough
45592 information is given or it is monochrome. Show the memory
45593 model. Leave the interpretation of MODEVAR to grub_strtoul
45594 completely.
45595 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
45596 (GRUB_MOD_FINI): Likewise.
45597
45598 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
45599 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
45600 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
45601 duplicated grub_env_get. Leave the interpretation of MODEVAR to
45602 grub_strtoul completely.
45603 (real2pm): Removed.
45604 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
45605 (GRUB_MOD_FINI): Likewise.
45606
45607 * normal/misc.c: Include grub/mm.h.
45608
45609 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
45610 vbe_list_modes with vbetest.mod and vbeinfo.mod.
45611 (vbe_list_modes_mod_SOURCES): Removed.
45612 (vbe_list_modes_mod_CFLAGS): Likewise.
45613 (vbe_test_mod_SOURCES): Likewise.
45614 (vbe_test_mod_CFLAGS): Likewise.
45615 (vbeinfo_mod_SOURCES): New variable.
45616 (vbeinfo_mod_CFLAGS): Likewise.
45617 (vbetest_mod_SOURCES): Likewise.
45618 (vbetest_mod_CFLAGS): Likewise.
45619
992ffbbe 456202005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
45621
45622 * normal/misc.c: New file.
45623
45624 * DISTLIST: Added normal/misc.c.
f19dbdb7 45625
992ffbbe 45626 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
45627 DISK to HOOK. Call HOOK with DISK.
45628 * partmap/apple.c (apple_partition_map_iterate): Likewise.
45629 * partmap/pc.c (pc_partition_map_iterate): Likewise.
45630 * partmap/sun.c (sun_partition_map_iterate): Likewise.
45631
45632 * normal/menu_entry.c (struct screen): Added a new member
45633 "completion_shown".
45634 (completion_buffer): New global variable.
45635 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
45636 (store_completion): New function.
45637 (complete): Likewise.
45638 (clear_completions): Likewise.
45639 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
45640 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
45641 a tab, call complete.
45642
45643 * normal/completion.c (disk_dev): Removed.
45644 (print_simple_completion): Likewise.
45645 (print_partition_completion): Likewise.
45646 (print_func): New global variable.
45647 (add_completion): Do not take the arguments WHAT or PRINT any
45648 longer. Added a new argument TYPE. Instead of printing directly,
45649 call PRINT_FUNC if not NULL.
45650 All callers changed.
45651 (complete_device): Use a local variable DEV instead of
45652 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
45653 (grub_normal_do_completion): Take a new argument HOOK. Do not
45654 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
45655 empty string, return NULL instead.
45656 All callers changed.
45657
45658 * normal/cmdline.c (print_completion): New function.
45659
45660 * kern/partition.c (grub_partition_iterate): Add an argument DISK
45661 to HOOK.
45662 All callers changed.
45663
45664 * kern/disk.c (grub_print_partinfo): Removed.
45665
45666 * include/grub/partition.h (struct grub_partition_map): Add a new
45667 argument DISK into HOOK of ITERATE.
45668 (grub_partition_iterate): Add a new argument DISK to HOOK.
45669
45670 * include/grub/normal.h (enum grub_completion_type): New enum.
45671 (grub_completion_type_t): New type.
45672 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
45673 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
45674 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
45675 (GRUB_COMPLETION_TYPE_FILE): Likewise.
45676 (grub_normal_do_completion): Added a new argument HOOK.
45677 (grub_normal_print_device_info): New prototype.
45678
45679 * include/grub/disk.h (grub_print_partinfo): Removed.
45680
45681 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
45682 (normal_mod_SOURCES): Likewise.
45683 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45684 (normal_mod_SOURCES): Likewise.
45685
45686 * commands/ls.c (grub_ls_list_disks): Use
45687 grub_normal_print_device_info instead of grub_print_partinfo. Free
45688 PNAME.
45689 (grub_ls_list_files): Use grub_normal_print_device_info instead of
45690 duplicating the code.
45691
0bd41162 456922005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
45693
45694 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 45695 follow GCS more precisely.
45696 * commands/i386/pc/vbe_test.c: Likewise.
45697 * include/grub/i386/pc/vbe.h: Likewise.
45698 * term/i386/pc/vesafb.c: Likewise.
45699 * video/i386/pc/vbe.c: Likewise.
0bd41162 45700
6323696a 457012005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
45702
45703 * DISTLIST: Added term/i386/pc/vesafb.c
45704 DISTLIST: Added video/i386/pc/vbe.c
45705 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
45706 DISTLIST: Added commands/i386/pc/vbe_test.c.
45707 * commands/i386/pc/vbe_list_modes.c: New file.
45708 * commands/i386/pc/vbe_test.c: Likewise.
45709 * term/i386/pc/vesafb.c: Likewise.
45710 * video/i386/pc/vbe.c: Likewise.
45711 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
45712 (grub_vbe_probe) Added prototype.
45713 (grub_vbe_set_video_mode) Likewise.
45714 (grub_vbe_get_video_mode) Likewise.
45715 (grub_vbe_get_video_mode_info) Likewise.
45716 (grub_vbe_set_pixel_rgb) Likewise.
45717 (grub_vbe_set_pixel_index) Likewise.
45718 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
45719 (pkgdata_MODULES): Added vesafb.mod.
45720 (pkgdata_MODULES): Added vbe_list_modes.mod.
45721 (pkgdata_MODULES): Added vbe_test.mod.
45722 (vbe_mod_SOURCES): Added.
45723 (vbe_mod_CFLAGS): Likewise.
45724 (vesafb_mod_SOURCES): Likewise.
45725 (vesafb_mod_CFLAGS): Likewise.
45726 (vbe_list_modes_mod_SOURCES): Likewise.
45727 (vbe_list_modes_mod_CFLAGS): Likewise.
45728 (vbe_test_mod_SOURCES): Likewise.
45729 (vbe_test_mod_CFLAGS): Likewise.
45730
0a74e62f 457312005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
45732
0a74e62f 45733 * normal/command.c (grub_command_execute): If INTERACTIVE is
45734 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
45735 CMDLINE. Disable the pager if INTERACTIVE is true.
45736 All callers are changed.
45737
45738 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
45739 before reading a config file.
45740 * normal/main.c (read_config_file): Even if a command is not
45741 found, register it if it is within an entry.
45742
45743 * util/grub-emu.c: Include sys/types.h and unistd.h.
45744 (options): Added --hold.
45745 (struct arguments): Added a new member "hold".
45746 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
45747 missing.
45748 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
45749 cleared by a debugger, if it is not zero.
45750
45751 * include/grub/normal.h (grub_command_execute): Add an argument
45752 INTERACTIVE.
45753
e51f85ae 457542005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
45755
45756 * DISTLIST: Added include/grub/i386/pc/vbe.h.
45757
e9c6f39b 457582005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
45759
45760 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
45761 program with another one, because the old one didn't detect a bug
45762 in gcc-3.4. Always use regparm 2, because the new test is still
45763 not enough for gcc-4.0. Someone must investigate a simple test
45764 case which detects a bug in gcc-4.0.
45765
8de3495c 457662005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
45767
45768 * DISTLIST: Added normal/completion.c.
45769
45770 * normal/completion.c: New file.
f19dbdb7 45771
8de3495c 45772 * term/i386/pc/console.c (grub_console_getwh): New function.
45773 (grub_console_term): Assign grub_console_getwh to getwh.
45774
45775 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
45776 function is defined in normal/completion.c as
45777 grub_normal_do_completion.
45778 (grub_cmdline_get): Use grub_normal_do_completion instead of
45779 grub_tab_complete.
45780
45781 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
45782 returns non-zero, otherwise return 0.
45783 (grub_partition_iterate): First, probe the partition map. Then,
45784 call ITERATE only for this partition map.
45785
45786 * kern/misc.c (grub_strncmp): Rewritten.
45787
45788 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
45789 returns non-zero. Otherwise return 0.
45790
45791 * include/grub/partition.h (grub_partition_map_iterate): Return
45792 int instead of void.
45793
45794 * include/grub/normal.h (grub_normal_do_completion): New prototype.
45795
45796 * include/grub/misc.h (grub_strncmp): Change the type of N to
45797 grub_size_t.
45798
45799 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
45800 of void.
45801
45802 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 45803 unsigned explicitly before comparing it with I.
8de3495c 45804
45805 * kern/main.c (grub_env_write_root): Add the attribute unused into
45806 VAR.
45807
45808 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
45809 normal/completion.c.
45810 (normal_mod_SOURCES): Likewise.
45811 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
45812 (normal_mod_SOURCES): Likewise.
45813
45814 * normal/command.c (grub_iterate_commands): If ITERATE returns
45815 non-zero, return one immediately.
45816
e85e144b 458172005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
45818
45819 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
45820 * kern/i386/pc/startup.S: Updated Global Descriptor table's
45821 descriptions.
45822 (grub_vbe_get_controller_info): New function.
45823 (grub_vbe_get_mode_info): Likewise.
45824 (grub_vbe_set_mode): Likewise.
45825 (grub_vbe_get_mode): Likewise.
45826 (grub_vbe_set_memory_window): Likewise.
45827 (grub_vbe_get_memory_window): Likewise.
45828 (grub_vbe_set_scanline_length): Likewise.
45829 (grub_vbe_get_scanline_length): Likewise.
45830 (grub_vbe_set_display_start): Likewise.
45831 (grub_vbe_get_display_start): Likewise.
45832 (grub_vbe_set_palette_data): Likewise.
45833 * include/grub/i386/pc/vbe.h: New file.
45834
c46153d2 458352005-08-08 Hollis Blanchard <hollis@penguinppc.org>
45836
45837 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
45838 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
45839 * DISTLIST: Likewise.
45840 * kern/ieee1275/of.c: Moved to ...
45841 * kern/ieee1275/ieee1275.c: ... here.
45842
0cb90c45 458432005-08-08 Hollis Blanchard <hollis@penguinppc.org>
45844
45845 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
45846 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
45847 Pass 0 as `end' parameter to grub_strtoul().
45848
a19fb360 458492005-08-08 Hollis Blanchard <hollis@penguinppc.org>
45850
45851 * include/grub/powerpc/ieee1275/console.h: Do not include
45852 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
45853 ifdef.
45854 (grub_console_cur_color): Remove i386-specific prototype.
45855 (grub_console_real_putchar): Likewise.
45856 (grub_console_checkkey): Likewise.
45857 (grub_console_getkey): Likewise.
45858 (grub_console_getxy): Likewise.
45859 (grub_console_gotoxy): Likewise.
45860 (grub_console_cls): Likewise.
45861 (grub_console_setcursor): Likewise.
45862 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
45863 Include <grub/machine/console.h>.
45864 * term/ieee1275/ofconsole.c: Likewise.
45865
4ac9bd04 458662005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
45867
45868 * Makefile.in (LIBLZO): New variable.
45869
45870 * configure.ac: Check for LZO version 2.
45871
45872 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
45873 lzo/lzo1x.h instead of lzo1x.h.
45874
45875 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
45876 of -llzo.
45877
45878 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
45879 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
45880
45881 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
45882 copying the data from PARTITION to P.
45883
f4917dfd 458842005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
45885
45886 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
45887 negative, unload the module.
45888
45889 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
45890 map is "pc_partition_map" but not "pc".
45891 (usage): Fix the description. The options are --boot-image and
45892 --core-image but not --boot-file or --core-file.
45893 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
45894 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
45895 DEFAULT_DIRECTORY.
45896
45897 * util/i386/pc/grub-install.in: Do not specify --boot-file or
45898 --core-file. Specify INSTALL_DEVICE as an argument.
45899
45900 * util/console.c: Include config.h.
45901 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
45902 [HAVE_NCURSES_H]: Include ncurses.h.
45903 [HAVE_CURSES_H]: Include curses.h.
45904 [!A_NORMAL] (A_NORMAL): Defined as zero.
45905 [!A_STANDOUT] (A_STANDOUT): Likewise.
45906
45907 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
45908 -lncurses.
45909 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
45910
45911 * configure.ac: Check for curses libraries and headers.
45912
45913 * Makefile.in (LIBCURSES): New variable.
45914
45915 * genmk.rb (Script::rule): Set the executable bits.
45916
45917 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
45918 name of the PC partition map is "pc_partition_map" but not "pc".
45919
0e143073 459202005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
45921
45922 * util/i386/pc/grub-install.in (grub_probefs): New variable.
45923 (modules): Likewise.
45924 (usage): Added descriptions for --modules and --grub-probefs.
45925 Handle --modules and --grub-probefs. Save the arguments in MODULES
45926 and GRUB_PROBEFS, respectively.
45927 Auto-detect a filesystem module against GRUBDIR. If the result is
45928 empty and modules are not specified explicitly, abort the
45929 installation. Add the result to MODULES.
45930
45931 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
45932 disk/powerpc/ieee1275/ofdisk.c,
45933 include/grub/powerpc/ieee1275/init.h and
45934 term/powerpc/ieee1275/ofconsole.c.
45935 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
45936 term/ieee1275/ofconsole.c.
45937
45938 * include/grub/powerpc/ieee1275/console.h: Resurrected.
45939
45940 * COPYING: Upgraded to the latest version. Only the address of the
45941 FSF office has changed.
f19dbdb7 45942
efd6e6d5 459432005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
45944
45945 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
45946 kern/ieee1275.c with kern/ieee1275/of.c.
45947
45948 * kern/ieee1275.c: Moved to ...
45949 * kern/ieee1275/of.c: ... here.
45950
8ceafda2 459512005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
45952
45953 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 45954 readability.
8ceafda2 45955
45956 * config.guess: Updated to the latest version from gnulib.
45957 * config.sub: Likewise.
45958 * install.sh: Likewise.
45959 * mkinstalldirs: Likewise.
45960
45961 * include/grub/console.h: Removed. This file is arch-specific. Do
45962 not put this in include/grub.
45963
45964 * include/grub/i386/pc/console.h: Resurrected.
45965
45966 * util/console.c: Include grub/machine/console.h instead of
45967 grub/console.h.
45968 * util/grub-emu.c: Likewise.
45969
267f6cd9 459702005-08-04 Marco Gerards <metgerards@student.han.nl>
45971
45972 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
45973 hardcoded value.
f19dbdb7 45974
267f6cd9 45975 From Vincent Pelletier <subdino2004@yahoo.fr>
45976 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
45977 Redefined to use grub_getwh.
45978 (grub_term): New member named getwh.
45979 (grub_getwh): New prototype.
45980 * kern/term.c (grub_getwh): New function.
45981 * term/i386/pc/console.c (grub_console_getwh): New function.
45982 (grub_console_term): New member `getwh'.
45983 * term/i386/pc/vga.c (grub_vga_getwh): New function.
45984 (grub_vga_term): New member `getwh'.
0b5abe02 45985 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 45986 grub_ssize_t.
45987 (grub_ofconsole_getw): New function.
45988 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
45989 (grub_ofconsole_term): New field named getwh and new initial
45990 value.
45991
3be7266d 459922005-08-03 Hollis Blanchard <hollis@penguinppc.org>
45993
45994 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
45995 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
45996 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
45997 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
45998 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
45999 of <grub/machine/ieee1275.h>.
46000 * commands/ieee1275/reboot.c: Likewise.
46001 * boot/powerpc/ieee1275/ieee1275.c: Move ...
46002 * kern/ieee1275.c: ... to here. All users updated. Change all
46003 parameter structs to use new type `grub_ieee1275_cell_t'.
46004 * term/powerpc/ieee1275/ofconsole.c: Move ...
46005 * term/ieee1275/ofconsole.c: ... to here. All users updated.
46006 * disk/powerpc/ieee1275/ofdisk.c: Move ...
46007 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
46008 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
46009 to return int.
46010 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
46011 Remove unused prototypes. All users updated.
46012 * include/grub/powerpc/ieee1275/console.h: Removed.
46013 * include/grub/powerpc/ieee1275/ieee1275.h: Define
46014 `grub_ieee1275_cell_t'.
46015 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
46016 Cast comparisons with -1 to the correct type.
46017 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
46018 type to match `grub_ieee1275_entry_fn'.
46019
8b5f3938 460202005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
46021
46022 * DISTLIST: Added util/i386/pc/grub-probefs.c.
46023
46024 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
46025 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
46026 partmap/sun.c.
46027 (grub_probefs_SOURCES): New variable.
46028
46029 * util/i386/pc/grub-probefs.c: New file.
46030
46031 * util/i386/pc/grub-setup.c (main): Call
46032 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
46033 grub_hfs_init and grub_jfs_init to initialize the system. Call
46034 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
46035 grub_pc_partition_map_fini to finish the system.
46036
ea409713 460372005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
46038
46039 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
46040 function.
46041 (grub_multiboot_load_elf32): Likewise.
46042 (grub_multiboot_is_elf64): Likewise.
46043 (grub_multiboot_load_elf64): Likewise.
46044 (grub_multiboot_load_elf): Likewise.
46045 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
46046 an ELF32 or ELF64 file.
46047 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
46048
46049 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
46050 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
46051 NULL before calling FS->LABEL.
46052 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
46053 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
46054 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
46055 before calling FS->LABEL.
46056
141a288b 460572005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
46058
46059 * util/i386/pc/grub-install.in (datadir): New variable.
46060 (libdir): Removed.
46061 (pkgdatadir): New variable.
46062 (pkglibdir): Removed.
46063
0d5f8a54 460642005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
46065
46066 * DISTLIST: Added util/i386/pc/grub-install.in.
46067
46068 * util/i386/pc/grub-install.in: New file.
46069
46070 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
46071 (grub_install_SOURCES): Likewise.
46072
46073 * genmk.rb: Added support for scripts.
46074 (Script): New class.
46075 (scripts): New variable.
46076
46077 * Makefile.in (install-local): Install sbin_SCRIPTS by
46078 INSTALL_SCRIPT.
46079 (uninstall): Remove sbin_SCRIPTS.
46080
46081 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
46082 device, try to get a GRUB device by
46083 grub_util_biosdisk_get_grub_dev.
46084 Free DEST_DEV.
46085
46086 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
46087 description for --device-map.
46088
5f968e1e 460892005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
46090
46091 Change the semantics of variable hooks. They now return strings
46092 instead of error values.
f19dbdb7 46093
5f968e1e 46094 * util/i386/pc/grub-setup.c: Include grub/env.h.
46095 (setup): Use grub_device_set_root instead of grub_env_set.
46096
46097 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
46098 grub_env_get instead of grub_device_set_root and
46099 grub_device_get_root, respectively.
46100
46101 * kern/main.c (grub_env_write_root): New function.
46102 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
46103 grub_env_set instead of grub_device_set_root.
46104
46105 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
46106 many variables.
46107 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
46108 rather than calling ENV->WRITE_HOOK afterwards.
46109 (grub_env_get): Return the result of ENV->READ_HOOK rather than
46110 passing a pointer of a pointer.
46111 (grub_register_variable_hook): Change the types of "read_hook" and
46112 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
46113 respectively.
46114 Allocate the default empty string on the heap, because this string
46115 may be freed later.
46116
46117 * kern/device.c: Include grub/env.h.
46118 (grub_device_set_root): Removed.
46119 (grub_device_get_root): Likewise.
46120 (grub_device_open): Use grub_env_get instead of
46121 grub_device_get_root.
46122
46123 * include/grub/env.h (grub_env_read_hook_t): New type.
46124 (grub_env_write_hook_t): Likewise.
46125 (grub_env_var): Change the types of "read_hook" and "write_hook"
46126 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
46127 (grub_register_variable_hook): Likewise.
46128
46129 * include/grub/device.h (grub_device_set_root): Removed.
46130 (grub_device_set_root): Likewise.
46131
46132 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
46133 make sure that DIRNAME terminates with '/', so that
46134 grub_fat_find_dir will fail if PATH is not a directory.
46135
46136 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
46137 from DIRNAME.
46138 Use the qualifier auto for print_files and print_files_long.
46139 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
46140 as a regular file.
46141 Put a newline only if there is no error.
46142 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
46143 used.
46144
896f0afd 461452005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
46146
46147 * kern/partition.c (grub_partition_probe): Initialize PART to
46148 NULL. Otherwise, when no partition map is registered, this returns
46149 a garbage.
46150
b28b81b2 461512005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
46152
46153 * partmap/apple.c (apple_partition_map_iterate): Check if POS
46154 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
46155 valid.
46156
5f3607e0 461572005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
46158
46159 * commands/ls.c (grub_ls_list_disks): Print the filesystem
46160 information on each device, if it does not have partitions. Print
46161 "Device" instead of "Disk", because this function is not specific
46162 to disk devices.
46163
46164 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
46165 static to ensure that it is put on the memory rather than a
46166 register.
46167
502c87e8 461682005-07-17 Yoshinori Okuji <okuji@enbug.org>
46169
46170 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
46171 (grub_cat_init): Likewise.
46172 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
46173 (options): Likewise.
46174 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
46175 (grub_configfile_init): Likewise.
46176 * font/manager.c (GRUB_MOD_INIT): Likewise.
46177 * commands/help.c (GRUB_MOD_INIT): Likewise.
46178 (grub_help_init): Likewise.
46179 * normal/command.c (grub_command_init): Likewise.
46180 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
46181 * disk/loopback.c (grub_loop_init): Likewise.
46182 (GRUB_MOD_INIT): Likewise.
46183 * commands/ls.c (grub_ls_init): Likewise.
46184 (GRUB_MOD_INIT): Likewise.
46185 (options): Likewise.
46186 * commands/boot.c (grub_boot_init): Likewise.
46187 (GRUB_MOD_INIT): Likewise.
46188 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
46189 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
46190 (GRUB_MOD_INIT): Likewise.
46191 * commands/cmp.c (grub_cmp_init): Likewise.
46192 (GRUB_MOD_INIT): Likewise.
46193
46194 * normal/arg.c: Use <> instead of "" to include header files.
46195 (SHORT_ARG_HELP): New macro.
46196 (SHORT_ARG_USAGE): Likewise.
46197 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
46198 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
46199 descriptions.
46200 (find_short): Check if C is 'h' or 'u' explicitly.
46201 (grub_arg_show_help): Use space characters instead of tabs. Treat
46202 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
46203 are shown with --help and --usage only if they are not used for
46204 the command itself.
46205 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
46206 'h' and 'u'.
46207
46208 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
46209 const into "longarg". Change the type of "shortarg" to int.
46210
f806d18e 462112005-07-17 Yoshinori Okuji <okuji@enbug.org>
46212
46213 * boot/i386/pc/boot.S (boot_drive_check): New label.
46214
46215 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
46216 macro.
46217
46218 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
46219 which do not pass a boot drive correctly. Copied from GRUB Legacy.
46220
e293232b 462212005-07-17 Yoshinori Okuji <okuji@enbug.org>
46222
46223 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
46224 When turning off Gate A20, skip the check and return immediately,
46225 because this is not fatal usually.
46226
ebedfd00 462272005-07-17 Yoshinori Okuji <okuji@enbug.org>
46228
46229 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
46230 be 0x7C00 instead of 0x8000.
46231
46232 * boot/i386/pc/pxeboot.S: Rewritten.
46233
46234 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
46235 EXT_C.
46236 (gate_a20_check_state): Read a byte from 0x108000. Invert the
46237 result.
46238
654fc59f 462392005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
46240
46241 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
46242 robustness. This routine now supports a BIOS call and System
46243 Control Port A to modify the gate A20.
46244
46245 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
46246 Increased to 0x440.
46247
09f9923f 462482005-07-12 Hollis Blanchard <hollis@penguinppc.org>
46249
46250 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
46251 device path and resulting ihandle.
46252 (grub_ofdisk_close): dprintf the ihandle being closed.
46253 (grub_ofdisk_read): dprintf function parameters.
46254 * kern/mm.c (grub_mm_init_region): Likewise.
46255 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
46256 (grub_linux_boot): dprintf the Linux entry point, initrd address and
46257 size, and boot arguments.
46258 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
46259 before loading into memory.
46260 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
46261 before loading into memory.
46262
7ef504d8 462632005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
46264
46265 * kern/mm.c: Added much documentation.
46266 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
46267 8, set to 5 instead of 8.
46268
e0f050c2 462692005-07-10 Yoshinori Okuji <okuji@enbug.org>
46270
46271 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
46272
46273 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
46274 (grub_mkdevicemap_SOURCES): New variable.
46275
46276 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
46277 lib/device.c of GRUB Legacy.
46278
7224189a 462792005-07-10 Yoshinori Okuji <okuji@enbug.org>
46280
46281 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
46282 instead of PATH is NULL.
46283
68c864eb 462842005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
46285
46286 * commands/cmp.c (BUFFER_SIZE): New macro.
46287 (grub_cmd_cmp): Close the right file at the right time. Compare
46288 only data just read. Don't report files of different size as
46289 identical. Dynamically allocate buffers. Move variable
46290 declarations at the beginning of function.
46291
e6f3e614 462922005-07-09 Yoshinori Okuji <okuji@enbug.org>
46293
46294 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
46295 reverse.
46296
f8f1559a 462972004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
46298
46299 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
46300 when backspace is pressed at beginning of line.
46301
39c9d41d 463022005-07-03 Yoshinori Okuji <okuji@enbug.org>
46303
46304 * DISTLIST: Added genfslist.sh.
46305
46306 * normal/main.c (fs_module_list): New variable.
46307 (autoload_fs_module): New function.
46308 (read_fs_list): Likewise.
46309 (grub_normal_execute): Call read_fs_list.
46310
46311 * kern/fs.c (grub_fs_autoload_hook): New variable.
46312 (grub_fs_probe): Added support for auto-loading.
46313
46314 * include/grub/normal.h (struct grub_fs_module_list): New struct.
46315 (grub_fs_module_list_t): New type.
46316
46317 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
46318 (grub_fs_autoload_hook): New prototype.
46319
46320 * genfslist.sh: New file.
f19dbdb7 46321
39c9d41d 46322 * genmk.rb: Added a rule to generate a filesystem list.
46323
121c1d83 463242005-06-30 Marco Gerards <metgerards@student.han.nl>
46325
46326 * configure.ac: Fix the test for cross-compiling.
46327
46328 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
46329 define GRUB_UTIL anymore.
46330
46331 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
46332 so this function works on other systems than just big endian.
46333 (load_modules): Likewise.
46334 (add_segments): Likewise.
46335
e75d76e1 463362005-06-23 Hollis Blanchard <hollis@penguinppc.org>
46337
46338 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
46339 contains `l' modifier, get a long from va_arg().
46340
50b5a0a7 463412005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
46342
46343 * kern/mm.c (grub_free): If the next free block which is being
46344 merged is the first free block, set the first block to the block
46345 being freed.
46346 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
46347
89371b20 463482005-05-08 Hollis Blanchard <hollis@penguinppc.org>
46349
46350 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
46351 `grub_ieee1275_chosen'.
46352
168d6e58 463532005-05-08 Hollis Blanchard <hollis@penguinppc.org>
46354
46355 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
46356 (grub_ieee1275_chosen): New variable.
46357 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
46358 `chosen'.
46359 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
46360 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
46361 Rename first argument to `phandle' for consistency.
46362 (grub_ieee1275_get_property_length): Likewise.
46363 (grub_ieee1275_next_property): Likewise. Change type of first argument
46364 to grub_ieee1275_phandle_t.
46365 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
46366 Move export next to declaration.
46367 (grub_ieee1275_chosen): New variable.
46368 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
46369 Correct cosmetic typo.
46370 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
46371 `grub_ieee1275_chosen'.
46372 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
46373 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
46374 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
46375 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
46376 `grub_ieee1275_chosen'.
46377
ca5baa3f 463782005-05-10 Hollis Blanchard <hollis@penguinppc.org>
46379
46380 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
46381 /chosen/bootargs.
46382 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
46383 /chosen/bootargs as "variable=value" pairs.
46384
708b345f 463852005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
46386
46387 * include/grub/misc.h (grub_dprintf): New macro.
46388 (grub_real_dprintf): New prototype.
46389 (grub_strword): Likewise.
46390 (grub_iswordseparator): Likewise.
46391 * kern/misc.c (grub_real_dprintf): New function.
46392 (grub_strword): Likewise.
46393 (grub_iswordseparator): Likewise.
46394
f4c5e67c 463952005-04-30 Hollis Blanchard <hollis@penguinppc.org>
46396
46397 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
46398 (roundup): Remove macro.
46399 (grub_ieee1275_flags): Make static.
46400 (grub_ieee1275_realmode): Remove.
46401 (grub_ieee1275_test_flag): New function.
46402 (grub_ieee1275_set_flag): Likewise.
46403 (find_options): Rename to `grub_ieee1275_find_options'; update
46404 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
46405 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
46406 (cmain): New prototype.
46407 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
46408 `grub_ieee1275_flags' directly.
46409 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
46410 machine/biosdisk.h.
46411 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
46412 Don't include grub/machine/init.h.
46413 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
46414 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
46415 Remove prototype.
46416 (grub_ieee1275_realmode): Likewise.
46417 (grub_ieee1275_flag): New enum.
46418 (grub_ieee1275_test_flag): New prototype.
46419 (grub_ieee1275_set_flag): New prototype.
46420 * include/grub/powerpc/ieee1275/init.h: Remove file.
46421 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
46422 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
46423 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
46424 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
46425 comment.
46426 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
46427 `grub_ieee1275_test_flag'.
46428 (grub_ieee1275_encode_devname): Likewise.
46429
ed16607e 464302005-04-21 Hollis Blanchard <hollis@penguinppc.org>
46431
46432 * include/grub/powerpc/ieee1275/ieee1275.h
46433 (grub_ieee1275_encode_devname): New prototype.
46434 (grub_ieee1275_get_filename): Likewise.
46435 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
46436 function.
46437 (grub_set_prefix): Likewise.
46438 (grub_machine_init): Call grub_set_prefix.
46439 * kern/powerpc/ieee1275/openfw.c: Fix typos.
46440 (grub_parse_type): New enum.
46441 (grub_ieee1275_get_devargs): New function.
46442 (grub_ieee1275_get_devname): Likewise.
46443 (grub_ieee1275_parse_args): Likewise.
46444 (grub_ieee1275_get_filename): Likewise.
46445 (grub_ieee1275_encode_devname): Likewise.
46446
be369920 464472005-03-30 Marco Gerards <metgerards@student.han.nl>
46448
46449 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
46450 `grub_loader_unset'.
46451
a5ce3a4a 464522005-03-26 Hollis Blanchard <hollis@penguinppc.org>
46453
46454 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
46455 instead of grub_ieee1275_interpret.
46456 (grub_halt_init): New function.
46457 (grub_halt_fini): Likewise.
46458 (GRUB_MOD_INIT): Correct message grammar.
46459 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
46460 instead of grub_ieee1275_interpret.
46461 (grub_reboot_init): New function.
46462 (grub_reboot_fini): Likewise.
46463 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
46464 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
46465 util/i386/pc/misc.c with commands/ieee1275/halt.c,
46466 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
46467 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
46468 function.
46469 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
46470 Add prototype.
46471 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
46472 prototype.
46473 (grub_halt): Likewise.
46474 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
46475 (cmain): Remove __attribute__((unused)).
46476 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
46477 (grub_heap_len): Likewise.
46478 (grub_machine_fini): New function.
46479 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
46480 (grub_halt): Likewise.
46481 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
46482 function.
46483 * util/powerpc/ieee1275/misc.c: New file.
46484
0058f771 464852005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
46486
46487 * DISTLIST: New file.
46488 * gendistlist.sh: Likewise.
f19dbdb7 46489
0058f771 46490 * Makefile.in (COMMON_DISTFILES): Removed.
46491 (BOOT_DISTFILES): Likewise.
46492 (CONF_DISTFILES): Likewise.
46493 (DISK_DISTFILES): Likewise.
46494 (FS_DISTFILES): Likewise.
46495 (INCLUDE_DISTFILES): Likewise.
46496 (KERN_DISTFILES): Likewise.
46497 (LOADER_DISTFILES): Likewise.
46498 (TERM_DISTFILES): Likewise.
46499 (UTIL_DISTFILES): Likewise.
46500 (DISTFILES): Likewise.
46501 (uninstall): Uninstall files in $(pkgdata_DATA).
46502 (DISTLIST): New target.
46503 (distdir): Use the contents of the file DISTLIST to get a list of
46504 distributed files.
46505
46b3b8a5 465062005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
46507
46508 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
46509 descriptor. This is ported from GRUB Legacy.
46510
46511 * gencmdlist.sh: Added an extra semicolon to make it work with
46512 old sed versions. Reported by Robert Bihlmeyer
46513 <robbe@orcus.priv.at>.
46514
5822ff87 465152005-03-08 Yoshinori Okuji <okuji@enbug.org>
46516
46517 Automatic loading of commands is supported.
f19dbdb7 46518
5822ff87 46519 * normal/main.c (read_command_list): New function.
46520 (grub_normal_execute): Call read_command_list.
46521
46522 * normal/command.c (grub_register_command): Return zero or CMD.
46523 Allocate CMD->NAME from the heap.
46524 Initialize CMD->MODULE_NAME to zero.
46525 Find the same name as well. If the same command is found and it is
46526 a dummy command, overwrite members. If it is not a dummy command,
46527 return zero.
46528 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
46529 (grub_command_find): If a dummy command is found, load a module
46530 and retry to find a command only once.
46531
46532 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
46533 make sure that each command is loaded.
46534
46535 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
46536 macro.
46537 (struct grub_command): Remove const from the member `name'.
46538 Add a new member `module_name'.
46539 (grub_register_command): Return grub_command_t.
46540
46541 * commands/help.c (grub_cmd_help): Call grub_command_find to make
46542 sure that each command is loaded.
46543
46544 * genmk.rb (PModule::rule): Specify a module name without the
46545 suffix ".mod" to gencmdlist.sh.
46546
7b1f4b57 465472005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
46548
46549 * gencmdlist.sh: New file.
f19dbdb7 46550
7b1f4b57 46551 * genmk.rb (PModule::rule): Generate a rule for a command list.
46552 Clean command.lst.
46553 Generate command.lst from $(COMMANDFILES).
46554
46555 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
46556 (DATA): Added $(pkgdata_DATA).
46557 (install-local): Install files in $(pkgdata_DATA).
46558
062aaf39 465592005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
46560
46561 * term/i386/pc/vga.c (debug_command): Removed.
46562 (GRUB_MOD_INIT): Do not register the command "debug".
46563
46564 From Hollis Blanchard:
46565 * commands/configfile.c: New file.
46566 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
46567 commands/configfile.c.
46568 (pkgdata_MODULES): Added configfile.mod.
46569 (configfile_mod_SOURCES): New variable.
46570 (configfile_mod_CFLAGS): Likewise.
46571 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
46572 commands/configfile.c.
46573 (pkgdata_MODULES): Added configfile.mod.
46574 (configfile_mod_SOURCES): New variable.
46575 (configfile_mod_CFLAGS): Likewise.
46576 * util/grub-emu.c (main): Call grub_configfile_init and
46577 grub_configfile_fini.
46578 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
46579 prototype.
46580 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 46581
cee01aa6 465822005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
46583
46584 * normal/arg.c (grub_arg_show_help): Do not show the bug report
46585 address.
46586
46587 * commands/help.c (grub_cmd_help): Do not print newlines after
46588 the last command in print_command_help.
46589
93f3a1d8 465902005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
46591
46592 * commands/default.h: New file.
46593 * commands/timeout.h: Likewise.
46594 * normal/context.c: Likewise.
f19dbdb7 46595
93f3a1d8 46596 * util/misc.c: Do not include sys/times.h.
46597 Include sys/time.h and grub/machine/time.h.
46598 (grub_get_rtc): Rewritten with gettimeofday.
46599
46600 * util/grub-emu.c (main): Call grub_default_init and
46601 grub_timeout_init before grub_normal_init, and call
46602 grub_timeout_fini and grub_default_fini after grub_main.
46603
46604 * util/console.c (grub_ncurses_checkkey): Return the read
46605 character or -1.
46606
46607 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
46608 timeouts.
46609
46610 * normal/main.c (read_config_file): Push MENU. If this fails,
46611 print an error and wait for a user input.
46612 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
46613 If a menu is empty or an error occurs, pop MENU.
46614 (grub_normal_execute): Pop and free MENU after grub_menu_run
46615 returns.
46616
46617 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
46618
46619 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
46620 include time.h.
46621 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
46622 without GRUB_UTIL.
46623 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
46624 time.h.
46625 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
46626 without GRUB_UTIL.
46627
46628 * include/grub/normal.h (struct grub_menu_list): New struct.
46629 (grub_menu_list_t): New type.
46630 (struct grub_context): New struct.
46631 (grub_context_t): New type.
46632 (grub_register_command): Got rid of EXPORT_FUNC.
46633 (grub_unregister_command): Likewise.
46634 (grub_context_get): New prototype.
46635 (grub_context_get_current_menu): Likewise.
46636 (grub_context_push_menu): Likewise.
46637 (grub_context_pop_menu): Likewise.
46638 [GRUB_UTIL] (grub_default_init): Likewise.
46639 [GRUB_UTIL] (grub_default_fini): Likewise.
46640 [GRUB_UTIL] (grub_timeout_init): Likewise.
46641 [GRUB_UTIL] (grub_timeout_fini): Likewise.
46642
46643 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
46644 commands/timeout.c and normal/context.c.
46645 (pkgdata_MODULES): Added default.mod and timeout.mod.
46646 (normal_mod_SOURCES): Added normal/context.c.
46647 (default_mod_SOURCES): New variable.
46648 (default_mod_CFLAGS): Likewise.
46649 (timeout_mod_SOURCES): Likewise.
46650 (timeout_mod_CFLAGS): Likewise.
46651 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
46652 conf/i386-pc.rmk.
46653 (pkgdata_MODULES): Added default.mod and timeout.mod.
46654 (normal_mod_SOURCES): Added normal/context.c.
46655 (default_mod_SOURCES): New variable.
46656 (default_mod_CFLAGS): Likewise.
46657 (timeout_mod_SOURCES): Likewise.
46658 (timeout_mod_CFLAGS): Likewise.
46659
46660 * Makefile.in (all-local): Added $(MKFILES).
46661
4ed2e1dd 466622005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
46663
46664 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
46665 (grub_emu_SOURCES): Likewise.
46666 (pkgdata_MODULES): Add `sun.mod'.
46667 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
46668 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46669 `partmap/sun.c'.
46670 (pkgdata_MODULES): Add `sun.mod'.
46671 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
46672 * include/grub/partition.h (grub_sun_partition_map_init): New
46673 prototype.
46674 (grub_sun_partition_map_fini): Likewise.
46675 * partmap/sun.c: New file.
46676 * util/grub-emu.c (main): Initialize and de-initialize the sun
46677 partitionmap support.
46678
4d4e372e 466792005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
46680
46681 This implements an Emacs-like menu entry editor.
f19dbdb7 46682
4d4e372e 46683 * normal/menu_entry.c: New file.
f19dbdb7 46684
4d4e372e 46685 * util/console.c (grub_ncurses_putchar): Translate some Unicode
46686 characters to ASCII.
46687 (saved_char): New variable.
46688 (grub_ncurses_checkkey): Rewritten completely.
46689 (grub_ncurses_getkey): Likewise.
46690 (grub_ncurses_init): Call raw instead of cbreak.
46691
46692 * normal/menu.c (print_entry): Do not put a space.
46693 (init_page): Renamed to ...
46694 (grub_menu_init_page): ... this. All callers changed.
46695 (edit_menu_entry): Removed.
46696 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
46697
46698 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
46699
46700 * kern/misc.c (grub_vprintf): Call grub_refresh.
46701
46702 * normal/menu.c (DISP_LEFT): Renamed to ...
46703 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
46704 * normal/menu.c (DISP_UP): Renamed to ...
46705 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
46706 * normal/menu.c (DISP_RIGHT): Renamed to ...
46707 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
46708 * normal/menu.c (DISP_DOWN): Renamed to ...
46709 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
46710 * normal/menu.c (DISP_HLINE): Renamed to ...
46711 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
46712 * normal/menu.c (DISP_VLINE): Renamed to ...
46713 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
46714 * normal/menu.c (DISP_UL): Renamed to ...
46715 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
46716 * normal/menu.c (DISP_UR): Renamed to ...
46717 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
46718 * normal/menu.c (DISP_LL): Renamed to ...
46719 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
46720 * normal/menu.c (DISP_LR): Renamed to ...
46721 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
46722 * normal/menu.c (TERM_WIDTH): Renamed to ...
46723 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
46724 * normal/menu.c (TERM_HEIGHT): Renamed to ...
46725 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
46726 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
46727 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
46728 * normal/menu.c (TERM_MARGIN): Renamed to ...
46729 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
46730 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
46731 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
46732 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
46733 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
46734 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
46735 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
46736 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
46737 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
46738 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
46739 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
46740 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
46741 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
46742 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
46743 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
46744 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
46745 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
46746 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
46747 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
46748 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
46749 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
46750 All callers changed.
46751
46752 * include/grub/normal.h: New prototype.
46753
46754 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
46755 normal/menu_entry.c.
46756 (normal_mod_SOURCES): Likewise.
46757 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46758 (normal_mod_SOURCES): Likewise.
46759
e6b92c8a 467602005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
46761
46762 * include/grub/normal.h (grub_halt_init): New prototype.
46763 (grub_halt_fini): Likewise.
46764 (grub_reboot_init): Likewise.
46765 (grub_reboot_fini): Likewise.
46766
46767 * util/grub-emu.c: Include signal.h.
46768 (main_env): New global variable.
46769 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
46770 catch C-c.
46771 (grub_machine_fini): New function.
46772 (main): Call grub_halt_init and grub_reboot_init before
46773 grub_main, and grub_reboot_fini and grub_halt_fini after it.
46774 Call setjmp with MAIN_ENV to go back afterwards.
46775 Call grub_machine_fini right before return.
46776
46777 * include/grub/util/misc.h: Include setjmp.h.
46778 (main_env): New prototype.
46779
46780 * include/grub/kernel.h (grub_machine_fini): New prototype.
46781 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
46782 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
46783
46784 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
46785 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
46786 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 46787
e6b92c8a 46788 * util/i386/pc/misc.c: New file.
f19dbdb7 46789
e6b92c8a 46790 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
46791 util/i386/pc/misc.c, commands/i386/pc/halt.c and
46792 commands/i386/pc/reboot.c.
46793
c642636f 467942005-02-14 Guillem Jover <guillem@hadrons.org>
46795
46796 * include/grub/dl.h (grub_dl_check_header): New prototype.
46797 (grub_arch_dl_check_header): Change return type to grub_err_t,
46798 remove size parameter and export function. Update all callers.
46799 * kern/dl.c (grub_dl_check_header): New function.
46800 (grub_dl_load_core): Use `grub_dl_check_header' instead of
46801 `grub_arch_dl_check_header'. Check ELF type. Check if sections
46802 are inside the core.
46803 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
46804 independent ELF header checks.
46805 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
46806 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
46807 `grub_dl_check_header' instead of explicit checks. Check for the
46808 ELF type.
46809 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
46810 `grub_dl_check_header' instead of explicit checks. Remove arch
46811 specific ELF header checks.
46812
e6b92c8a 46813 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
46814 argument SIZE.
46815
5eabe94b 468162005-02-13 Hollis Blanchard <hollis@penguinppc.org>
46817
46818 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
46819 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
46820
1b14a681 468212005-02-12 Hollis Blanchard <hollis@penguinppc.org>
46822
46823 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 46824 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 46825 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 46826 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 46827 * partmap/amiga.c (amiga_partition_map_iterate): Return
46828 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
46829 * partmap/apple.c (apple_partition_map_iterate): Likewise.
46830
aca108aa 468312005-02-01 Guillem Jover <guillem@hadrons.org>
46832
46833 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
46834 help info.
46835
c9f9c556 468362005-01-31 Marco Gerards <metgerards@student.han.nl>
46837
46838 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
46839 Removed prototype.
46840 (grub_rescue_cmd_linux): New prototype.
46841 (grub_rescue_cmd_initrd): Likewise.
46842 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
46843 `bi_rec'.
46844 (grub_linux_release_mem): Release the memory for the initrd.
46845 (grub_load_linux): Renamed from this...
46846 (grub_rescue_cmd_linux): ...To this. Changed all callers.
46847 Changed `entry' not to be static. Loop over memory regions to
46848 find another one when the default fails.
46849 (grub_rescue_cmd_initrd): New function.
46850 (grub_linux_init): Remove function.
46851 (grub_linux_fini): Likewise.
46852 (GRUB_MOD_INIT): Register `initrd'.
46853 (GRUB_MOD_FINI): Unregister `initrd'.
46854 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
46855 Function removed.
46856 (grub_linux_normal_fini): Likewise.
46857 (GRUB_MOD_INIT): Register `initrd'.
46858 (GRUB_MOD_FINI): Unregister `initrd'.
46859
990cf3aa 468602005-01-31 Marco Gerards <metgerards@student.han.nl>
46861
46862 * commands/help.c: New file.
46863 * normal/arg.c (show_help): Renamed to...
46864 (grub_arg_show_help): ... this.
46865 * commands/i386/pc/halt.c: New file.
46866 * commands/i386/pc/reboot.c: Likewise.
46867 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
46868 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
46869 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
46870 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
46871 variables.
46872 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46873 `commands/help.c'.
46874 (pkgdata_MODULES): Add `help.mod'.
46875 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
46876 * grub/i386/pc/init.h (grub_reboot): New prototype.
46877 (grub_halt): Likewise.
46878 * include/grub/normal.h (grub_arg_show_help): New prototype.
46879 (grub_help_init): Likewise.
46880 (grub_help_fini): Likewise.
46881 * util/grub-emu.c (main): Initialize and deinitialize the help
46882 command.
46883
46884 * normal/cmdline.c (grub_cmdline_get): Doc fix.
46885
46886 * normal/command.c (grub_command_init): Fixed the description of
46887 the `set' and `unset' commands.
46888
468892005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 46890
46891 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
46892 function.
46893 * commands/ieee1275/halt.c: New file.
46894 * commands/ieee1275/reboot.c: Likewise.
46895 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
46896 `__attribute__ ((unused))'. Some GCS related fixed.
46897 (grub_suspend_init) [GRUB_UTIL]: Function removed.
46898 (grub_suspend_fini): Likewise.
46899 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
46900 and `halt.mod'.
46901 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
46902 (halt_mod_CFLAGS): New variables.
46903 * include/grub/powerpc/ieee1275/ieee1275.h
46904 (grub_ieee1275_interpret): New prototype.
46905
1ab09cc7 469062005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
46907
46908 * include/grub/misc.h (memmove): New prototype.
46909 (memcpy): Likewise.
46910
8b8cbdb2 469112005-01-22 Hollis Blanchard <hollis@penguinppc.org>
46912
46913 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
46914 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
46915
e3741a27 469162005-01-22 Marco Gerards <metgerards@student.han.nl>
46917
46918 * kern/misc.c (grub_strndup): Function rewritten.
46919
776bd780 469202005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
46921
46922 * normal/menu.c (TERM_WIDTH): Macro redefined.
46923 (TERM_TOP_BORDER_Y): Likewise.
46924 (draw_border): Replaced while-loop by a for-loop. Make the number
46925 of lines consistent with the number of lines displayed in
46926 print_entries. Added a margin below the rectangle.
46927 (print_entry): Make the entry fit in the rectangle.
46928 (print_entries): Display the scroll arrows next to the right
46929 border.
46930
78026bce 469312005-01-21 Marco Gerards <metgerards@student.han.nl>
46932
46933 * fs/minix.c (grub_minix_find_file): Reserve more space for
46934 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
46935 `grub_strncpy' to copy `path' into it.
46936
67bbaf0f 469372005-01-21 Marco Gerards <metgerards@student.han.nl>
46938
46939 Add the loopback device, a device via which files can be accessed
46940 as devices.
f19dbdb7 46941
67bbaf0f 46942 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
46943 (pkgdata_MODULES): Add loopback.mod.
46944 (loopback_mod_SOURCES): New variable.
46945 (loopback_mod_CFLAGS): Likewise.
46946 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
46947 `disk/loopback.c'.
46948 (pkgdata_MODULES): Add loopback.mod.
46949 (loopback_mod_SOURCES): New variable.
46950 (loopback_mod_CFLAGS): Likewise.
46951 * disk/loopback.c: new file.
46952 * include/grub/normal.h (grub_loop_init): New prototype.
46953 (grub_loop_fini): New prototype.
46954 * util/grub-emu.c (main): Initialize and de-initialize loopback
46955 support.
46956 * include/grub/disk.h (grub_disk_dev_id): Add
46957 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
46958
6f1c18bd 469592005-01-20 Hollis Blanchard <hollis@penguinppc.org>
46960
46961 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
46962 function.
46963 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
46964 (suspend_mod_SOURCES): New variable.
46965 (suspend_mod_CFLAGS): Likewise.
46966 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
46967 New prototype.
46968 * commands/ieee1275/suspend.c: New file.
46969
b38551da 469702005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
46971
46972 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 46973 ((unused))' to `__attribute__ ((used))'.
b38551da 46974 (GRUB_MOD_FINI): Likewise.
46975 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
46976 * genmk.rb (PModule): Assign space to common symbols when linking
46977 modules.
46978
777aff39 469792005-01-20 Marco Gerards <metgerards@student.han.nl>
46980
46981 * include/grub/mm.h (grub_mm_init_region): Change the type of the
46982 `unsigned' arguments to `grub_size_t'.
46983 (grub_malloc): Likewise.
46984 (grub_realloc): Likewise.
46985 (grub_memalign): Likewise.
46986 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
46987 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
46988 * util/misc.c (grub_malloc): Likewise.
46989 (grub_realloc): Likewise.
46990 * kern/mm.c (get_header_from_pointer): Change the casts to
46991 `unsigned' into a cast to `grub_size_t'.
46992
46993 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
46994 point to `currnode' when `currnode' is changed.
46995
46996 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
46997 Schottelius <nico-linux@schottelius.org>.
46998
d0ff18e1 469992005-01-09 Hollis Blanchard <hollis@penguinppc.org>
47000
47001 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
47002 (note_path): Remove variable.
47003 (GRUB_IEEE1275_NOTE_NAME): New macro.
47004 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
47005 (grub_ieee1275_note_hdr): New structure.
47006 (grub_ieee1275_note_desc): Likewise.
47007 (grub_ieee1275_note): Likewise.
47008 (load_note): Remove `dir' argument. All callers updated. Remove
47009 `note_img' and `path'. Do not load a file from `note_path'.
47010 Initialize a struct grub_ieee1275_note and write that to `out'.
47011 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
47012
4ca7004c 470132005-01-05 Marco Gerards <metgerards@student.han.nl>
47014
47015 * util/misc.c (grub_util_read_image): Revert last change. It
47016 called `grub_util_read_at', which seeks from the beginning of the
47017 file.
47018
0b412211 470192005-01-04 Hollis Blanchard <hollis@penguinppc.org>
47020
47021 * TODO: Add note about endianness in grub-mkimage.
47022 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
47023 section.
47024 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
47025 (grub_mkimage_SOURCES): New target.
47026 * include/grub/kernel.h (grub_start_addr): Remove variable.
47027 (grub_end_addr): Likewise.
47028 (grub_total_module_size): Likewise.
47029 (grub_kernel_image_size): Likewise.
47030 (GRUB_MODULE_MAGIC): New constant.
47031 (grub_module_info): New structure.
47032 (grub_arch_modules_addr): New prototype.
47033 (grub_get_end_addr): Remove prototype.
47034 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
47035 * include/grub/powerpc/ieee1275/kernel.h: New file.
47036 * include/grub/util/misc.h (grub_util_get_fp_size): New
47037 prototype.
47038 (grub_util_read_at): Likewise.
47039 (grub_util_write_image_at): Likewise.
47040 * kern/main.c (grub_get_end_addr): Remove function.
47041 (grub_load_modules): Call grub_arch_modules_addr instead of using
47042 grub_end_addr. Look for a grub_module_info struct in memory. Use
47043 the grub_module_info fields instead of calling grub_get_end_addr
47044 as loop conditions. Move grub_add_unused_region code here.
47045 (grub_add_unused_region): Remove function.
47046 * kern/i386/pc/init.c: Include grub/cache.h.
47047 (grub_machine_init): Remove call to grub_get_end_addr. Remove
47048 one call to add_mem_region.
47049 (grub_arch_modules_addr): New function.
47050 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
47051 (grub_total_module_size): Likewise.
47052 Include grub/machine/kernel.h.
47053 (grub_arch_modules_addr): New function.
47054 * util/grub-emu.c (grub_end_addr): Remove variable.
47055 (grub_total_module_size): Likewise.
47056 (grub_arch_modules_addr): New function.
47057 * util/misc.c: Include unistd.h.
47058 (grub_util_get_fp_size): New function.
47059 (grub_util_read_at): Likewise.
47060 (grub_util_write_image_at): Likewise.
47061 (grub_util_read_image): Call grub_util_read_at.
47062 (grub_util_write_image): Call grub_util_write_image_at.
47063 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
47064 additional memory in kernel_img for a struct grub_module_info.
47065 Fill in that grub_module_info.
47066 * util/powerpc/ieee1275/grub-mkimage.c: New file.
47067
458786f8 470682005-01-03 Hollis Blanchard <hollis@penguinppc.org>
47069
47070 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
47071 New function.
47072 * include/grub/powerpc/ieee1275/ieee1275.h
47073 (grub_ieee1275_milliseconds): New prototype.
47074 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
47075 Change to 1000.
47076 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
47077 grub_ieee1275_milliseconds.
47078
ac507d1b 470792005-01-03 Hollis Blanchard <hollis@penguinppc.org>
47080
47081 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
47082 variable.
47083 (find_options): New function.
47084 (cmain): Call find_options.
47085 * include/grub/powerpc/ieee1275/ieee1275.h
47086 (grub_ieee1275_realmode): New extern variable.
47087 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
47088 grub_map if grub_ieee1275_realmode is false.
47089
6b8fd1c4 470902004-12-29 Marco Gerards <metgerards@student.han.nl>
47091
47092 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
47093 lines are inserted and make it work like readline. Reported by
47094 Vincent Pelletier <subdino2004@yahoo.fr>.
47095
8514a1e0 470962004-12-28 Marco Gerards <metgerards@student.han.nl>
47097
47098 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
47099
47100 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
47101 `kern/powerpc/cache.S'.
47102
924b6140 471032004-12-27 Marco Gerards <metgerards@student.han.nl>
47104
47105 * genmk.rb: Handle the `Program' class in the main loop. Written
47106 by Johan Rydberg <jrydberg@gnu.org>.
47107 (Program): New class.
47108 (programs): New variable.
47109 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
47110 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
47111 instead of "grub/kernel.h". Include <grub/machine/init.h>.
47112 (help_arch): Function removed.
47113 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
47114 `powerpc/libgcc.h' and `loader.h'.
47115 (pkgdata_PROGRAMS): New variable.
47116 (sbin_UTILITIES): Variable removed.
47117 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
47118 (grubof_SOURCES): Variable re-defined so it only includes the
47119 core functionality.
47120 (grubof_CFLAGS): Remove `-DGRUBOF'.
47121 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
47122 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
47123 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
47124 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
47125 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
47126 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
47127 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
47128 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
47129 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
47130 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
47131 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
47132 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
47133 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
47134 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
47135 (pc_mod_CFLAGS): New variables.
47136 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
47137 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
47138 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
47139 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
47140 Moved from here...
47141 * include/grub/i386/pc/init.h (grub_os_area_addr)
47142 (rub_os_area_size): ... to here.
47143 * include/grub/powerpc/ieee1275/ieee1275.h
47144 (grub_ieee1275_entry_fn): Export symbol.
47145 * include/grub/powerpc/ieee1275/init.h: New file.
47146 * include/grub/powerpc/libgcc.h: Likewise.
47147 * include/grub/cache.h: Likewise.
47148 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
47149 <hollis@penguinppc.org>.
47150 * kern/dl.c: Include <grub/cache.h>.
47151 (grub_dl_flush_cache): New function.
47152 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
47153 for this module.
47154 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
47155 (grub_console_init): Removed prototypes.
47156 (grub_machine_init): Don't initialize the modules anymore.
47157 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
47158 static.
47159 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
47160 Macro undef removed.
47161 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
47162 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
47163 relocation `R_PPC_REL32'. Return an error when the relocation is
47164 unknown.
47165 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
47166 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
47167 * util/misc.c (grub_arch_sync_caches): Likewise.
47168
e4b47e0c 471692004-12-19 Marco Gerards <metgerards@student.han.nl>
47170
47171 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
47172 `symlist.c', add `grubof_symlist.c'.
47173 (symlist.c): Variable removed.
47174 (grubof_HEADERS): Variable added.
47175 (grubof_symlist.c): New target.
47176 (kernel_syms.lst): Use `grubof_HEADERS' instead of
47177 `kernel_img_HEADERS'.
47178 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
47179 * kern/powerpc/dl.c: New file.
47180 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
47181 Function removed.
47182 (grub_arch_dl_relocate_symbols): Likewise.
47183 (grub_register_exported_symbols): Likewise.
47184
4ceb3636 471852004-12-13 Marco Gerards <metgerards@student.han.nl>
47186
47187 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
47188 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
47189 to fail instead. Reported by Vincent Pelletier
47190 <subdino2004@yahoo.fr>.
47191
47192 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
47193 it is not allocated. Reported by Vincent Pelletier
47194 <subdino2004@yahoo.fr>.
47195
47196 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
47197 output so the output looks better.
f19dbdb7 47198
3f1578fe 471992004-12-04 Marco Gerards <metgerards@student.han.nl>
47200
47201 Modulize the partition map support and add support for the amiga
47202 partition map.
f19dbdb7 47203
3f1578fe 47204 * commands/ls.c: Include <grub/partition.h> instead of
47205 <grub/machine/partition.h>.
47206 * kern/disk.c: Likewise.
47207 * kern/rescue.c: Likewise.
47208 * loader/i386/pc/chainloader.c: Likewise.
47209 * normal/cmdline.c: Likewise.
47210 * kern/powerpc/ieee1275/init.c: Likewise.
47211 (grub_machine_init): Call `grub_pc_partition_map_init',
47212 `grub_amiga_partition_map_init' and
47213 `grub_apple_partition_map_init'.
47214 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
47215 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
47216 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
47217 `partition.h' and `pc_partition.h'.
47218 (grub_setup_SOURCES): Remove
47219 `disk/i386/pc/partition.c'. Add `kern/partition.c',
47220 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
47221 (grub_emu_SOURCES): Likewise.
47222 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
47223 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
47224 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
47225 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
47226 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
47227 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
47228 (grubof_SOURCES): Likewise.
47229 * disk/i386/pc/partition.c: File removed.
47230 * disk/powerpc/ieee1275/partition.c: Likewise.
47231 * include/grub/powerpc/ieee1275/partition.h: Likewise.
47232 * include/grub/i386/pc/partition.h: Likewise.
47233 * kern/partition.c: New file.
47234 * partmap/amiga.c: Likewise.
47235 * partmap/apple.c: Likewise.
47236 * partmap/pc.c: Likewise.
47237 * include/grub/partition.h: Likewise..
47238 * include/grub/pc_partition.h: Likewise.
47239 * util/grub-emu.c: Include <grub/partition.h> instead of
47240 <grub/machine/partition.h>.
47241 (main): Call `grub_pc_partition_map_init',
47242 `grub_amiga_partition_map_init' and
47243 `grub_apple_partition_map_init' and deinitialize afterwards.
47244 * util/i386/pc/biosdisk.c: Include `#include
47245 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
47246 `<grub/machine/partition.h>'.
47247 * util/i386/pc/grub-setup.c: Likewise.
47248 * util/i386/pc/biosdisk.c: Likewise.
47249 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
47250 partition information in case of a PC partition.
47251 * util/i386/pc/grub-setup.c: Include `#include
47252 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
47253 `<grub/machine/partition.h>'.
47254 (setup): Only access the PC specific partition information in case
47255 of a PC partition.
47256
0ef4ced9 472572004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 47258
0ef4ced9 47259 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
47260 (grub_longjmp): Likewise.
47261 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
47262 20.
47263 * normal/powerpc/setjmp.S: New file.
47264 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
47265 `normal/powerpc/setjmp.S'.
47266 (grubof_CFLAGS): Add `-DGRUBOF'.
47267 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
47268 [GRUB_UTIL && !GRUBOF].
f19dbdb7 47269
19950e29 472702004-11-16 Marco Gerards <metgerards@student.han.nl>
47271
47272 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
47273 property named `name'. Correctly handle the error returned by
47274 `grub_ieee1275_finddevice' if a device can not be opened.
47275
a2fea427 472762004-11-02 Hollis Blanchard <hollis@penguinppc.org>
47277
47278 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
47279 `actual' for negativity.
47280 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
47281 kern/fshelp.c.
47282
41ea0ea3 472832004-11-01 Marco Gerards <metgerards@student.han.nl>
47284
47285 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
47286 (PAGE_OFFSET): New macro.
47287 (CRTC_ADDR_PORT): Likewise.
47288 (CRTC_DATA_PORT): Likewise.
47289 (START_ADDR_HIGH_REGISTER): Likewise.
47290 (START_ADDR_LOW_REGISTER): Likewise.
47291 (GRAPHICS_ADDR_PORT): Likewise.
47292 (GRAPHICS_DATA_PORT): Likewise.
47293 (READ_MAP_REGISTER): Likewise.
47294 (INPUT_STATUS1_REGISTER): Likewise.
47295 (INPUT_STATUS1_VERTR_BIT): Likewise.
47296 (page): New variable.
47297 (wait_vretrace): New function.
47298 (set_read_map): Likewise.
47299 (set_start_address): Likewise.
47300 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
47301 the right page.
47302 (check_vga_mem): Take the page into account.
47303 (write_char): Likewise.
47304 (write_cursor): Likewise.
47305 (scroll_up): Likewise. Copy the page to the page that is not
47306 shown and switch between both pages.
47307 (grub_vga_putchar): Fix off by one error.
47308 (grub_vga_cls): Wait for the vertical retrace. Take the page into
47309 account.
47310
ad0bd20b 473112004-11-01 Marco Gerards <metgerards@student.han.nl>
47312
47313 Add support for iso9660 (including rockridge).
f19dbdb7 47314
ad0bd20b 47315 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
47316 (iso9660_mod_SOURCES): New variable.
47317 (iso9660_mod_CFLAGS): Likewise.
47318 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
47319 * include/grub/fs.h (grub_iso9660_init): New prototype.
47320 * util/grub-emu.c (main): Call `grub_iso9660_init'.
47321 * fs/iso9660.c: New file.
47322
47323 * include/grub/misc.h (grub_strncat): New prototype.
47324 * kern/misc.c (grub_strncat): New function.
f19dbdb7 47325
ad0bd20b 47326 * fs/hfs.c (grub_hfs_mount): Translate the error
47327 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
47328 * fs/jfs.c (grub_jfs_mount): Likewise.
47329 * fs/ufs.c (grub_ufs_mount): Likewise.
47330
a5477a59 473312004-10-28 Hollis Blanchard <hollis@penguinppc.org>
47332
47333 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
47334 which initialized BAT registers.
47335 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
47336 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
47337 Move from here...
47338 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
47339 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
47340 ... to here.
47341 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
47342 (grub_mapclaim): Likewise.
47343 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
47344 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
47345 hand.
47346
9304c1f8 473472004-10-19 Hollis Blanchard <hollis@penguinppc.org>
47348
47349 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
47350 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
47351 -ffreestanding and -msoft-float.
47352
86f4ae25 473532004-10-15 Hollis Blanchard <hollis@penguinppc.org>
47354
47355 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
47356 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
47357 set in grub_ieee1275_flags.
47358
38912228 473592004-10-14 Hollis Blanchard <hollis@penguinppc.org>
47360
47361 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
47362 prototype.
47363 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
47364 grub_console_init first.
47365 Change the memory range used for grub_ieee1275_claim and
47366 grub_mm_init_region.
47367 Print an error message if the claim fails.
47368 Include <grub/misc.h>.
47369
d1923dc8 473702004-10-13 Hollis Blanchard <hollis@penguinppc.org>
47371
47372 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
47373 Call grub_children_iterate for device nodes of type `scsi',
47374 `ide', or `ata'.
47375 (grub_ofdisk_open): Remove manual device alias resolution.
47376 Fix memory leak when device cannot be opened.
f19dbdb7 47377 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 47378 (grub_children_iterate): New prototype.
47379 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
47380 New function.
47381 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
47382 Return -1 if args.size was -1.
47383
4512e4f3 473842004-10-11 Hollis Blanchard <hollis@penguinppc.org>
47385
47386 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
47387 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
47388 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
47389 Open Firmware's memory for it; claim memory from _start to _end.
47390 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
47391 (_end): New extern.
47392 (_start): Zero BSS from __bss_start to _end.
47393 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
47394 New extern.
47395 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
47396
4d61feb0 473972004-10-11 Hollis Blanchard <hollis@penguinppc.org>
47398
ad0bd20b 47399 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
47400 -1 if args.base was -1.
4d61feb0 47401
026fa2f9 474022004-10-08 Hollis Blanchard <hollis@penguinppc.org>
47403
47404 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
47405 escape sequence instead of a literal ^L. Also call
47406 grub_ofconsole_gotoxy.
47407
9f2220ef 474082004-10-03 Hollis Blanchard <hollis@penguinppc.org>
47409
47410 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
47411 void * arguments to grub_addr_t. All callers updated. Also make
47412 the `result' argument optional.
47413 (grub_ieee1275_release): change void * arguments to grub_addr_t.
47414 All callers updated.
47415
8a572cd7 474162004-09-22 Hollis Blanchard <hollis@penguinppc.org>
47417
47418 * commands/ls.c (grub_ls_list_files): Use the string following the
47419 initial ')', if present, as the filesystem path.
47420 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
47421
47422 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
47423
18aa81f2 474242004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
47425
47426 Make the source code of the menu interface more readable.
f19dbdb7 47427
18aa81f2 47428 * normal/menu.c: Include grub/mm.h.
47429 (TERM_WIDTH): New macro.
47430 (TERM_HEIGHT): Likewise.
47431 (TERM_INFO_HEIGHT): Likewise.
47432 (TERM_MARGIN): Likewise.
47433 (TERM_SCROLL_WIDTH): Likewise.
47434 (TERM_TOP_BORDER_Y): Likewise.
47435 (TERM_LEFT_BORDER_X): Likewise.
47436 (TERM_BORDER_WIDTH): Likewise.
47437 (TERM_MESSAGE_HEIGHT): Likewise.
47438 (TERM_BORDER_HEIGHT): Likewise.
47439 (TERM_NUM_ENTRIES): Likewise.
47440 (TERM_FIRST_ENTRY_Y): Likewise.
47441 (TERM_ENTRY_WIDTH): Likewise.
47442 (TERM_CURSOR_X): Likewise.
47443 (draw_border): Use macros instead of magic numbers.
47444 (print_entry): Likewise.
47445 (print_entries): Likewise.
47446 (run_menu): Likewise. Also, handle the key 'e'.
47447 (run_menu_entry): Ignore empty command lines.
47448 (print_message): Added a new argument EDIT. If EDIT is true,
47449 print a different message.
47450 (init_page): Likewise.
47451 (edit_menu_entry): New function. Not implemented yet.
47452
b47efe30 474532004-09-17 Marco Gerards <metgerards@student.han.nl>
47454
47455 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
47456 can be loaded from normal mode.
f19dbdb7 47457
b47efe30 47458 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
47459 `multiboot.mod'.
47460 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
47461 (multiboot_mod_CFLAGS): New variables.
47462 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 47463 * loader/i386/pc/multiboot_normal.c: Likewise.
47464
b47efe30 47465 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
47466 attribute `unused'.
f19dbdb7 47467
b47efe30 47468 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
47469 `fdiro' to read the mode information from instead of `diro'.
47470
47471 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
47472 looking up a symlink.
47473
47474 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
47475 macro.
47476 * normal/command.c (grub_command_execute): Don't parse the
47477 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
47478 flags of the command.
47479
47480 * normal/menu.c (grub_menu_run): Fix typo.
47481
da75ac71 474822004-09-14 Hollis Blanchard <hollis@penguinppc.org>
47483
47484 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
47485
47486 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
47487 `y + 1' instead of `y - 1'.
47488
47489 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 47490
062b24c2 474912004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
47492
47493 From Hollis Blanchard <hollis@penguinppc.org>:
47494 * kern/misc.c (memmove): New alias for grub_memmove.
47495 (memcmp): New alias for grub_memcmp.
47496 (memset): New alias for grub_memset.
f19dbdb7 47497 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 47498 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 47499 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 47500 (grub_ieee1275_get_property): Likewise.
f19dbdb7 47501
8ddad845 475022004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
47503
47504 Added normal mode command `chainloader' as module chain.mod, which
47505 depends on normal.mod and _chain.mod.
f19dbdb7 47506
8ddad845 47507 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
47508 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
47509 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
47510 Deleted prototype.
47511 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
47512 but arguments parsing moved to ...
47513 (grub_chainloader_cmd): ... here. New function.
47514 * include/grub/i386/pc/chainloader.h: New file.
47515 * loader/i386/pc/chainloader_normal.c: Likewise.
47516
2c1f4ce3 475172004-09-11 Marco Gerards <metgerards@student.han.nl>
47518
47519 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
47520 (grub_mkimage_LDFLAGS): Likewise.
47521 (grub_emu_SOURCES): Likewise.
47522 (kernel_img_HEADERS): Added fshelp.h.
47523 * fs/ext2.c: Include <grub/fshelp.h>.
47524 (FILETYPE_REG): New macro.
47525 (FILETYPE_INO_REG): Likewise.
47526 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
47527 Changed all users.
47528 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
47529 all users.
47530 (grub_fshelp_node): New struct.
47531 (grub_ext2_data): Added member `diropen'. Changed member `inode'
47532 to a pointer.
47533 (grub_ext2_get_file_block): Removed function.
47534 (grub_ext2_read_block): New function.
47535 (grub_ext2_read_file): Replaced parameter `data' by `node'.
47536 This function was written.
47537 (grub_ext2_mount): Read the root inode. Create a diropen struct.
47538 (grub_ext2_find_file): Removed function.
47539 (grub_ext2_read_symlink): New function.
47540 (grub_ext2_iterate_dir): Likewise.
47541 (grub_ext2_open): Rewritten.
47542 (grub_ext2_dir): Rewritten.
47543 * include/grub/fshelp.h: New file.
47544 * fs/fshelp.c: Likewise.
47545
3c52136a 475462004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
47547
47548 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
47549 (print_message): Add a missing newline.
47550 (run_menu): Added timeout support.
47551 (run_menu_entry): New local function.
47552 (grub_menu_run): Added support for booting.
47553
47554 * kern/loader.c (grub_loader_is_loaded): New function.
47555
47556 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
47557 (grub_get_rtc): Exported.
47558
47559 * include/grub/i386/pc/time.h: Include grub/symbol.h.
47560 (grub_get_rtc): Exported.
47561
47562 * include/grub/normal.h (struct grub_command_list): Remove
47563 constant from the member `command'.
47564
47565 * include/grub/loader.h (grub_loader_is_loaded): Declared.
47566
47567 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
47568
47569 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
47570
aa033560 475712004-08-28 Marco Gerards <metgerards@student.han.nl>
47572
47573 Add support for the JFS filesystem.
47574
47575 * fs/jfs.c: New file.
47576 * include/grub/fs.h (grub_jfs_init): New prototype.
47577 (grub_jfs_fini): New prototype.
47578 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
47579 (grub_emu_SOURCES): Likewise.
47580 (pkgdata_MODULES): Add jfs.mod.
47581 (jfs_mod_SOURCES): New variable.
47582 (jfs_mod_CFLAGS): Likewise.
47583 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
47584 (grubof_SOURCES): Likewise.
47585 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
47586
47587 * fs/fat.c (grub_fat_find_dir): Convert the filename little
47588 endian to the host endian.
47589 (grub_fat_utf16_to_utf8): Move function from there...
47590 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 47591 the endianness of the source string anymore.
aa033560 47592 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
47593
94bc45af 475942004-08-24 Marco Gerards <metgerards@student.han.nl>
47595
47596 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
47597 (grub_boot_fini) [GRUB_UTIL]: Likewise.
47598 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
47599 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 47600
94bc45af 47601 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
47602 (grub_hfs_iterate_dir): Make the function static. Add prototypes
47603 for `node_found' and `it_dir'.
47604 (grub_hfs_dir): Add prototype for `dir_hook'.
47605
47606 * fs/minix.c (grub_minix_get_file_block): Add prototype for
47607 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
47608 and `indir32' to silence a gcc warning.
47609
47610 * include/grub/fs.h (grub_hfs_init): New prototype.
47611 (grub_hfs_fini): Likewise.
f19dbdb7 47612
47613
97543f08 476142004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
47615
47616 Each disk device has its own id now. This is useful to make use
47617 of multiple disk devices.
f19dbdb7 47618
97543f08 47619 * include/grub/disk.h (grub_disk_dev_id): New enum.
47620 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
47621 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
47622
47623 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
47624 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
47625
47626 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
47627 GRUB_DISK_DEVICE_OFDISK_ID as an id.
47628
47629 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
47630 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
47631
47632 * include/grub/disk.h (struct grub_disk_dev): Added a new member
47633 "id" which is used by the cache manager.
47634
47635 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
47636 of just "GRUB".
47637
64372eb4 476382004-08-18 Marco Gerards <metgerards@student.han.nl>
47639
47640 * fs/hfs.c: New file.
47641 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
47642 (grub_emu_SOURCES): Likewise.
47643 (pkgdata_MODULES): Add hfs.mod.
47644 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
47645 (grubof_SOURCES): Likewise.
47646 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
47647
47648 * include/grub/misc.h (grub_strncasecmp): Add prototype.
47649 * kern/misc.c (grub_strncasecmp): Add function.
47650
cc61b58f 476512004-08-14 Marco Gerards <metgerards@student.han.nl>
47652
47653 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
47654 with parentheses.
47655
47656 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
47657 (grub_ext2_dir): In case the directory entry type is unknown, read
47658 it from the inode.
47659
0ef123f6 476602004-08-02 Peter Bruin <pjbruin@dds.nl>
47661
47662 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
47663 grub_load_linux instead of grub_rescue_cmd_linux as second
47664 argument of grub_rescue_register_command.
47665
47666 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
47667
a447c5df 476682004-07-27 Marco Gerards <metgerards@student.han.nl>
47669
47670 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
47671 function.
47672 * commands/boot.c: Remove the check for `GRUB_UTIL'.
47673 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
47674 `loader/powerpc/ieee1275/linux.c',
47675 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
47676 * include/grub/powerpc/ieee1275/ieee1275.h
47677 (grub_ieee1275_release): New prototype.
47678 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
47679 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
47680 normal, boot, linux and linux_normal.
47681 * loader/powerpc/ieee1275/linux.c: New file.
47682 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
47683
5a9e3546 476842004-07-12 Marco Gerards <metgerards@student.han.nl>
47685
47686 * normal/arg.c (grub_arg_parse): Correct error handling after
47687 reallocating the argumentlist (check if `argl' is not null instead
47688 of checking if `args' is not null).
47689 * kern/mm.c (grub_realloc): Return the same pointer when using the
47690 same region, instead of returning the header address.
47691
e15199cb 476922004-07-11 Marco Gerards <metgerards@student.han.nl>
47693
47694 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
47695 one block instead of two when looking for the initial partition.
47696 (grub_partition_probe): Initialize the local variable `p' with 0.
47697 Use base 10 for the grub_strtoul call.
47698 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
47699 need for one local variable.
47700 (grub_strtoul): Don't add the new value to `num', instead of that
47701 just assign it.
47702
020616c2 477032004-07-11 Marco Gerards <metgerards@student.han.nl>
47704
47705 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
47706 (pxeboot_img_SOURCES): New variable.
47707 (pxeboot_img_ASFLAGS): Likewise.
47708 (pxeboot_img_LDFLAGS): Likewise.
47709 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
47710 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
47711 <lode_leroy@hotmail.com>.
47712
6c51eb64 477132004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
47714
47715 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
47716 there was no input.
47717
cfb12aff 477182004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
47719
47720 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
47721 the history buffer logic.
47722
6eabba74 477232004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
47724
47725 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
47726 (FILETYPE_INO_SYMLINK): New macros.
47727 (grub_ext2_find_file): Check if the node is a directory using the
47728 inode stat information instead of using the filetype in the
47729 dirent. Exclude the first character of an absolute symlink.
47730 (grub_ext2_dir): Mask out the filetype part of the mode member of
47731 the inode.
47732
66e19ef8 477332004-05-24 Marco Gerards <metgerards@student.han.nl>
47734
47735 Add support for UFS version 1 and 2. Add support for the minix
47736 filesystem version 1 and 2, both the variants with 14 and 30 long
47737 filenames.
f19dbdb7 47738
66e19ef8 47739 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
47740 fs/minix.c.
47741 (grub_emu_SOURCES): Likewise.
47742 (pkgdata_MODULES): Add ufs.mod and minix.mod.
47743 (ufs_mod_SOURCES): New variable.
47744 (ufs_mod_CFLAGS): Likewise.
47745 (minix_mod_SOURCES): Likewise.
47746 (minix_mod_CFLAGS): Likewise.
47747 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
47748 fs/minix.c.
47749 (grubof_SOURCES): Likewise.
47750 * fs/ufs.c: New file.
47751 * fs/minix.c: New file.
47752 * include/grub/fs.h (grub_ufs_init): New prototype.
47753 (grub_ufs_fini): Likewise.
47754 (grub_minix_init): Likewise.
47755 (grub_minix_fini): Likewise.
47756 * util/grub-emu.c (main): Initialize and deinitialize UFS and
47757 minix fs.
47758
cc2e748a 477592004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
47760
47761 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
47762 commands/ls.c, commands/terminal.c, commands/boot.c,
47763 commands/cmp.c and commands/cat.c.
47764 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
47765
47766 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
47767 "env.h"
47768
4b13b216 477692004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
47770
47771 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
47772 and grub_, respectively. Because the conversion is trivial and
47773 mechanical, I omit the details here. Please refer to the CVS
47774 if you need more information.
47775
6a142551 477762004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
47777
47778 * include/pupa: Renamed to ...
47779 * include/grub: ... this.
47780 * util/i386/pc/pupa-mkimage.c: Renamed to ...
47781 * util/i386/pc/grub-mkimage.c: ... this.
47782 * util/i386/pc/pupa-setup.c: Renamed to ...
47783 * util/i386/pc/grub-setup.c: ... this.
47784 * util/pupa-emu.c: Renamed to ...
47785 * util/grub-emu.c: ... this.
47786
e56cdf21 477872004-03-29 Marco Gerards <metgerards@student.han.nl>
47788
47789 Add support for the newworld apple macintosh (PPC). This has been
47790 tested on the powerbook 2000 only. It only adds support for
47791 generic ieee1275 functions, console and disk support. This should
47792 be easy to port to other architectures with support for Open
47793 Firmware.
f19dbdb7 47794
e56cdf21 47795 * configure.ac: Accept the powerpc as host_cpu. In the case of
47796 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
47797 specific tests are only executed while building for the i386.
47798 Inverse test for crosscompile.
47799 * genmk.rb (Utility): Allow assembler files.
47800 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
47801 * conf/powerpc-ieee1275.rmk: New file.
47802 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
47803 * disk/powerpc/ieee1275/partition.c: Likewise.
47804 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
47805 * include/pupa/powerpc/ieee1275/console.h: Likewise.
47806 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
47807 * include/pupa/powerpc/ieee1275/time.h: Likewise.
47808 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
47809 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
47810 * include/pupa/powerpc/ieee1275/loader.h
47811 * include/pupa/powerpc/setjmp.h: Likewise.
47812 * include/pupa/powerpc/types.h: Likewise.
47813 * kern/powerpc/ieee1275/init.c: Likewise.
47814 * kern/powerpc/ieee1275/openfw.c: Likewise.
47815 * term/powerpc/ieee1275/ofconsole.c: Likewise.
47816
47817 These files were written by Johan Rydberg
47818 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 47819
e56cdf21 47820 * boot/powerpc/ieee1275/cmain.c: New file.
47821 * boot/powerpc/ieee1275/crt0.S: Likewise.
47822 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
47823 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
47824
8c8cc205 478252004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
47826
47827 * Makefile.in: Update copyright.
47828 * genmodsrc.sh: Likewise.
47829 * gensymlist.sh: Likewise.
47830 * term/i386/pc/vga.c: Indent correctly.
47831
47832 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
47833 bugreporting address.
47834 * util/i386/pc/pupa-setup.c (usage): Likewise,
47835 (main): Call pupa_ext2_init and pupa_ext2_fini.
47836
f19dbdb7 47837 * fs/fat.c (log2): Renamed to ...
8c8cc205 47838 (fat_log2): ... this.
47839 All callers changed.
47840 * kern/misc.c (memcpy): Alias to pupa_memmove.
47841 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
47842 lvalue cast.
47843 * util/console.c (pupa_ncurses_fini): Return 0.
47844
47845 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
47846 Move fail label here.
47847 [__GNU__]: Don't warn when using stat.
47848 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
47849 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
47850 long int. Use strtol instead of strtoul.
f19dbdb7 47851
db1771cf 478522004-03-14 Marco Gerards <metgerards@student.han.nl>
47853
47854 * commands/boot.c: New file.
47855 * commands/cat.c: Likewise.
47856 * commands/cmp.c: Likewise.
47857 * commands/ls.c: Likewise.
47858 * commands/terminal.c: Likewise.
47859 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
47860 (pupa_register_command): Changed interface to match the new
47861 argument parser.
47862 (pupa_command_execute): Changed (almost rewritten) so it uses
47863 pupa_split_command. Added support for setting variables using the
47864 syntax `foo=bar'.
47865 (rescue_command): Changed to work with the new argument parser.
47866 (terminal_command): Moved from here to commands/terminal.c.
47867 (set_command): New function.
47868 (unset_command): New function.
47869 (insmod_command): New function.
47870 (rmmod_command): New function.
47871 (lsmod_command): New function.
47872 (pupa_command_init): Don't initialize the command terminal
47873 anymore. Initialize the commands set, unset, insmod, rmmod and
47874 lsmod.
47875 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
47876 (kernel_img_HEADERS): Add arg.h and env.h.
47877 (pupa_mkimage_LDFLAGS): Add kern/env.c.
47878 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
47879 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
47880 normal/arg.c.
47881 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
47882 terminal.mod.
47883 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
47884 (boot_mod_SOURCES): New variable.
47885 (terminal_mod_SOURCES): Likewise.
47886 (ls_mod_SOURCES): Likewise.
47887 (cmp_mod_SOURCES): Likewise.
47888 (cat_mod_SOURCES): Likewise.
47889
47890 * normal/arg.c: New file.
47891 * kern/env.c: Likewise.
47892 * include/pupa/arg.h: Likewise.
47893 * include/pupa/env.h: Likewise.
47894 * font/manager.c (font_command): Changed to match argument parsing
47895 interface changes.
47896 (PUPA_MOD_INIT): Likewise.
47897 * hello/hello.c (pupa_cmd_hello): Likewise.
47898 (PUPA_MOD_INIT): Likewise.
47899 * include/pupa/disk.h: Include <pupa/device.h>.
47900 (pupa_print_partinfo): New prototype.
47901 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
47902 (pupa_dl_get_prefix): Likewise.
47903 * include/pupa/misc.h: Include <pupa/err.h>.
47904 (pupa_isgraph): New prototype.
47905 (pupa_isdigit): Likewise.
47906 (pupa_split_cmdline): Likewise.
47907 * include/pupa/normal.h: Include <pupa/arg.h>.
47908 (pupa_command): Changed the prototype of the member `func' to
47909 match the argument parsing interface. Added member `options'.
47910 (pupa_register_command): Updated to match function.
47911 (pupa_arg_parse): New prototype.
47912 (pupa_hello_init) [PUPA_UTIL]: New prototype.
47913 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
47914 (pupa_ls_init) [PUPA_UTIL]: Likewise.
47915 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
47916 (pupa_cat_init) [PUPA_UTIL]: Likewise.
47917 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
47918 (pupa_boot_init) [PUPA_UTIL]: Likewise.
47919 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
47920 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
47921 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
47922 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
47923 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
47924 * kern/disk.c: Include <pupa/file.h>.
47925 (pupa_print_partinfo): New function.
47926 * kern/dl.c: Include <pupa/env.h>.
47927 (pupa_dl_dir): Variable removed.
47928 (pupa_dl_load): Use the environment variable `prefix' instead of
47929 the variable pupa_dl_dir.
47930 (pupa_dl_set_prefix): Function removed.
47931 (pupa_dl_get_prefix): Likewise.
47932 * kern/i386/pc/init.c: Include <pupa/env.h>.
47933 (pupa_machine_init): Use the environment variable `prefix' instead of
47934 using pupa_dl_set_prefix to set the prefix.
47935 * kern/main.c: Include <pupa/env.h>.
47936 (pupa_set_root_dev): Use the environment variable `prefix' instead of
47937 using pupa_dl_get_prefix to get the prefix.
47938 * kern/misc.c: Include <pupa/env.h>.
47939 (pupa_isdigit): New function.
47940 (pupa_isgraph): Likewise.
47941 (pupa_ftoa): Likewise.
47942 (pupa_vsprintf): Added support for printing values of the type
47943 `double'. Make it possible to format variable output when using
47944 formatting like `%1.2%f'.
47945 (pupa_split_cmdline): New function.
47946 * kern/rescue.c: Include <pupa/env.h>.
47947 (next_word): Removed function.
47948 (pupa_rescue_cmd_prefix): Likewise.
47949 (pupa_rescue_cmd_set): New function.
47950 (pupa_rescue_cmd_unset): New function.
47951 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
47952 split the command line instead of splitting it here. Added
47953 support for setting variables using the syntax `foo=bar'. Don't
47954 initialize the prefix command anymore. Initialized the set and
47955 unset commands.
47956 * normal/cmdline.c: Include <pupa/env.h>.
47957 (pupa_tab_complete): Added prototypes for print_simple_completion,
47958 print_partition_completion, add_completion, iterate_commands,
47959 iterate_dev, iterate_part and iterate_dir. Moved code to print
47960 partition information from here to kern/disk.c.
fe6b695a 47961 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 47962 * normal/main.c: Include <pupa/env.h>.
47963 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
47964 instead of using pupa_dl_get_prefix to get the prefix.
47965 * term/i386/pc/vga.c: Include <pupa/arg.h>.
47966 (check_vga_mem): Cast pointers to `void *' to silence a gcc
47967 warning.
47968 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
47969 (pupa_vga_setcolor): Declare unused variables with `__attribute__
47970 ((unused))' to silence a gcc warning.
47971 (pupa_vga_setcolor): Likewise.
47972 (debug_command): Changed to match argument parsing
47973 interface changes.
47974 * util/pupa-emu.c: Include <pupa/env.h>.
47975 (options): Added 0's for unused fields to silence a gcc warning.
47976 (argp): Likewise.
47977 (main): Use the environment variable `prefix' instead of using
47978 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
47979 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
47980 and terminal.
47981
47982 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
47983 * util/misc.c: Include <malloc.h>.
47984 (pupa_malloc): Rewritten so errors are correctly reported.
47985 (pupa_realloc): Likewise.
47986 (pupa_memalign): Likewise.
47987 (pupa_mm_init_region): Declare unused variables with
47988 `__attribute__ ((unused))' to silence a gcc warning.
47989 * normal/i386/setjmp.S: Remove tab at the end of the file to
47990 silence a gcc warning.
47991 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
47992 variables with `__attribute__ ((unused))' to silence a gcc
47993 warning.
47994 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
47995 local variable i unsigned to silence a gcc warning.
47996
47997 * kern/term.c: Include <pupa/misc.h>.
47998 (pupa_more_lines): New variable.
47999 (pupa_more): Likewise.
48000 (pupa_putcode): When the pager is active pause at the end of every
48001 screen.
48002 (pupa_set_more): New function.
48003 * include/pupa/term.h (pupa_set_more): New prototype.
48004
48005
3b1139cb 480062004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
48007
48008 Now this project is GRUB 2 rather than PUPA. The location of
48009 the CVS repository was moved to GRUB's.
f19dbdb7 48010
3b1139cb 48011 * configure.ac: Use bug-grub as the reporting address.
48012 Use GRUB instead of PUPA.
48013 Change the version number to 1.90.
48014
8367695c 480152004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
48016
48017 * genkernsyms.sh: Updated copyright information.
48018 * genmk.rb: Likewise.
48019 * genmodsrc.sh: Likewise.
48020 * gensymlist.sh: Likewise.
48021 * boot/i386/pc/boot.S: Likewise.
48022 * boot/i386/pc/diskboot.S: Likewise.
48023 * disk/i386/pc/biosdisk.c: Likewise.
48024 * disk/i386/pc/partition.c: Likewise.
48025 * font/manager.c: Likewise.
48026 * fs/ext2.c: Likewise.
48027 * fs/fat.c: Likewise.
48028 * include/pupa/boot.h: Likewise.
48029 * include/pupa/device.h: Likewise.
48030 * include/pupa/disk.h: Likewise.
48031 * include/pupa/dl.h: Likewise.
48032 * include/pupa/elf.h: Likewise.
48033 * include/pupa/err.h: Likewise.
48034 * include/pupa/file.h: Likewise.
48035 * include/pupa/font.h: Likewise.
48036 * include/pupa/fs.h: Likewise.
48037 * include/pupa/kernel.h: Likewise.
48038 * include/pupa/loader.h: Likewise.
48039 * include/pupa/misc.h: Likewise.
48040 * include/pupa/mm.h: Likewise.
48041 * include/pupa/net.h: Likewise.
48042 * include/pupa/normal.h: Likewise.
48043 * include/pupa/rescue.h: Likewise.
48044 * include/pupa/setjmp.h: Likewise.
48045 * include/pupa/symbol.h: Likewise.
48046 * include/pupa/term.h: Likewise.
48047 * include/pupa/types.h: Likewise.
48048 * include/pupa/i386/setjmp.h: Likewise.
48049 * include/pupa/i386/types.h: Likewise.
48050 * include/pupa/i386/pc/biosdisk.h: Likewise.
48051 * include/pupa/i386/pc/boot.h: Likewise.
48052 * include/pupa/i386/pc/console.h: Likewise.
48053 * include/pupa/i386/pc/init.h: Likewise.
48054 * include/pupa/i386/pc/kernel.h: Likewise.
48055 * include/pupa/i386/pc/linux.h: Likewise.
48056 * include/pupa/i386/pc/loader.h: Likewise.
48057 * include/pupa/i386/pc/memory.h: Likewise.
48058 * include/pupa/i386/pc/multiboot.h: Likewise.
48059 * include/pupa/i386/pc/partition.h: Likewise.
48060 * include/pupa/i386/pc/time.h: Likewise.
48061 * include/pupa/i386/pc/vga.h: Likewise.
48062 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
48063 * include/pupa/util/getroot.h: Likewise.
48064 * include/pupa/util/misc.h: Likewise.
48065 * include/pupa/util/resolve.h: Likewise.
48066 * kern/device.c: Likewise.
48067 * kern/disk.c: Likewise.
48068 * kern/dl.c: Likewise.
48069 * kern/err.c: Likewise.
48070 * kern/file.c: Likewise.
48071 * kern/fs.c: Likewise.
48072 * kern/loader.c: Likewise.
48073 * kern/main.c: Likewise.
48074 * kern/misc.c: Likewise.
48075 * kern/mm.c: Likewise.
48076 * kern/rescue.c: Likewise.
48077 * kern/term.c: Likewise.
48078 * kern/i386/dl.c: Likewise.
48079 * kern/i386/pc/init.c: Likewise.
48080 * kern/i386/pc/lzo1x.S: Likewise.
48081 * kern/i386/pc/startup.S: Likewise.
48082 * loader/i386/pc/chainloader.c: Likewise.
48083 * loader/i386/pc/linux.c: Likewise.
48084 * loader/i386/pc/multiboot.c: Likewise.
48085 * normal/cmdline.c: Likewise.
48086 * normal/command.c: Likewise.
48087 * normal/main.c: Likewise.
48088 * normal/menu.c: Likewise.
48089 * normal/i386/setjmp.S: Likewise.
48090 * term/i386/pc/console.c: Likewise.
48091 * term/i386/pc/vga.c: Likewise.
48092 * util/console.c: Likewise.
48093 * util/genmoddep.c: Likewise.
48094 * util/misc.c: Likewise.
48095 * util/pupa-emu.c: Likewise.
48096 * util/resolve.c: Likewise.
48097 * util/unifont2pff.rb: Likewise.
48098 * util/i386/pc/biosdisk.c: Likewise.
48099 * util/i386/pc/getroot.c: Likewise.
48100 * util/i386/pc/pupa-mkimage.c: Likewise.
48101 * util/i386/pc/pupa-setup.c: Likewise.
48102
e6eced71 481032004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
48104
48105 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
48106 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
48107 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
48108 reading and reset it after reading.
48109 (pupa_ext2_close): Return PUPA_ERR_NONE.
48110
48111 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
48112 Correct value.
48113 (struct linux_kernel_header): Add kernel_version and
48114 initrd_addr_max.
48115 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
48116 pupa_file_read succeeds.
48117 (pupa_rescue_cmd_initrd): Implement.
48118
5aded270 481192003-12-03 Marco Gerards <metgerards@student.han.nl>
48120
48121 * fs/ext2.c (pupa_ext2_label): New function.
48122 (pupa_ext2_fs): Added label.
48123 * fs/fat.c (pupa_fat_label): New function.
48124 (pupa_fat_fs): Added label.
48125 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
48126
48127 * kern/misc.c (pupa_strndup): New function.
48128 * include/pupa/misc.h (pupa_strndup): New prototype.
48129
48130 * include/pupa/normal.h: Include <pupa/err.h>.
48131 (pupa_set_history): New prototype.
48132 (pupa_iterate_commands): New prototype.
48133 * normal/cmdline.c: Include <pupa/machine/partition.h>,
48134 <pupa/disk.h>, <pupa/file.h>.
48135 (hist_size): New variable.
48136 (hist_lines): Likewise.
48137 (hist_end): Likewise.
48138 (hist_used): Likewise.
48139 (pupa_set_history): New function.
48140 (pupa_history_get): Likewise.
48141 (pupa_history_add): Likewise.
48142 (pupa_history_replace): Likewise.
48143 (pupa_tab_complete): Likewise.
48144 (pupa_cmdline_run): Added tab completion and history buffer. Tab
48145 completion shows partitionnames while completing partitions, this
48146 feature was suggested by Jeff Bailey.
48147 * normal/command.c (pupa_iterate_commands): New function.
48148 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
48149 (pupa_normal_init): Initialize history buffer.
48150 (PUPA_MOD_INIT): Likewise.
48151 (pupa_normal_fini): Free the history buffer.
48152 (PUPA_MOD_FINI): Likewise.
48153
48154 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
48155 key.
48156
48157 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
48158 * configure.ac [i386]: Check for regparam bug.
48159 (NESTED_FUNC_ATTR) [! i386]: Defined.
48160
1f7315a3 481612003-11-17 Marco Gerards <metgerards@student.han.nl>
48162
48163 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
48164 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
48165 (pupa_emu_SOURCES): New variable.
48166 (pupa_emu_LDFLAGS): Likewise.
48167 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
48168 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
48169 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
48170 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
48171 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
48172 (pupa_jmp_buf): New typedef.
48173 (pupa_setjmp) [PUPA_UTIL]: New macro.
48174 (pupa_longjmp) [PUPA_UTIL]: Likewise.
48175 * include/pupa/term.h (struct pupa_term): New member `refresh'.
48176 (pupa_refresh): New prototype.
48177 * include/pupa/util/getroot.h: New file.
48178 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
48179 it.
48180 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
48181 (pupa_rescue_cmd_cat): Likewise.
48182 (pupa_rescue_cmd_ls): Likewise.
48183 (pupa_rescue_cmd_testload): Likewise.
48184 (pupa_rescue_cmd_lsmod): Likewise.
48185 * normal/cmdline.c (pupa_cmdline_get): Likewise.
48186 * normal/menu.c (run_menu): Likewise.
48187 * kern/term.c (pupa_cls): Likewise.
48188 (pupa_refresh): New function.
48189 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
48190 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
48191 * util/console.c: New file.
f19dbdb7 48192
1f7315a3 48193 * util/i386/pc/getroot.c: New file.
48194 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
48195 (pupa_putchar): New function.
48196 (pupa_refresh): Likewise.
48197 (xgetcwd): Function moved to ...
48198 (strip_extra_slashes): Likewise.
48199 (get_prefix): Likewise.
f19dbdb7 48200 * util/i386/pc/getroot.c: ... here.
1f7315a3 48201 (find_root_device): Function moved and renamed to...
48202 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
48203 Changed all callers.
48204 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
48205 and renamed to...
48206 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
48207 Changed all callers.
48208 * util/misc.c (pupa_memalign): New function.
48209 (pupa_mm_init_region): Likewise.
48210 (pupa_register_exported_symbols): Likewise.
48211 (pupa_putchar): Function removed.
48212 * util/pupa-emu.c: New file.
48213
9a5c1ade 482142003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
48215
48216 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
48217 (_multiboot_mod_SOURCES): New variable.
48218 (_multiboot_mod_CFLAGS): Likewise.
48219 * loader/i386/pc/multiboot.c: New file.
48220 * include/pupa/i386/pc/multiboot.h: Likewise.
48221 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
48222 (pupa_multiboot_real_boot): New function.
48223 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
48224 (pupa_multiboot_real_boot): New prototype.
48225 (pupa_rescue_cmd_multiboot): Likewise
48226 (pupa_rescue_cmd_module): Likewise.
48227
48228 * kern/loader.c (pupa_loader_set): Continue when
48229 pupa_loader_unload_func() fails.
48230 (pupa_loader_unset): New function.
48231 * include/pupa/loader.h (pupa_loader_unset): New prototype.
48232
48233 * kern/misc.c (pupa_stpcpy): New function.
48234 * include/pupa/misc.h (pupa_stpcpy): New prototype.
48235
8e72a9c0 482362003-11-12 Marco Gerards <metgerards@student.han.nl>
48237
48238 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
48239 for available extensions.
48240
48241 * include/pupa/i386/pc/time.h: New file.
48242 * kern/disk.c: Include <pupa/machine/time.h>.
48243 (PUPA_CACHE_TIMEOUT): New macro.
48244 (pupa_last_time): New variable.
48245 (pupa_disk_open): Flush the cache when there was a timeout.
48246 (pupa_disk_close): Reset the timer.
48247 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
48248 pupa_currticks.
48249 * util/misc.c: Include <sys/times.h>
48250 (pupa_get_rtc): New function.
48251
c4adbd32 482522003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
48253
48254 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
48255 as blocks.
48256 (pupa_ext2_get_file_block): Use blocks member.
48257
48258 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
48259 first block. Return -1 instead of pupa_errno on error.
48260
bfd30f06 482612003-10-27 Marco Gerards <metgerards@student.han.nl>
48262
48263 * README: In the pupa-mkimage example use _chain instead of chain
48264 and ext2 instead of fat.
48265 * TODO: Replace ext2fs with jfs as an example. Add an item for
48266 adding journal playback for ext2fs.
48267 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
48268 (pkgdata_MODULES): Added ext2.mod.
48269 (ext2_mod_SOURCES): New variable.
48270 (ext2_mod_CFLAGS): Likewise.
48271 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
48272 * include/pupa/misc.h (pupa_strncpy): New prototype.
48273 (pupa_strcat): Likewise.
48274 (pupa_strncmp): Likewise.
48275 * kern/misc.c (pupa_strcat): Enable function.
48276 (pupa_strncpy): New function.
48277 (pupa_strncmp): Likewise.
48278 * fs/ext2.c: New file.
f19dbdb7 48279
bfd30f06 48280 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
48281 when the read failed before retrying.
48282 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
48283 (_FILE_OFFSET_BITS): Likewise.
48284 * configure.ac: Added AC_SYS_LARGEFILE.
48285
98d15063 482862003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
48287
48288 * genmk.rb (PModule#rule): Make sure to get only symbol names
48289 from the output of nm.
59cad637 48290 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 48291
18d9c7cd 482922003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
48293
48294 I forgot to check in these changes for a long time. This adds
48295 incomplete support for VGA console, and this is still very
48296 buggy. Also, a lot of consideration is required for I18N,
48297 UNICODE, and VGA font issues. Therefore, assume that this is
48298 such that "better than nothing".
f19dbdb7 48299
18d9c7cd 48300 * font/manager.c: New file.
48301 * include/pupa/font.h: Likewise.
48302 * include/pupa/i386/pc/vga.h: Likewise.
48303 * term/i386/pc/vga.c: Likewise.
48304 * util/unifont2pff.rb: Likewise.
48305
48306 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
48307 (pkgdata_MODULES): Added vga.mod and font.mod.
48308 (vga_mod_SOURCES): New variables.
48309 (vga_mod_CFLAGS): Likewise.
48310 (font_mod_SOURCES): Likewise.
48311 (font_mod_CFLAGS): Likewise.
48312
48313 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
48314
48315 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 48316 (struct pupa_term): Added init and fini.
18d9c7cd 48317 Changed the argument of putchar to pupa_uint32_t.
48318
48319 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
48320 (pupa_console_real_putchar): New prototype.
48321 (pupa_console_putchar): Removed.
48322 (pupa_console_checkkey): Exported.
48323 (pupa_console_getkey): Likewise.
48324
48325 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
48326 characters.
48327
48328 * kern/term.c (pupa_term_set_current): Rewritten.
48329 (pupa_putchar): Likewise.
48330 (pupa_putcode): New function.
48331
48332 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
48333 (pupa_console_real_putchar): ... this.
48334 (pupa_vga_set_mode): New function.
48335 (pupa_vga_get_font): Likewise.
48336
48337 * normal/command.c: Include pupa/term.h.
48338 (terminal_command): New function.
48339 (pupa_command_init): Register the command "terminal".
48340
48341 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
48342 (DISP_UP): Likewise.
48343 (DISP_RIGHT): Likewise.
48344 (DISP_DOWN): Likewise.
48345 (DISP_HLINE): Likewise.
48346 (DISP_VLINE): Likewise.
48347 (DISP_UL): Likewise.
48348 (DISP_UR): Likewise.
48349 (DISP_LL): Likewise.
48350 (DISP_LR): Likewise.
48351
48352 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 48353
977329f5 483542003-02-08 NIIBE Yutaka <gniibe@m17n.org>
48355
48356 * util/resolve.c (pupa_util_resolve_dependencies): BUG
48357 FIX. Reverse the path_list.
48358
48359 * include/pupa/normal.h: Export pupa_register_command and
48360 pupa_unregister_command.
48361
48362 * hello/hello.c (pupa_cmd_hello): New module.
48363 * conf/i386-pc.rmk: Added hello.mod.
48364
1f5ab428 483652003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
48366
48367 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 48368
1f5ab428 48369 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
48370 (compress_kernel): New variable.
48371 (generate_image): Heavily modified to support compressing a
48372 large part of the core image.
48373
48374 * util/misc.c (pupa_util_read_image): Fix a file descriptor
48375 leak.
48376 (pupa_util_load_image): New function.
48377
48378 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
48379 (pupa_compressed_size): New variable.
48380 (codestart): Enable Gate A20 here.
48381 Decompress the compressed part of the core image.
48382 Rearrange the code to put functions and variables which are
48383 required for initialization in the non-compressed part.
48384 Include lzo1x.S.
48385
48386 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
48387 here.
48388
48389 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
48390
f19dbdb7 48391 * include/pupa/i386/pc/kernel.h
1f5ab428 48392 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
48393 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
48394 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
48395 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
48396 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
48397
48398 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
48399
48400 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
48401 (Utility#rule): Likewise.
48402
48403 * configure.ac: Check if LZO is available.
48404
ce5bf700 484052003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
48406
48407 * include/pupa/normal.h: New file.
48408 * include/pupa/setjmp.h: Likewise.
48409 * include/pupa/i386/setjmp.h: Likewise.
48410 * normal/cmdline.c: Likewise.
48411 * normal/command.c: Likewise.
48412 * normal/main.c: Likewise.
48413 * normal/menu.c: Likewise.
48414 * normal/i386/setjmp.S: Likewise.
f19dbdb7 48415
ce5bf700 48416 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
48417 (pupa_rescue_cmd_initrd): Likewise.
48418
48419 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
48420 Likewise.
48421
48422 * kern/i386/pc/startup.S (translation_table): New variable.
48423 (translate_keycode): New function.
48424 (pupa_console_getkey): Call translate_keycode.
48425
48426 * kern/rescue.c (attempt_normal_mode): New function.
48427 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
48428 it failed, print a message.
48429
48430 * kern/mm.c (pupa_real_malloc): Print more information when a
48431 free magic is broken.
48432 (pupa_free): If the first free header is not free actually, set
48433 it to P.
48434
48435 * kern/main.c (pupa_load_normal_mode): Just load the module
48436 "normal".
48437 (pupa_main): Don't print the message
48438 "Entering into rescue mode..." here.
48439
48440 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
48441 Declared.
48442 (pupa_rescue_cmd_initrd): Likewise.
48443 (pupa_rescue_cmd_initrd): Likewise.
48444
48445 * include/pupa/symbol.h (FUNCTION): Specify the type.
48446 (VARIABLE): Likewise.
48447
48448 * include/pupa/err.h (pupa_err_t): Added
48449 PUPA_ERR_UNKNOWN_COMMAND.
48450
48451 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
48452 (pupa_dl_get_prefix): Likewise.
48453
48454 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
48455 Added _chain.mod and _linux.mod instead of chain.mod and
48456 linux.mod.
48457 (chain_mod_SOURCES): Renamed to ...
48458 (_chain_mod_SOURCES): ... this.
48459 (chain_mod_CFLAGS): Renamed to ...
48460 (_chain_mod_CFLAGS): ... this.
48461 (linux_mod_SOURCES): Renamed to ...
48462 (_linux_mod_SOURCES): ... this.
48463 (linux_mod_CFLAGS): Renamed to ...
48464 (_linux_mod_CFLAGS): ... this.
48465 (normal_mod_SOURCES): New variable.
48466 (normal_mod_CFLAGS): Likewise.
48467 (normal_mod_ASFLAGS): Likewise.
48468
484692003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
48470
48471 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
48472 possible.
48473
fe6b695a 48474 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 48475 recursively.
48476 (pupa_dl_unref): Unrefer depending modules recursively.
48477 Don't call pupa_dl_unload implicitly, because PUPA can crash if
48478 a module is unloaded before one depending on that module is
48479 unloaded.
48480 (pupa_dl_unload): Unload depending modules explicitly,
48481 if possible.
48482
c04da074 484832003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
48484
48485 * include/pupa/i386/pc/linux.h: New file.
48486 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 48487
c04da074 48488 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
48489 Removed.
48490 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
48491 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
48492 of PUPA_CHAINLOADER_BOOT_SECTOR.
48493
48494 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
48495 (pupa_linux_prot_size): New variable.
48496 (pupa_linux_tmp_addr): Likewise.
48497 (pupa_linux_real_addr): Likewise.
48498 (pupa_linux_boot_zimage): New function.
48499 (pupa_linux_boot_bzimage): Likewise.
48500
48501 * kern/i386/pc/init.c (struct mem_region): New structure.
48502 (MAX_REGIONS): New macro.
48503 (mem_regions): New variable.
48504 (num_regions): Likewise.
48505 (pupa_os_area_addr): Likewise.
48506 (pupa_os_area_size): Likewise.
48507 (pupa_lower_mem): Likewise.
48508 (pupa_upper_mem): Likewise.
48509 (add_mem_region): New function.
48510 (compact_mem_regions): Likewise.
48511 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
48512 the size of the conventional memory and that of so-called upper
48513 memory (before the first memory hole).
48514 Instead of adding each found region to free memory, use
48515 add_mem_region and add them after removing overlaps.
48516 Also, add only 1/4 of the upper memory to free memory. The rest
48517 is used for loading OS images. Maybe this is ad hoc, but this
48518 makes it much easier to relocate OS images when booting.
48519
48520 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
48521 (pupa_enter_rescue_mode): Don't register initrd and module.
48522
48523 * kern/mm.c: Include pupa/dl.h.
48524
48525 * kern/main.c: Include pupa/file.h and pupa/device.h.
48526
48527 * kern/loader.c (pupa_loader_load_module_func): Removed.
48528 (pupa_loader_load_module): Likewise.
48529
48530 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
48531 ``.o''.
48532
48533 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
48534 (pupa_linux_tmp_addr): Likewise.
48535 (pupa_linux_real_addr): Likewise.
48536 (pupa_linux_boot_zimage): Likewise.
48537 (pupa_linux_boot_bzimage): Likewise.
48538
48539 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
48540 (pupa_upper_mem): Likewise.
48541 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
48542 module is too dangerous.
48543
48544 * include/pupa/loader.h (pupa_os_area_addr): Declared.
48545 (pupa_os_area_size): Likewise.
48546 (pupa_loader_set): Remove the first argument. Loader doesn't
48547 manage modules or initrd any longer.
48548 (pupa_loader_load_module): Removed.
48549
48550 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
48551 (linux_mod_SOURCES): New variable.
48552 (linux_mod_CFLAGS): Likewise.
48553
a13f9237 485542003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
48555
48556 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
48557 the length of a blocklist correctly.
48558
48559 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
48560 Use ioctl only if the OS file is a block device.
48561 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
48562 not very useful for normal files.
48563
48564 * kern/main.c (pupa_set_root_dev): New function.
48565 (pupa_load_normal_mode): Likewise.
48566 (pupa_main): Call those above.
48567
48568 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
48569 pupa_uint16_t.
48570
48571 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
48572
a5ffe966 485732003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
48574
48575 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
48576 (setup): Configure the installed partition information and the
48577 dl prefix.
48578
48579 * loader/i386/pc/chainloader.c (my_mod): New variable.
48580 (pupa_chainloader_unload): New function.
48581 (pupa_rescue_cmd_chainloader): Refer itself.
48582 (PUPA_MOD_INIT): Save its own module in MY_MOD.
48583
48584 * kern/i386/pc/startup.S (install_partition): Removed.
48585 (version_string): Likewise.
48586 (config_file): Likewise.
48587 (pupa_install_dos_part): New variable.
48588 (pupa_install_bsd_part): Likewise.
48589 (pupa_prefix): Likewise.
48590 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
48591
48592 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
48593 and pupa/misc.h.
48594 (make_install_device): New function.
48595 (pupa_machine_init): Set the dl prefix.
48596
48597 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
48598 (buf): Renamed to ...
48599 (linebuf): ... this.
48600 (pupa_rescue_cmd_prefix): New function.
48601 (pupa_rescue_cmd_insmod): Likewise.
48602 (pupa_rescue_cmd_rmmod): Likewise.
48603 (pupa_rescue_cmd_lsmod): Likewise.
48604 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
48605 rmmod and lsmod.
48606
48607 * kern/mm.c (pupa_memalign): If failed even after invalidating
48608 disk caches, unload unneeded modules and retry.
48609
48610 * kern/misc.c (pupa_memmove): New function.
48611 (pupa_memcpy): Removed.
48612 (pupa_strcpy): New function.
48613 (pupa_itoa): Made static.
48614
48615 * kern/dl.c (pupa_dl_iterate): New function.
48616 (pupa_dl_ref): Likewise.
48617 (pupa_dl_unref): Likewise.
48618 (pupa_dl_unload): Return if succeeded or not.
48619 (pupa_dl_unload_unneeded): New function.
48620 (pupa_dl_unload_all): Likewise.
48621 (pupa_dl_init): Renamed to ...
48622 (pupa_dl_set_prefix): ... this.
48623 (pupa_dl_get_prefix): New function.
48624
48625 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
48626 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
48627 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
48628 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
48629 (pupa_install_dos_part): Declared.
48630 (pupa_install_bsd_part): Likewise.
48631 (pupa_prefix): Likewise.
48632 (pupa_boot_drive): Likewise.
48633
48634 * include/pupa/types.h: Fix a typo.
48635
48636 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
48637 pupa_memmove.
48638 (pupa_memmove): Declared.
48639 (pupa_strcpy): Likewise.
48640
48641 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
48642 pupa_mod_init takes one argument, its own module.
48643 (pupa_dl_unload_unneeded): Declared.
48644 (pupa_dl_unload_all): Likewise.
48645 (pupa_dl_ref): Likewise.
48646 (pupa_dl_unref): Likewise.
48647 (pupa_dl_iterate): Likewise.
48648 (pupa_dl_init): Renamed to ...
48649 (pupa_dl_set_prefix): ... this.
48650 (pupa_dl_get_prefix): Declared.
48651
48652 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 48653 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 48654 unloaded.
48655 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
48656 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
48657
48658 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
48659 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
48660
012d7999 486612003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
48662
48663 * util/i386/pc/pupa-setup.c (setup): Define the internal
48664 function find_first_partition_start at the top level, because GCC
48665 3.0.x cannot compile internal functions in deeper scopes
48666 correctly.
48667 (find_root_device): Use lstat instead of stat.
48668 Don't follow symbolic links.
48669 Fix the path-constructing code.
48670
48671 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
48672 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
48673 by a BLKGETSIZE ioctl first, because block devices don't fill
48674 the member st_mode of the structure stat on Linux.
48675 [__linux__] (linux_find_partition): Use a temporary buffer
48676 REAL_DEV for the working space. Copy it to DEV before returning.
48677 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
48678 buffer cache consistent.
48679 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
48680 strncmp. The previous value was merely wrong.
48681 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
48682
48683 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
48684 FAT size is 12. The previous value was merely wrong.
48685
48686 * kern/main.c (pupa_main): Don't split the starting message from
48687 newlines.
48688
48689 * kern/term.c (pupa_putchar): Put CR after LF instead of before
48690 LF, because BIOS goes crazy about character attributes in this
48691 case.
48692
1cc73a62 486932003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
48694
48695 * include/i386/pc/util/biosdisk.h: New file.
48696 * util/i386/pc/biosdisk.c: Likewise.
48697 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 48698
1cc73a62 48699 * Makefile.in (INCLUDE_DISTFILES): Added
48700 include/pupa/i386/pc/util/biosdisk.h.
48701 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
48702 directory util/i386/pc.
48703 (install-local): Added a rule for sbin_UTILITIES.
48704 (uninstall): Likewise.
48705
48706 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
48707
48708 * util/misc.c (xrealloc): New function.
48709 (pupa_malloc): Likewise.
48710 (pupa_free): Likewise.
48711 (pupa_realloc): Likewise.
48712 (pupa_stop): Likewise.
48713 (pupa_putchar): Likewise.
48714
48715 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
48716
48717 * include/pupa/util/misc.h (xrealloc): Declared.
48718
48719 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
48720 macro.
48721 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
48722 (PUPA_BOOT_MACHINE_BPB_END): ... this.
48723
48724 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
48725 [PUPA_UTIL] (pupa_fat_fini): Likewise.
48726
48727 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
48728 way should be implemented.
48729 [PUPA_UTIL] (pupa_fat_fini): Likewise.
48730
48731 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
48732 the size of NAME for safety.
48733 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
48734 0x88.
48735
48736 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
48737 (pupa_setup_SOURCES): Likewise.
48738
48739 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
48740
08b70fe8 487412002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
48742
48743 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
48744 bunch of pushl's from pusha, because this destroys the return
48745 value.
48746
62ddcc8f 487472002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
48748
48749 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
48750 This means that any missing prototypes could be fatal. Also, you
48751 must take care when writing assembly code. See the comments at
48752 the beginning of startup.S, for more details.
f19dbdb7 48753
62ddcc8f 48754 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
48755 compilation mechanism.
48756 (pupa_chainloader_real_boot): Likewise.
48757 (pupa_biosdisk_rw_int13_extensions): Likewise.
48758 (pupa_biosdisk_rw_standard): Likewise.
48759 (pupa_biosdisk_check_int13_extensions): Likewise.
48760 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
48761 (pupa_biosdisk_get_diskinfo_standard): Likewise.
48762 (pupa_get_memsize): Likewise.
48763 (pupa_get_mmap_entry): Likewise.
48764 (pupa_console_putchar): Likewise.
48765 (pupa_console_setcursor): Likewise.
48766 (pupa_getrtsecs): Use pushl instead of push.
48767
48768 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
48769 memory instead of the stack for a mmap entry, because some
48770 BIOSes may ignore the maximum size and overflow.
48771
48772 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
48773
48774 * genmk.rb (PModule#rule): Compile automatically generated
48775 sources with module-specific CFLAGS as well as other sources.
48776
9962ed99 487772002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
48778
48779 * configure.ac: Check ld.
48780 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
48781 respectively, before checking endianness and sizes.
48782
48783 * Makefile.in (LD): New variable.
f19dbdb7 48784
abdfc3c5 487852002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
48786
48787 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
48788
6a161fa9 487892002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
48790
48791 * Changelog: New file.
48792