]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* configure.ac: Bump up the version to beta2.
[grub2.git] / ChangeLog
CommitLineData
b63d89b6
VS
12012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * configure.ac: Bump up the version to beta2.
4
17f38c0f
VS
52012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
6
7 Fix gettext reload bugs (e.g. inability to disable gettext
8 once enabled).
9
10 * grub-core/gettext/gettext.c: Encapsulate all static variables in
11 main_context and secondary_context. All functions updated.
12 (grub_gettext_translate): Rename to ...
13 (grub_gettext_translate_real): ... this. Return NULL on failed
14 translate.
15 (grub_gettext_translate): Handle secondary context.
16 (grub_gettext_delete_list): Close file and zero-out the context.
17 (grub_mofile_open): Don't call grub_gettext_delete_list.
18 Don't close file.
19 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
20 if locale="" to avoid pointless error message.
21 (grub_gettext_env_write_lang): Update lang even if load fails.
22 Handle secondary context.
23 (grub_gettext_reread_prefix): New function.
24 (read_main): Likewise.
25 (read_secondary): Likewise.
26 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
27 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
28 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
29 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
30
8e56f870
VS
312012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
32
33 * configure.ac: Decrease warning level to avoid spurious warnings and
34 to be able to compile with GCC 4.2.
35 * Makefile.util.def: Remove -Wno-error=logical-op.
36
82f6d455
WB
372012-03-10 William Bittner <william.bittner@gmail.com>
38
39 * util/import_unicode.py: Add missing brackets around string for
40 python 3 support.
41
1ecd61a4
VS
422012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
43
44 Fix efi chainloader on network root.
45
46 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
47 network devices.
48 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
49 New function.
50
14361ee8
VS
512012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
52
53 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
54 unused show_text member.
55 * docs/grub.texi: Document "text" property.
56
922aabf3
VS
572012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
58
59 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
60 in dprintf.
61
ec316771
VS
622012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
63
64 Fix IMSM handling on Fedora.
65
66 * util/getroot.c (grub_util_is_imsm): New function.
67 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
68
0f021838
VS
692012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
70
71 * Makefile.am: Strip gold section.
72 * conf/Makefile.common: Likewise.
73 * gentpl.py: Likewise.
74 * grub-core/Makefile.core.def: Likewise.
75 * grub-core/genmod.sh.in: Likewise.
76
1039c8eb
VS
772012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
78
79 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
80 * util/grub.d/20_linux_xen.in: Likewise.
81 Based on Debian patch.
82
6dd412cd
VS
832012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
84
85 * util/grub.d/10_linux.in: Fix syntax error resulting in
86 Richard Laager's patch.
87 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
88
3fd8bae5
VS
892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
90
91 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
92 dependencies.
93
7eea1671
RL
942012-03-10 Richard Laager <rlaager@wiktel.com>
95
96 * util/grub.d/10_linux.in: Fix ZFS root passing.
97
e8e0566b
VS
982012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
99
100 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
101 * grub-core/commands/xnu_uuid.c: Likewise.
102 * grub-core/loader/efi/appleloader.c: Likewise.
103 * grub-core/script/execute.c: Likewise.
104 * grub-core/script/main.c: Likewise.
105 * util/grub-mkfont.c: Likewise.
106
1acc5b1f
VS
1072012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
108
109 * util/grub-mkfont.c (options): Use more appropriate "select" that
110 "set" for face index.
111
35d70620
VS
1122012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
113
114 * util/grub-editenv.c (options): Gettextize command summaries.
115
c9eb96b5
VS
1162012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
117
118 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
119 "out of memory" error messagge.
120
1f493136
VS
1212012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
122
123 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
124 of diskfilter for diskfilter on diskfilter support.
125
6d790129
VS
1262012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
127
128 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
129
005f46c9
VS
1302012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
131
132 * util/grub-install.in: Check for themes/starfield/theme.txt and not
133 themes/starfield.
134
c8f778a0
VS
1352012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
136
137 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
138
de1e64eb
VS
1392012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
140
141 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
142
c6d54211
VS
1432012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
144
145 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
146 of error message.
147
dd390777
VS
1482012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
149
150 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
151
5fd1c522
VS
1522012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
153
154 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
155 message.
c6d54211 156 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 157
fae01f6c
VS
1582012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
159
160 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
161 Gettextize.
162 * util/grub-mount.c (options): Likewise.
163
292fdaff
VS
1642012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
165
166 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
167 gettextize.
168 * grub-core/commands/search_wrap.c (options): Likewise.
169
ecdbae77
VS
1702012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
171
172 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
173
52bfedfa
VS
1742012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
177 size calculation.
178 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
179 none is known.
180
55b20e58
VS
1812012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
182
183 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
184 "temporary" since it's used in identifier and is limited in space.
185
fda9d101
VS
1862012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
187
188 * po/POTFILES.in: Regenerate. Include *.h since they contain
189 translatable strings as well.
190
6a0295e2
VS
1912012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
192
193 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
194 byte-swap on big-endian.
195 Reported by: Lennart Sorensen
196
807fb77c
VS
1972012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
198
199 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
200 (allocate_pages): Improve dprintf.
201 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
202 code32_start. Fill code32_start and kernel_alignment in params.
203 (grub_cmd_initrd): Use prot_init_space.
204
61ac50ba
VS
2052012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
206
207 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
208
abdd26dd
VS
2092012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
210
211 * util/grub-install.in: Add missing dot at the end of sentence.
212
6e69da9c
VS
2132012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
214
215 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
216 * grub-core/commands/videotest.c: Likewise.
217 * grub-core/loader/i386/linux.c: Likewise.
218
4a929343
VS
2192012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
220
221 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
222 sentence.
223 Reported by: Milo Casagrande.
224
bb51c6c6
VS
2252012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
226
227 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
228 * grub-core/commands/gptsync.c: Likewise.
229 * grub-core/commands/hashsum.c: Likewise.
230 * grub-core/commands/i386/pc/sendkey.c: Likewise.
231 * grub-core/commands/legacycfg.c: Likewise.
232 * grub-core/io/gzio.c: Likewise.
233 * grub-core/net/net.c: Likewise.
234 * grub-core/term/gfxterm.c: Likewise.
235 * grub-core/term/terminfo.c: Likewise.
236 * grub-core/tests/test_blockarg.c: Likewise.
237 * grub-core/video/video.c: Likewise.
238 * util/grub-install.in: Likewise.
239 * util/grub-mkfont.c: Likewise.
240
b2b149cb
VS
2412012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
242
243 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
244
c7c080ad
VS
2452012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
246
247 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 248 Reported by: David Prévot.
c7c080ad 249
f2e243c0
VS
2502012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
251
252 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
253 description.
254
09963c76
VS
2552012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
256
257 * util/grub-script-check.c (main): Fix a syntax error message which was
258 unclear.
259
a50514a8
VS
2602012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
261
262 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
263
4650daec
VS
2642012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
265
266 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
267 messages.
268
2692012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
270
271 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
272 without argument.
273 * util/grub-mount.c (options): Likewise.
274
bbc5a342
VS
2752012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
276
277 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
278
ef292a87
VS
2792012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
280
281 * grub-core/net/http.c: Add TRANSLATORS comments.
282 * grub-core/normal/cmdline.c: Likewise.
283 * grub-core/normal/misc.c: Likewise.
284 * grub-core/partmap/msdos.c: Likewise.
285 * grub-core/parttool/msdospart.c: Likewise.
286 * grub-core/script/execute.c: Likewise.
287 * grub-core/script/main.c: Likewise.
288 * grub-core/term/terminfo.c: Likewise.
289 * grub-core/video/bitmap.c: Likewise.
290 * util/grub-install.in: Likewise.
291 * util/grub-mkimage.c: Likewise.
292 * util/grub-mklayout.c: Likewise.
293 * util/grub-setup.c: Likewise.
294
0fc19bd0
VS
2952012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
296
297 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
298 with similar messages in grub-fstest.
299
d95862ef
VS
3002012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
301
302 * util/grub-install.in: Unify "option requires an argument" message
303 with similar messages in other files.
304 * util/grub-mkconfig.in: Likewise.
305
b7308f90
VS
3062012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
307
308 * util/grub-set-default.in: Replace printf with gettext_printf (the
309 string in in question is already translated from grub-reboot)
310
559dc587
VS
3112012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
312
313 * configure.ac: Bump up the version to beta1.
314
1a11761f
VS
3152012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
316
317 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
318 case when min_align = 0.
319
24539abd
VS
3202012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
323 and fix a case when line_start overflows.
324
32bd735b
VS
3252012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
326
327 * util/grub-reboot.in (usage): Mention id posibility.
328 * util/grub-set-default.in (usage): Likewise.
329
1a2fd1e6
VS
3302012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
331
332 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
333 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
334 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
335 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
336 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
337 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
338 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
339
90eeab76
VS
3402012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
341
342 * grub-core/commands/menuentry.c (options): Remove
343 GRUB_ARG_OPTION_REPEATABLE.
344 Reported by: Andreas Vogel
345
5ad1be82
AV
3462012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
347
348 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
349
cb055286
HE
3502012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
351
352 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
353 error.
354
93b1cd79
VS
3552012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
356
357 Use sort -V by the idea of Georgi Georgiev.
358
359 * util/grub-mkconfig_lib.in (version_sort): New function.
360 (version_test_numeric): Use version_sort.
361
0cdc126c
VS
3622012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
363
364 Use submenus in grub-mkconfig.
365
366 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
367 * util/grub-mkconfig_lib.in (grub_quote): New function.
368 (gettext_printf): Use gettext and not gettext_quoted to fix several
369 messages.
370 * util/grub.d/10_hurd.in: Use submenus.
371 * util/grub.d/10_kfreebsd.in: Likewise.
372 * util/grub.d/10_linux.in: Likewise.
373 * util/grub.d/10_netbsd.in: Likewise.
374 * util/grub.d/20_linux_xen.in: Likewise.
375 * util/grub.d/30_os-prober.in: Likewise.
376 * util/grub.d/10_illumos.in: Add missing quoting.
377 * util/grub.d/10_windows.in: Likewise.
378
d9bef9bc
VS
3792012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
380
381 Fix menu title instability bug.
382
383 * grub-core/commands/menuentry.c (options): New option --id.
384 (grub_normal_add_menu_entry): New argument id. All users updated.
385 (grub_cmd_menuentry): Handle --id.
386 (grub_menu_init): Accept unknown arguments.
387 * grub-core/normal/main.c (features): Add feature_menuentry_id and
388 feature_menuentry_options.
389 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
390 saved_entry.
391 (get_entry_number): Match with id as well.
392 * include/grub/menu.h (grub_menu_entry): New member id.
393 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
394 * util/grub.d/00_header.in: Define menuentry_id_option.
395 * util/grub.d/10_hurd.in: Define id.
396 * util/grub.d/10_illumos.in: Likewise.
397 * util/grub.d/10_kfreebsd.in: Likewise.
398 * util/grub.d/10_linux.in: Likewise.
399 * util/grub.d/10_netbsd.in: Likewise.
400 * util/grub.d/10_windows.in: Likewise.
401 * util/grub.d/20_linux_xen.in: Likewise.
402 * util/grub.d/30_os-prober.in: Likewise.
403
4042012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
405
406 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
407 "scope" with "body".
408
7c8d0ce7
VS
4092012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
410
411 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
412 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
413 prot_size and prot_file_size.
414
49de079b
VS
4152012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
416
417 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
418 All users updated. If easily=1 require raid-5/-6 to be full.
419 (is_node_readable): Likewise.
420 (scan_devices): Scan incomplete but readable LVs at the end.
421 (grub_diskfilter_memberlist): Pull missing devices.
422 (insert_array): Skip scanning until device is complete or scan is
423 done otherwise.
424 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
425 check.
426 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
427 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
428
aff05d45
MG
4292012-03-03 Matthew Garrett <mjg@redhat.com>
4302012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
431
432 Avoid EFI boot services when loading Linux.
433
434 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
435 avoid_efi_bootservices. All users updated.
436 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
437 argument avoid_efi_bootservices. All users updated.
438 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
439 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
440 align, min_align, relocatable, prefered_address. All users updated.
441 Allocate avoiding boot services if kernel is relocatable.
442 (grub_cmd_linux): Check if kernel is relocatable.
443 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
444 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
445 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
446 avoid_efi_boot_services.
447 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
448 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
449 (linux_kernel_params): Likewise.
450
3935dde2
MG
4512012-03-03 Matthew Garrett <mjg@redhat.com>
4522012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
453
454 Use EDID on EFI.
455
456 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
457 datasize_out.
458 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
459 modes. Set gop_handle.
460 (grub_video_gop_get_edid): New function.
461 (grub_gop_get_preferred_mode): Likewise.
462 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
463 (grub_video_efi_gop_adapter): Set .get_edid.
464 * include/grub/efi/edid.h: New file.
465 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
466
32107ec0
VS
4672012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * util/grub-install.in: Load efivars unconditionally.
470
e70a2c50
VS
4712012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
472
473 * po/Rules-piglatin: Change suffix from .po-update-en to
474 .po-update-en-piglatin.
475
8f9cace1
VS
4762012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
477
478 Add a pig farm.
479
480 * po/piglatin.sed: New file.
481 * po/en@piglatin.header: Likewise.
482 * po/Rules-piglatin: Likewise.
483 * po/README: Add en@piglatin to autogenerated languages.
484
8f95d002
VS
4852012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
486
487 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
488 "Command for ...".
489 * grub-core/commands/hdparm.c (options): Use "Display" rather than
490 "Check" since we don't check anything.
491 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
492 is 64-bit one.
493 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
494 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
495 (grub_md_sha512_real): Likewise.
496
805a8dcc
VS
4972012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
498
499 * grub-core/commands/gptsync.c: Fix typographic quoting.
500 * grub-core/commands/ieee1275/suspend.c: Likewise.
501 * grub-core/commands/parttool.c: Likewise.
502 * grub-core/commands/search_wrap.c: Likewise.
503 * grub-core/commands/videoinfo.c: Likewise.
504 * grub-core/gfxmenu/gui_label.c: Likewise.
505 * grub-core/hello/hello.c: Likewise.
506 * grub-core/kern/emu/main.c: Likewise.
507 * grub-core/net/net.c: Likewise.
508 * grub-core/normal/menu.c: Likewise.
509 * grub-core/normal/menu_text.c: Likewise.
510 * grub-core/normal/misc.c: Likewise.
511 * util/grub-editenv.c: Likewise.
512 * util/grub-install.in: Likewise.
513 * util/grub-kbdcomp.in: Likewise.
514 * util/grub-mkconfig.in: Likewise.
515 * util/grub-mknetdir.in: Likewise.
516 * util/grub-mkrescue.in: Likewise.
517 * util/grub-mkstandalone.in: Likewise.
518 * util/grub-reboot.in: Likewise.
519 * util/grub-set-default.in: Likewise.
520 * util/grub-setup.c: Likewise.
521 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
522
40211ab8
VS
5232012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
524
525 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
526 * grub-core/commands/keystatus.c: Likewise.
527 * grub-core/commands/loadenv.c: Likewise.
528 * grub-core/commands/probe.c: Likewise.
529 * grub-core/commands/regexp.c: Likewise.
530 * grub-core/commands/true.c: Likewise.
531 * grub-core/commands/videoinfo.c: Likewise.
532 * grub-core/disk/cryptodisk.c: Likewise.
533 * grub-core/disk/ldm.c: Likewise.
534 * grub-core/disk/loopback.c: Likewise.
535 * grub-core/disk/luks.c: Likewise.
536 * grub-core/fs/zfs/zfsinfo.c: Likewise.
537 * grub-core/kern/disk.c: Likewise.
538 * grub-core/kern/emu/hostdisk.c: Likewise.
539
0c7d99c7
VS
5402012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
541
542 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
543 * util/grub-install.in: Add missing quote in the comment.
544
e7d2559b
VS
5452012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
546
547 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
548 * grub-core/commands/lsmmap.c: Likewise.
549 * grub-core/commands/minicmd.c: Likewise.
550 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
551 * grub-core/commands/regexp.c: Likewise.
552 * grub-core/gdb/gdb.c: Likewise.
553 * grub-core/term/gfxterm.c: Likewise.
554 * util/grub-mkconfig.in: Likewise.
555 * util/grub-mkfont.c: Likewise.
556 * util/grub-mklayout.c: Likewise.
557 * util/grub-mknetdir.in: Likewise.
558 * util/grub-mkrescue.in: Likewise.
559 * util/grub.d/30_os-prober.in: Likewise.
560
49ce9e50
VS
5612012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
562
563 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
564 with "Direct color" and "Packed" with "Packed pixel".
565 (grub_cmd_videoinfo): Simplify legend.
566
e4b791fa
VS
5672012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
568
569 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
570 absolutely unclear error message.
571
fd1265cb
VS
5722012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
573
574 * util/grub-mkstandalone.in: Remove confusing leftover print.
575
8822a8a0
VS
5762012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
577
578 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
579 comments.
580 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
581 (GRUB_MOD_INIT): Likewise.
582 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
583 VGA mode.
584 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
585 comments.
586 * util/grub-install.in (usage): Likewise.
587 Spell ID in whole letters.
588 Add missing ending dot.
589 Quote variables.
590 * util/grub-reboot.in: Fix capitalisation.
591 * util/grub-set-default.in: Likewise.
592
937fd0cc
VS
5932012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
594
595 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
596 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
597 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
598 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
599 Disable -Werror for -Wdeprecated-declarations.
600 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
601 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
602 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
603 (grub_util_get_grub_dev): Make luks handling dependent on
604 HAVE_DEVICE_MAPPER and not __linux__.
605 (get_win32_path): Fix format security.
606 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
607 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
608 Don't try grub_find_zpool_from_dir.
609 (grub_make_system_path_relative_to_its_root) [!__linux__]:
610 #ifdef-out paresdir.
611
1bab1ae3
VS
6122012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
613
614 * util/grub-pe2elf.c (usage): Add missing noreturn.
615 (write_section_data): Rename name to shname to avoid shadowing.
616 (write_symbol_table): Rename name to symname to avoid shadowing.
617 Fix write_reloc_section call.
618
ef023e42
VS
6192012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
620
621 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
622 to ensure that it's after the last byte of .text.
623
48afcb75
VS
6242012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
625
626 * util/ieee1275/ofpath.c (my_isdigit): New function.
627 (trailing_digits): Use my_isdigit.
628 (strip_trailing_digits): Likewise.
629
88d51eff
VS
6302012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
633 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
634
17edc2ba
VS
6352012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
636
637 * grub-core/kern/i386/pc/startup.S: Define __start.
638
ad5518d7
VS
6392012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
642 strip already transforms he format.
643
9e95e1bf
VS
6442012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
645
646 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
647
9cc3ee5c
VS
6482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
649
650 * util/grub-install.in: Add missing gettext init.
651 * util/grub-kbdcomp.in: Likewise.
652 * util/grub-mkconfig.in: Likewise.
653 * util/grub-mknetdir.in: Likewise.
654 * util/grub-mkrescue.in: Likewise.
655 * util/grub-mkstandalone.in: Likewise.
656 * util/grub-reboot.in: Likewise.
657 * util/grub-set-default.in: Likewise.
658 * util/grub.d/00_header.in: Likewise.
659 * util/grub.d/10_hurd.in: Likewise.
660 * util/grub.d/10_windows.in: Likewise.
661 * util/grub.d/30_os-prober.in: Likewise.
662 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
663
49e08a06
VS
6642012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
665
666 * po/Rules-swiss: Fix header comment.
667
3809cb41
AV
6682012-02-29 Andreas Vogel <anvoit>
669
670 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
671 resulted in leak of arguments.
672
fa6ec573
VS
6732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
674
675 * grub-core/boot/i386/pc/startup_raw.S: Use separate
676 reed_solomon_size const definition instead of computing it since
677 Apple assembler doesn't support the later.
678
22899b9c
VS
6792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
680
681 * gentpl.py (kernel): Rewrite Apple part.
682
a132afc3
VS
6832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
684
685 * include/grub/kernel.h (FOR_MODULES): Check module magic.
686
9d742bd4
VS
6872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
688
689 * util/grub-mkimagexx.c (locate_sections): Support non-standard
690 ELF section gap.
691 (load_image): Likewise.
692
f04a9a21
VS
6932012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * configure.ac: Fix a typo in previous commit.
696
46cf439c
VS
6972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
698
699 Don't add -Wl,-N on Apple platform.
700
701 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
702 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
703
c4c48c54
VS
7042012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
705
706 * grub-core/Makefile.core.def (lzma_decompress): Use
707 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
708
31a12124
VS
7092012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
710
711 * grub-core/genmod.sh.in: Rewrite the Apple part.
712
4f3aa1af
VS
7132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
714
715 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
716 comparison.
717
7bd8b0c7
VS
7182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
719
720 * acinclude.m4 (grub_CHECK_PIC): New test.
721 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
722
97304d7c
VS
7232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
724
725 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
726 to avoid the warning.
727
fb883812
VS
7282012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
729
730 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
731 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
732 after. All users updated.
733
a121c964
VS
7342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
735
736 Use the common size routine in hostfs so we can read disks as well.
737
738 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
739 (grub_util_get_fd_size): ... this. Return size in bytes.
740 All users updated.
741 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
742 grub_util_get_fd_size.
743
c66d6410
VS
7442012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
745
746 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
747 Add blocksize retrieval.
748
dfc8aeb0
VS
7492012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
750
751 * configure.ac: Restore CFLAGS after efiemu check.
752
403e25a5
VS
7532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
756 Apple bug.
757
382775d1
VS
7582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
759
760 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
761
6fd4e6e4
VS
7622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
763
764 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
765 (grub_cmd_halt): Likewise.
766
bea359d6
VS
7672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
768
769 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
770 for local arithmetics.
771 Break %sp init into 2 instructions.
772 Add 0 byte at the end.
773
32eb6ee1
VS
7742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * grub-core/disk/diskfilter.c (read_segment): Initialise err
777 before loops.
778
e8377389
VS
7792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
780
781 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
782 for context.
783
8cb17de7
VS
7842012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
785
786 * grub-core/disk/ldm.c (make_vg): Init part.name.
787 (grub_ldm_detect): Silence spurious warning.
788 (grub_util_is_ldm): Likewise.
789
595717e6
VS
7902012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
791
792 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
793 sane value to avoid a spurious warning.
794
c4b7e588
VS
7952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
796
797 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
798 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
799
59824957
VS
8002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
801
802 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
803 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
804
70115b99
VS
8052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
806
807 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
808 hardcoding the relevant info.
809
56733740
VS
8102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
811
812 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
813 missing const qualifiers.
814 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
815
43481481
VS
8162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * util/getroot.c [__APPLE__]: Add missing includes.
819 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
820
3cb38f01
VS
8212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * util/grub-mkimage.c (generate_image): Silence spurious warning.
824
d9dbf11e
VS
8252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
828 avoid conflicts.
829
0c42a45d
VS
8302012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
833
46c34eb0
VS
8342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
835
836 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
837 and grub_file_close call.
838
99ce1597
VS
8392012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
840
841 Add LZSS Mach-O support (needed for new xnu kernelcache).
842
843 * grub-core/Makefile.core.def (xnu): Add file lzss.c
844 * grub-core/loader/lzss.c: New file.
845 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
846 on Mach-O open failure.
847 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
848 Don't free cmdsXX in uncompressedXX is set.
849 (grub_macho_file): Init new fields.
850 New argument is_64bit. All users updated.
851 Handle compressed. Error out if no suitable architecture is found.
852 Don't close file.
853 (grub_macho_open): New argument is_64bit. All users updated.
854 * grub-core/loader/macho32.c: Add defines for new fields.
855 * grub-core/loader/macho64.c: Likewise.
856 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
857 (grub_macho_parse): Handle compressed.
858 Defer actual processing if compressed.
859 (grub_macho_cmds_iterate): Decompress if compressed. New argument
860 "filename". All users updated.
861 (grub_macho_size): New argument "filename". All users updated.
862 (grub_macho_get_entry_point): Likewise.
863 (grub_macho_load): Handle compressed.
864 * include/grub/macho.h (grub_macho_lzss_header): New struct.
865 (GRUB_MACHO_LZSS_OFFSET): New define.
866 (grub_decompress_lzss): New proto.
867 * include/grub/machoload.h (grub_macho_file): New fields to handle
868 compressed.
869 (grub_macho_contains_macho64): Remove proto.
870 (grub_macho_contains_macho32): Likewise.
871 * util/grub.d/30_os-prober.in: Use kernel cache if available.
872
ebd17d6f
VS
8732012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
874
875 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
876
2702b4e4
VS
8772012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
878
879 Fix make dist.
880
881 * Makefile.am (starfield_theme_files): New var.
882 (starfield_DATA): Use starfield_theme_files.
883 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
884 Add bootcheck-related files.
885 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
886 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
887 and font_char_metrics.txt.
888 * grub-core/Makefile.core.def (kernel): Update extra_dist.
889 (setjmp): Add lib/ia64/longjmp.S.
890 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
891 * po/POTFILES.in: Regenerate.
892 * po/Rules-swiss: use DISTFILES.common.extra2 and not
893 DISTFILES.common.extra1.
894 * util/devicemap.c: Removed.
895 * grub-core/lib/i386/relocator_backward.S: Likewise.
896 * util/import_gcry.py: Remove unused files. Add extra_dist for
897 ChangeLog.
898
cf1adfdf
VS
8992012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
900
901 * grub-core/gettext/gettext.c (grub_mofile_open): Call
902 grub_gettext_delete_list before changing grub_gettext_max to avoid
903 running out of array bounds.
904
9052012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
906
907 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
908 grub_vga_text_init/grub_vga_text_fini.
909
cf1adfdf 9102012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
911
912 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
913
541d92e9
VS
9142012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
915
916 * configure.ac: Bump to 2.00~beta0.
917
7931dddf
VS
9182012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
919
920 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
921 missing initialisation.
922
f1b16fa3
VS
9232012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
924
925 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
926
83ddae23
VS
9272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
928
929 Support v2 xnu boot arguments.
930
931 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
932 New argument fsbfreq_out.
933 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
934 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
935 be used.
936 * grub-core/loader/machoXX.c (grub_macho_load): New argument
937 darwin_version.
938 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
939 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
940 (grub_xnu_boot_params): Rename to ...
941 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
942 (grub_xnu_boot_params_v2): New struct.
943
dc693fe6
VS
9442012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
945
946 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
947 zeroing of CRC field before computing CRC.
948
5a6e39c2
VS
9492012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
950
951 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
952 Change order of allocations to decrease fragmentation.
953
6c21f5d7
VS
9542012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
955
956 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
957
cfe456dc
CW
9582012-02-27 Colin Watson <cjwatson@ubuntu.com>
959
960 Use write-combining MTRR to speed up video with buggy BIOSes.
961
962 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
963 (cpuid): New define.
964 (rdmsr): Likewise.
965 (wrmsr): Likewise.
966 (mtrr_base): Likewise.
967 (mtrr_mask): Likewise.
968 (grub_vbe_enable_mtrr_entry): New function.
969 (grub_vbe_enable_mtrr): Likewise.
970 (grub_vbe_disable_mtrr): Likewise.
971 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
972 control off to BIOS.
973 (grub_video_vbe_init): Fill mtrr.
974 (grub_video_vbe_fini): Disable mtrr.
975 (grub_video_vbe_get_info_and_fini): Likewise.
976 (grub_video_vbe_setup): Enable mtrr.
977
e3c78337
CW
9782012-02-27 Colin Watson <cjwatson@ubuntu.com>
979
980 * include/grub/partition.h (grub_partition_map): Change prototype of
981 embed to take a maximum value for nsectors.
982 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
983 * include/grub/fs.h (grub_fs): Likewise.
984 * grub-core/partmap/msdos.c (embed_signatures): New array.
985 (pc_partition_map_embed): Check for and avoid sectors matching any
986 of the signatures in embed_signatures, up to max_nsectors.
987 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
988 returned sector map to max_nsectors.
989 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
990 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
991 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
992 * util/grub-setup.c (setup): Allow for the embedding area being
993 split into multiple blocklists. Tell dest_partmap->embed the
994 maximum number of sectors we care about.
995
9962012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
997
998 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
999 Specify blocklist_install and reserver_first_sector for all fs.
1000 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
1001 blocklists.
1002
984b973f
VS
10032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1004
1005 * util/grub-install.in: Clarify strings.
1006 Fix source dir check.
1007
f122e0d6
RL
10082012-02-27 Richard Laager <rlaager@wiktel.com>
1009
1010 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
1011 "zfs" and "fuse.zfs" as synonyms.
1012
071114bb
VS
10132012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1014
1015 * configure.ac: Put platform and target_cpu substitutions back since
1016 they are used for directories.
1017
817e6abc
RL
10182012-02-27 Richard Laager <rlaager@wiktel.com>
10192012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1020
1021 * util/grub.d/10_linux.in: Add ZFS-related arguments.
1022 * util/grub.d/20_linux_xen.in: Likewise.
1023
897b7419
RL
10242012-02-27 Richard Laager <rlaager@wiktel.com>
1025
1026 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
1027 with full paths.
1028
a414bd15
RL
10292012-02-27 Richard Laager <rlaager@wiktel.com>
1030
1031 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
1032 unescape.
1033
30ac48c4
VS
10342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 Don't use insecure popen in getroot.
1037
1038 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
1039 (exec_pipe): ... here.
1040 (find_root_devices_from_poolname): Use exec_pipe.
1041
53f13848
VS
10422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 Remove platform and target_cpu replacement.
1045
1046 * configure.ac: Remove platform and target_cpu substitutions.
1047 * tests/util/grub-shell.in: Use modinfo.
1048 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
1049 explicitly.
1050
90cb2803
VS
10512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 Autodetect platform in grub-install but allow override.
1054
1055 * util/grub-install.in: Autodetect platform. Support --target and
1056 --directory. Read platform from modinfo.sh.
1057
b9136427
VS
10582012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 Support btrfs multi-volume probe.
1061
1062 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
1063 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
1064 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
1065 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
1066 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
1067 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
1068 grub_find_root_devices_from_btrfs if on btrfs.
1069
c36e5cd1
VS
10702012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1071
1072 Remove any awareness of *.c util files about target.
1073
1074 * Makefile.util.def (grub-setup): Split to ...
1075 (grub-bios-setup): ... and this.
1076 (grub-sparc64-setup): ... and this.
1077 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
1078 * docs/man/grub-setup.h2m: Split into ...
1079 * docs/man/grub-sparc64-setup.h2m: ... this.
1080 * docs/man/grub-bios-setup.h2m: ... and this.
1081 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
1082 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
1083 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
1084 (grub_target_addr_t): Remove.
1085 (grub_target_size_t): Remove.
1086 (grub_target_ssize_t): Remove.
1087 * util/grub-install.in: Use new grub-*-setup.
1088 * util/grub-mkimagexx.c (Elf_Word): New define.
1089 (Elf_Half): Likewise.
1090 (Elf_Section): Likewise.
1091 (ELF_ST_TYPE): Likewise.
1092 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
1093 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
1094
584b2f8a
VS
10952012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 Replace grub_target_addr with more appropriate types.
1098
1099 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
1100 grub_target_addr with grub_addr.
1101 * grub-core/commands/iorw.c (grub_cmd_read): Replace
1102 grub_target_addr with grub_port.
1103 (grub_cmd_write): Likewise.
1104 * grub-core/commands/memrw.c (grub_cmd_read): Replace
1105 grub_target_addr with grub_addr.
1106 (grub_cmd_write): Likewise.
1107 * grub-core/video/efi_uga.c (find_line_len): Likewise.
1108
5a0dc6fb
VS
11092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1110
1111 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
1112 const qualifier for vendor_guid.
1113
786aff6e
VS
11142012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1115
1116 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
1117 const qualifier.
1118 (efiemu_memequal): Likewise.
1119 (find_variable): Likewise.
1120
49017b17
VS
11212012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 Fix missing console prototype on qemu-mips.
1124
1125 * include/grub/mips/qemu_mips/console.h: New file.
1126
c5988629
MG
11272012-02-27 Matthew Garrett <mjg@redhat.com>
11282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
1131 * include/grub/efi/efi.h: Likewise.
1132 * include/grub/efi/api.h: Add guid for EFI-specified variables.
1133 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
1134 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
1135 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
1136 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
1137 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
1138
e33f8d69
MG
11392012-02-27 Matthew Garrett <mjg@redhat.com>
1140
1141 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
1142
fb312cd9
VS
11432012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
1146 error.
1147
7134247c
VS
11482012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * configure.ac: Remove inappropriate use of program_transform_name
1151 on grubdir and bootdir but allow explicit specification of those
1152 variables.
1153
6a313124
VS
11542012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1155
1156 * util/grub-mknetdir.in (grub_prefix): Removed.
1157 (subdir): Use @bootdirname@ and @grubdirname@.
1158
2311c5ca
VS
11592012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1160
1161 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
1162
7d5d60f7
VS
11632012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1164
1165 * po/POTFILES.in: Regenerated.
1166
8151bc82
VS
11672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 Remove improper use of program_transform_name on pkglibrootdir.
1170
1171 * configure.ac (pkglibrootdir): Removed.
1172 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
1173 * util/grub-mkimage.c: Likewise.
1174
b4a6a533
VS
11752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
1178 warning.
1179
668f304f
VS
11802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1181
1182 * util/grub-install.in: Use file identifier if no UUID is available
1183 or user explicitly prompted for it.
1184
665f2341
NP
11852012-02-27 Navdeep Parhar <nparhar@gmail.com>
1186
1187 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
1188 (freebsd_get_zfs): New function.
1189 (grub_freebsd_boot): Pass zfs UUID.
1190 (grub_cmd_freebsd): Set zfs UUID.
1191
8151bc82 11922012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
1193
1194 * conf/Makefile.common (platformdir): Base on pkglibdir and not
1195 pkglibrootdir.
1196
e4c498a1
MG
11972012-02-27 Mike Gilbert <floppym@gentoo.org>
1198
1199 Add configure flag to control libzfs integration.
1200
1201 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
1202
1e9a9a3f
VS
12032012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1204
1205 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
1206 device.
1207 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
1208 small devices.
1209
036985b8
VS
12102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 Remove grub_{modname}_init and grub_{modname}_fini. They should never
1213 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
1214 be used on non-modules.
1215
1216 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
1217 Rename to grub_boot_init.
1218 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
1219 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
1220 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
1221 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
1222 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
1223 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
1224 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
1225 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
1226 includes.
1227 (grub_machine_init): Remove empty inits.
1228 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
1229 includes.
1230 (grub_machine_init): Remove empty inits.
1231 * grub-core/term/arc/console.c: Remove explicit proto.
1232 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
1233 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
1234 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1235 grub_at_keyboard_fini.
1236 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
1237 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
1238 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1239 grub_gfxterm_fini.
1240 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
1241 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
1242 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1243 grub_vgatext_fini.
1244 * grub-core/term/ieee1275/console.c: Remove explicit proto.
1245 * grub-core/term/serial.c (GRUB_MOD_INIT)
1246 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
1247 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1248 grub_serial_fini.
1249 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
1250 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
1251 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1252 grub_terminfo_fini.
1253 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
1254 (GRUB_MOD_FINI): Likewise.
1255 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
1256 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
1257 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1258 grub_video_radeon_fuloong2e_fini.
1259 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
1260 [LOONGSON]: Rename to grub_video_sis315pro_init.
1261 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1262 grub_video_sis315pro_fini.
1263 * grub-core/video/sm712.c (GRUB_MOD_INIT)
1264 [LOONGSON]: Rename to grub_video_sm712_init.
1265 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1266 grub_video_sm712_fini.
1267 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
1268 (grub_at_keyboard_fini): Likewise.
1269 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
1270 Don't declare grub_{modname}_init.
1271 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
1272 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
1273 New proto.
1274 (grub_keylayouts_fini) [!EMU]: Likewise.
1275 * include/grub/serial.h (grub_serial_init) [!EMU]:
1276 New proto.
1277 (grub_serial_fini) [!EMU]: Likewise.
1278 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
1279 New proto.
1280 (grub_terminfo_fini) [!EMU]: Likewise.
1281 * include/grub/video.h (grub_font_init) [!EMU]:
1282 New proto.
1283 (grub_font_fini) [!EMU]: Likewise.
1284 (grub_gfxterm_init) [!EMU]: Likewise.
1285 (grub_gfxterm_fini) [!EMU]: Likewise.
1286 (grub_video_sm712_init) [!EMU]: Likewise.
1287 (grub_video_sm712_fini) [!EMU]: Likewise.
1288 (grub_video_sis315pro_init) [!EMU]: Likewise.
1289 (grub_video_sis315pro_fini) [!EMU]: Likewise.
1290 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
1291 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
1292
d5534665
VS
12932012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1294
1295 Make nand a prefix for nand devices.
1296
1297 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
1298
10133b5f
VS
12992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1300
1301 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
1302 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
1303
8e307a62
VS
13042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1305
1306 * include/grub/env.h (grub_env_find): Remove prototype.
1307 * grub-core/kern/env.c (grub_env_find): Make static.
1308 (grub_env_set): Remove useless set.
1309
a4c65f34
VS
13102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * grub-core/kern/i386/realmode.S: Remove useless align.
1313
d87893d5
VS
13142012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1315
1316 * include/grub/dl.h (grub_dl_load_file): Don't export.
1317
50159add
VS
13182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1319
1320 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
1321 grub_dprintf.
1322
b2582b84
VS
13232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1324
1325 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
1326 grub_errors.
1327 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
1328 not reloading whole superblock but only the part which is really needed.
1329 Remove useless grub_errors.
1330 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
1331 grub_errors.
1332
e2a83395
VS
13332012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 Don't export grub_get_rtc.
1336
1337 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
1338 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
1339
e7d2a906
VS
13402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1341
1342 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
1343
6cf1363b
VS
13442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 1347 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 1348
eece3349
VS
13492012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 Remove prio_list.
1352
1353 * include/grub/list.h (grub_prio_list): Removed.
1354 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
1355 GRUB_COMMAND_PRIO_MASK.
1356 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
1357 GRUB_COMMAND_FLAG_ACTIVE.
1358 (grub_prio_list_insert): Removed.
1359 (grub_prio_list_remove): Likewise.
1360 (GRUB_AS_PRIO_LIST): Likewise.
1361 (GRUB_AS_PRIO_LIST_P): Likewise.
1362 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
1363 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
1364 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
1365 * grub-core/kern/command.c (grub_register_command_prio): Inline
1366 the prio_list code.
1367 (grub_unregister_command): Likewise.
1368
94f064b4
VS
13692012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1370
1371 Fix interrupt mixup from previous commit.
1372
1373 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
1374 (grub_realidt): New var.
1375 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
1376 Load idt.
1377 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
1378 New declaration.
1379 (grub_relocator16_boot): Set grub_relocator16_idt.
1380 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
1381 (LOCAL(realidt)): ... this.
1382 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
1383 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
1384 (grub_realidt): New variable.
1385
27317084
VS
13862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
1389 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
1390 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
1391 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
1392 Gettextize.
1393 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
1394 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
1395 * po/POTFILES.in: Regenerate.
1396
47b40053
VS
13972012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1398
1399 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
1400 errors.
1401
2b343101
VS
14022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1403
1404 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
1405 \0.
1406 (add_length): Likewise.
1407
ff27c3dd
LK
14082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
14092012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
1410
1411 GDB serial and backtrace support.
1412
1413 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
1414 (prot_to_real): Likewise.
1415 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
1416 * grub-core/Makefile.core.def (backtrace): New module.
1417 (gdb): Likewise.
1418 * grub-core/gdb/cstub.c: New file.
1419 * grub-core/gdb/gdb.c: Likewise.
1420 * grub-core/gdb/i386/idt.c: Likewise.
1421 * grub-core/gdb/i386/machdep.S: Likewise.
1422 * grub-core/gdb/i386/signal.c: Likewise.
1423 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 1424 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
1425 * include/grub/backtrace.h: Likewise.
1426 * include/grub/gdb.h: Likewise.
1427 * include/grub/i386/gdb.h: Likewise.
1428
14292012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
1430
1431 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
1432 New function.
1433 (add_length): Likewise.
1434 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
1435 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
1436 proto.
1437 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
1438 __argp_get_display_len.
1439
ff27c3dd 14402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
1441
1442 $"..." support in scripts.
1443
1444 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
1445 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
1446 * grub-core/script/yylex.l: Likewise.
1447 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
1448 value.
1449
ff27c3dd 14502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
1451
1452 * gentpl.py: Remove obsolete pkglib_DATA handling.
1453
ff27c3dd 14542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
1455
1456 Don't transform PACKAGE_TARNAME following a discussion on autoconf
1457 mailing list.
1458
1459 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
1460 * util/grub-kbdcomp.in: Likewise.
1461 * util/grub-mkconfig.in: Likewise.
1462 * util/grub-mkconfig_lib.in: Likewise.
1463 * util/grub-mknetdir.in: Likewise.
1464 * util/grub-mkrescue.in: Likewise.
1465 * util/grub-mkstandalone.in: Likewise.
1466 * util/grub-reboot.in: Likewise.
1467 * util/grub-set-default.in: Likewise.
1468 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1469
ff27c3dd 14702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
1471
1472 Remove GRUB_PREFIX.
1473
1474 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
1475 * util/grub.d/00_header.in: Compute prefix in the only place it's still
1476 used for backward compatibility.
1477
ff27c3dd 14782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
1479
1480 Add new all_video module.
1481
1482 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
1483 * grub-core/Makefile.core.def (all_video): New module.
1484 * grub-core/genmoddep.awk: Generate dependency of all_video from
1485 video.lst.
1486 * grub-core/lib/fake_module.c: New file.
1487 * grub-core/normal/main.c (features): Add feature_all_video_module.
1488 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
1489 don't do explicit search again.
47454da5 1490 insmod all_video in load_video if available.
22c7ce85 1491
ff27c3dd 14922012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
1493
1494 Another round of string clarification and adding TRANSLATORS comments.
1495
ff27c3dd 14962012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
1497
1498 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
1499
ff27c3dd 15002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
1501
1502 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
1503 to grub_ssize_t.
1504 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
1505 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
1506
ff27c3dd 15072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
1508
1509 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
1510 trailing newline implicitly. All users updated.
1511
ff27c3dd 15122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
1513
1514 Implement serial on IEEE1275 and EFI.
1515
1516 * docs/grub.texi (Platform-specific limitations): Fix the columen video
1517 on emu. Mention arc and emu as the only platforms without serial
1518 support.
1519 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
1520 ieee1275 platforms.
1521 * grub-core/term/efi/serial.c: New file.
1522 * grub-core/term/ieee1275/serial.c: Likewise.
1523 * grub-core/term/serial.c (grub_serial_find): Disable direct port
1524 specification if no ns8250 driver is available.
1525 (grub_cmd_serial): Likewise.
1526 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
1527 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
1528 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
1529 (grub_efi_parity_type_t): New type.
1530 (grub_efi_stop_bits_t): Likewise.
1531 (grub_efi_serial_io_interface): New struct.
1532 * include/grub/serial.h (grub_serial_port): Make 'broken' field
1533 available for all interfaces.
1534 Add EFI and IEEE1275 fields.
1535 (grub_ofserial_init): New proto.
1536 (grub_efiserial_init): Likeiwse.
1537 * util/grub.d/00_header.in: Don't check for the presence of serial
1538 module.
1539
ff27c3dd 15402012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
1541
1542 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
1543 name as if it was an alias.
1544
114076ef
VS
15452012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1546
1547 * grub-core/commands/lsacpi.c (options): Fix typo.
1548
6a656b0e
VS
15492012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1550
1551 Convert grub-emu to argp.
1552
1553 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
1554 emu.
1555 * util/argp_common.c: Rename to ...
1556 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
1557 Add missing includes.
1558 * grub-core/kern/emu/main.c: Convert to argp.
1559 * po/POTFILES.in: Regenerate.
1560 * util/grub-install.in (usage): Make first letter lowcase in messages
1561 for uniformity.
1562 * util/grub-setup.c (options): Likewise.
1563
1e3f8ae8
VS
15642012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1565
1566 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
1567 Put back accidently commented-out code.
1568
ed167a80
VS
15692012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
1572 loop check using Brent algorithm.
1573 (grub_hfsplus_btree_search): Likewise.
1574
6753c0ec
VS
15752012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1576
1577 * util/grub-install.in: Fix usage of wrong device for PreP install.
1578
4e27343f
VS
15792012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1580
1581 * conf/Makefile.common (CFLAGS_GNULIB): Add
1582 -Wno-unsafe-loop-optimizations.
1583 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
1584 on tools.
1585 * grub-core/commands/legacycfg.c: Add pragma to skip
1586 -Wunsafe-loop-optimizations.
1587 (check_password_md5_real): Fix loop counter type.
1588 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
1589 reading.
1590 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
1591 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
1592 loop condition.
1593 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
1594 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
1595 * grub-core/net/net.c (grub_net_route_address): Add safety loop
1596 condition.
1597 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
1598 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
1599 avoid possible infinite loops.
1600 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
1601 and -Wunsafe-loop-optimizations.
1602 * grub-core/script/yylex.l: Likewise.
1603 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
1604 (print_glyphs): Avoid infinite loops.
1605 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
1606
697f18b0
GS
16072012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
1608
1609 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
1610 to avoid infinite loop.
1611 (disp_acpi_rsdt_table): Likewise.
1612
274416e8
VS
16132012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1614
1615 * grub-core/font/font.c (grub_font_load): Add support for default
1616 path for fonts ($prefix/fonts).
1617 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
1618 for checking if string is a path.
1619 * grub-core/normal/main.c (features): Add feature_default_font_path.
1620 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
1621 * util/grub.d/00_header.in: Use default directory if possible.
1622 * util/grub-install.in: Install unicode.pf2.
1623
b3e08622
VS
16242012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1625
1626 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
1627 * po/Rules-swiss: New file.
1628 * po/swiss.sed: Likewise.
1629
fe42ce09
VS
16302012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
1631
1632 * grub-core/fs/btrfs.c (find_device): Fix typos.
1633 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
1634 * util/grub-mkrelpath.c (argp_parser): Likewise.
1635 Reported by: Yuri Chornoivan.
1636
72f1d065
DO
16372012-02-23 Dalet Omega <daletomega@gmail.com>
1638
1639 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
1640 for usual informative messages.
1641
c5884973
DO
16422012-02-23 Dalet Omega <daletomega@gmail.com>
1643
1644 Starfield theme.
1645
1646 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
1647 * conf/Makefile.common: Define starfielddir.
1648 * configure.ac: Configure starfield.
1649 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
1650 * themes/starfield/README: Likewise.
1651 * themes/starfield/blob_w.png: Likewise.
1652 * themes/starfield/boot_menu_c.png: Likewise.
1653 * themes/starfield/boot_menu_e.png: Likewise.
1654 * themes/starfield/boot_menu_n.png: Likewise.
1655 * themes/starfield/boot_menu_ne.png: Likewise.
1656 * themes/starfield/boot_menu_nw.png: Likewise.
1657 * themes/starfield/boot_menu_s.png: Likewise.
1658 * themes/starfield/boot_menu_se.png: Likewise.
1659 * themes/starfield/boot_menu_sw.png: Likewise.
1660 * themes/starfield/boot_menu_w.png: Likewise.
1661 * themes/starfield/slider_c.png: Likewise.
1662 * themes/starfield/slider_n.png: Likewise.
1663 * themes/starfield/slider_s.png: Likewise.
1664 * themes/starfield/src/blob_nw.xcf: Likewise.
1665 * themes/starfield/src/bootmenu/: Likewise.
1666 * themes/starfield/src/bootmenu/center.xcf: Likewise.
1667 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
1668 * themes/starfield/src/bootmenu/side.xcf: Likewise.
1669 * themes/starfield/src/slider_c.xcf: Likewise.
1670 * themes/starfield/src/slider_n.xcf: Likewise.
1671 * themes/starfield/src/slider_s.xcf: Likewise.
1672 * themes/starfield/src/terminalbox/: Likewise.
1673 * themes/starfield/src/terminalbox/center.xcf: Likewise.
1674 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
1675 * themes/starfield/src/terminalbox/side.xcf: Likewise.
1676 * themes/starfield/starfield.png: Likewise.
1677 * themes/starfield/terminal_box_c.png: Likewise.
1678 * themes/starfield/terminal_box_e.png: Likewise.
1679 * themes/starfield/terminal_box_n.png: Likewise.
1680 * themes/starfield/terminal_box_ne.png: Likewise.
1681 * themes/starfield/terminal_box_nw.png: Likewise.
1682 * themes/starfield/terminal_box_s.png: Likewise.
1683 * themes/starfield/terminal_box_se.png: Likewise.
1684 * themes/starfield/terminal_box_sw.png: Likewise.
1685 * themes/starfield/terminal_box_w.png: Likewise.
1686 * themes/starfield/theme.txt: Likewise.
1687
17d73325
VS
16882012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 * util/grub.d/00_header.in: Add missing export theme.
1691
dbebaf92
VS
16922012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1693
1694 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
1695 already included.
1696 Reported by: Eren D.
1697
3d68bffb
VS
16982012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 * conf/Makefile.common (grubdatadir): Removed.
1701 (Makefile.am): Move eveything grubdata to pkgdata.
1702
4b59234d
VS
17032012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * grub-core/commands/acpihalt.c (get_sleep_type):
1706 Remove unused variable.
1707
463dcadc
VS
17082012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1709
1710 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
1711 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
1712 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
1713 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
1714 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
1715 i18n with gettext no-op.
1716 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
1717 GRUB_ACPI_OPCODE_STRING_CONST.
1718 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
1719 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
1720
e5b90c82
VS
17212012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1722
1723 * po/POTFILES.in: Regenerate.
1724
2a704ca9
VS
17252012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1726
1727 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
1728 -Wno-error=missing-noreturn.
1729
84f9d341
VS
17302012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1731
1732 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
1733 condition to avoid possibly infinite loops.
1734 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
1735 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
1736
d46683f9
VS
17372012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1738
1739 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
1740 condition to avoid possibly infinite loops.
1741
c44866b2
VS
17422012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1743
1744 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
1745 on show_error.
1746
96790539
VS
17472012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1748
1749 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
1750
1ba7e295
VS
17512012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
1754
21ffe8f1
VS
17552012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1756
1757 * util/bin2h.c (usage): Add missing attribute noreturn.
1758
0ccb6b3c
VS
17592012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1760
1761 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
1762 if the size isn't divisible by 512.
1763
b00d7fb6
VS
17642012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1765
1766 Make list_push and list_remove functions rather than inline functions
1767 to decrease size and avoid aliasing violations.
1768
1769 * include/grub/list.h (grub_list_push): Move to ...
1770 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
1771 * include/grub/list.h (grub_list_remove): Move to ...
1772 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
1773
9d369087
VS
17742012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1775
1776 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
1777 and -Wunused-result.
1778
af0250d9
VS
17792012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
1780
1781 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
1782 Reported by: Seth Goldberg
1783
aad32b14
VS
17842012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
1785
1786 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
1787
ac96441c
ST
17882012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
1789
1790 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
1791 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
1792 command line.
1793 * docs/grub.texi (Simple configuration): Document
1794 GRUB_CMDLINE_GNUMACH.
1795
17962012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
1797
1798 * conf/Makefile.common (platform_SCRIPTS): New variable.
1799 (platform_PROGRAMS): Likewise.
1800 * gentpl.py: Mark *,module and *.image for install.
1801 * grub-core/gdb_grub.in: Add a notice of expected environment.
1802 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
1803 (gmodule.pl): Likewise.
1804
ac96441c 18052012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
1806
1807 Replace grub_checkkey with grub_getkey_noblock.
1808
1809 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
1810 (grub_getkey_noblock): ... this. All users updated.
1811
ac96441c 18122012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
1813
1814 * grub-core/kern/emu/console.c: Move to ...
1815 * grub-core/term/emu/console.c: ...here.
1816 (grub_ncurses_getkey): Fix return value if no key is detected.
1817
e51b5666
VS
18182012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1819
1820 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
1821 (grub_unit_test_fini): Likewise.
1822 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
1823
18242012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1825
1826 * include/grub/test.h (GRUB_UNIT_TEST)
1827
d9a62292
VS
18282012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1829
1830 * grub-core/script/execute.c (grub_script_break): Clarify logic.
1831 Better error handling.
1832 (grub_script_return): Likewise.
1833 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
1834
77c9182f
VS
18352012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1836
1837 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
1838 rimplicit redifinition.
1839
edb13cf9
VS
18402012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1841
1842 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
1843 GRUB.
1844
a9e9dc7c
VS
18452012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1846
1847 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
1848 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
1849 prompt here.
1850
b4ba8e02
VS
18512012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1852
1853 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
1854 as GRUB_ERR_BUG. Don't malloc if no device is available.
1855
dded5540
VS
18562012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1857
1858 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
1859 Mark calling with invalid term as GRUB_ERR_BUG.
1860
0cf69874
VS
18612012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1862
1863 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
1864 packets rather than raising an error.
1865
59bfe502
VS
18662012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1867
1868 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
1869 in if.
1870
db5fc596
VS
18712012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1872
1873 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
1874 diagnostic to dprintf.
1875 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1876
e4b7f404
VS
18772012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
1880 device name.
1881
e7b02f9e
VS
18822012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
1885 (grub_ntfs_iterate_dir): Likewise.
1886
0331e102
VS
18872012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1888
1889 Efiemu stylistic fixes and gettext.
1890
1891 * grub-core/efiemu/i386/loadcore32.c
1892 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
1893 * grub-core/efiemu/i386/loadcore64.c
1894 (grub_arch_efiemu_relocate_symbols64): Likewise.
1895 * grub-core/efiemu/i386/pc/cfgtables.c
1896 (grub_machine_efiemu_init_tables): Likewise.
1897 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
1898 (grub_efiemu_loadcore_initXX): Add a filename argument.
1899 All users updated.
1900 Improved error message.
1901 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
1902 Add a filename argument.
1903 All users updated.
1904 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
1905 Reclassify double relocation as GRUB_ERR_BUG.
1906
306fc074
VS
19072012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1908
1909 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
1910 handling.
1911
794d8ef2
VS
19122012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
1915 on partition.
1916
19172012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
1918
1919 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
1920
794d8ef2 19212012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
1922
1923 Improve string. Gettextize.
1924
78dde88e
VS
19252012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1926
1927 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
1928 utils.
1929 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
1930
4786a90f
VS
19312012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1932
1933 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
1934 [GRUB_UTIL]: New function.
1935 (insert_array) [GRUB_UTIL]: Store partmaps.
1936 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
1937 partmaps.
1938 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
1939 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
1940 (probe_abstraction): Print diskfilter and not raid.
1941 Reported by: Lennart Sorensen
1942
0b6225bd
VS
19432012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1944
1945 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
1946 * util/grub-mkimagexx.c (MASK3): New define.
1947 (add_value_to_slot_20b): Use MASK3.
1948 (add_value_to_slot_21): Likewise.
1949 (relocate_addresses): Fix format specification.
1950 (load_image): Explicitly init symtab_section.
1951
b055f8f6
VS
19522012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
1955 (grub_util_biosdisk_get_grub_dev): Fix format specification.
1956
b77c2fb7
VS
19572012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1958
1959 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
1960 on powerpc.
1961 Reported by: Lennart Sorensen
1962
e3ec28ab
VS
19632012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1964
1965 * gentpl.py: Add missing license header.
1966 * docs/grub.texi: Update copyright year.
1967
c8d9ead6
GS
19682012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
1969
1970 Source grub-mkconfig_lib from the build directory at build time.
1971 Suggested by: Vladimir Serbinenko.
1972
1973 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
1974 * util/grub-install.in: Define pkgdatadir if not already set, and source
1975 grub-mkconfig_lib from there.
1976 * util/grub-kbdcomp.in: Likewise.
1977 * util/grub-mkconfig.in: Likewise.
1978 * util/grub-mknetdir.in: Likewise.
1979 * util/grub-mkrescue.in: Likewise.
1980 * util/grub-mkstandalone.in: Likewise.
1981 * util/grub-reboot.in: Likewise.
1982 * util/grub-set-default.in: Likewise.
1983 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1984
ebcecdf1
VS
19852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 Increase warning level.
1988
1989 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
1990 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
1991 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
1992 (TARGET_CFLAGS): Likewise.
1993 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
1994 * grub-core/Makefile.core.def (decompressor_xz): Add
1995 -Wno-unreachable-code.
1996 (normal): Add -Wno-redundant-decls.
1997 (xzio): Add -Wno-unreachable-code.
1998 (lzopio): Add -Wno-redundant-decls -Wno-error.
1999 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
2000 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
2001 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
2002 * grub-core/kern/dl.c: Add exception to -Wcast-align.
2003 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
2004 * grub-core/kern/i386/coreboot/init.c: Add exception to
2005 -Wsuggest-attribute=noreturn.
2006 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
2007 * grub-core/kern/ia64/dl_helper.c: Likewise.
2008 * grub-core/kern/mips/dl.c: Likewise.
2009 * grub-core/kern/sparc64/dl.c: Likewise.
2010 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
2011 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
2012 (memcmp): Likewise.
2013 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
2014 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
2015 * grub-core/loader/mips/linux.c: Likewise.
2016 * grub-core/loader/multiboot_elfxx.c: Likewise.
2017 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
2018 * grub-core/video/sm712.c: Add exception to -Wcast-align.
2019 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
2020 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
2021 fixme.
2022 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
2023 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
2024 Fix prototype.
2025
37bb97fe
VS
20262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
2029 address.
2030
29a3550b
VS
20312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
2034 Avoid improper use of strings.
2035 (grub_cmd_legacy_initrdnounzip): Likewise.
2036
dfdffd0d
VS
20372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2038
2039 * include/grub/emu/misc.h (grub_util_warn): Add missing format
2040 attribute.
2041 (grub_util_info): Likewise.
2042 (grub_util_error): Likewise.
2043
102fae4a
VS
20442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2045
2046 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
2047 * util/grub-fstest.c (fstest): Likewise.
2048
7e94d044
VS
20492012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2050
2051 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
2052 (grub_md_sha512_real): Likewise.
2053 (grub_util_get_geli_uuid): Likewise.
2054 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
2055 (grub_util_biosdisk_open): Fix format specification.
2056 Respect format security.
2057 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
2058 (xrealloc): Likewise.
2059 (xasprintf): Likewise.
2060
5ebd9769
VS
20612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 * util/import_gcry.py: Include grub/crypto.h in init.c.
2064
495fc8c1
VS
20652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2066
2067 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
2068 (generate_image): Make prefix a const char *.
2069 Fix format specifications. Respect format security.
2070 Avoid void * arithmetics.
2071 Avoid shadowing.
2072 (argp_parser): Remove unused variable. Respect format security.
2073 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
2074 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
2075 (count_funcs): Remove unused variable.
2076 (relocate_addresses): Fix format specification.
2077 Disable x86-64 with elf32. Remove unused variables.
2078 (add_fixup_entry): Avoid shadowing.
2079 (make_reloc_section): Fix format specification.
2080 Use assert.
2081 (locate_sections): Fix format specifications.
2082 (load_image): Avoid shadowing.
2083
043c2ea3
VS
20842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
2087 Fix format specifications. Respect format security.
2088 Don't translate already translated grub_errmsg.
2089 (argp_parser): Remove unused variable
2090
3ec65a81
VS
20912012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
2094
a4d9fe4a
VS
20952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2096
2097 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
2098 (main): Likewise. Use xmalloc. Respect format security.
2099
15b81d49
VS
21002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2101
2102 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
2103 a const char *.
2104 (argp_parser): Remove unused variable.
2105
31731fc0
VS
21062012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2107
2108 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
2109 (add_pixel): Make static.
2110 (add_font): Likewise.
2111 (write_string_section): Make name and str a const char *.
2112 (write_be16_section): Make name a const char *.
2113 (print_glyphs): Make static.
2114 (write_font_ascii_bitmap): Likewise.
2115 (write_font_width_spec): Likewise.
2116 (write_font_pf2): Likewise.
2117 (argp_parser): Remove unused variable.
2118 Respect format security.
2119 (main): Avoid shadowing. Respect format security.
2120
0809527b
VS
21212012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2122
2123 * util/grub-editenv.c (argp_parser): Make static.
2124 (create_envblk_file): Use xmalloc.
2125 (open_envblk_file): Likewise.
2126 Resepect format security.
2127 (set_variables): Respect format security.
2128
45b0c8b7
VS
21292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 * util/getroot.c (grub_find_device): Respect format security.
2132 (get_mdadm_uuid): Remove unused variable.
2133 (grub_util_pull_device): Dont call gettext on already translated
2134 grub_errmsg.
2135 (find_system_device): Remove unused variable.
2136 (grub_util_get_grub_dev): Likewise.
2137 (grub_make_system_path_relative_to_its_root): Respect format security.
2138
1b024b4e
VS
21392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2140
2141 * util/grub-fstest.c (execute_command): Make first argument
2142 a const char *.
2143 (read_file): Avoid shadowing.
2144 Reuse underlying error message if device open fails.
2145 (cmd_cmp): Respect format security.
2146 (root): Make const char *.
2147 (fstest): Remove args argument and use global copy.
2148 Respect format security.
2149 (argp_parser): Make static.
2150 (main): Make default_root const char *.
2151
5d1d4e28
VS
21522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2153
2154 * util/grub-mount.c (root): Make const char *.
2155 (execute_command): Make first argument a const char *.
2156 (fuse_init): Respect format security.
2157 (argp_parser): Make static. Remove unused variable.
2158 (main): Make default_root a const char *.
2159 Respect format security.
2160
36eb7379
VS
21612012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2162
2163 * util/grub-probe.c (probe): Don't call gettext on already translated
2164 grub_errmsg.
2165 Remove unused variables.
2166 (argp_parser): Remove unused variable.
2167
76fb2ea9
VS
21682012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2169
2170 * util/grub-script-check.c (argp_parser): Remove unused variable.
2171 (main): Rename read to curread to avoid shadowing.
2172
56c98584
VS
21732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2174
2175 * util/misc.c (grub_util_write_image_at): Fix format specification.
2176 (grub_util_write_image): Likewise.
2177 (grub_script_execute_argument_to_string): Removed (unused).
2178 (grub_script_execute_menuentry): Likewise.
2179 (grub_putchar): Likewise.
2180
164ebb48
VS
21812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2182
2183 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
2184 (FUNCTION) [GRUB_UTIL]: Likewise.
2185 (VARIABLE) [GRUB_UTIL]: Likewise.
2186
44318d61
VS
21872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2188
2189 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
2190 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
2191
31a26002
VS
21922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2193
2194 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
2195 buffer.
2196
21972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2198
2199 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
2200 (LzmaEnc_SaveState): Removed (unused).
2201 (LzmaEnc_RestoreState): Likewise.
2202 (LzmaEnc_InitPriceTables): Made static.
2203 (LzmaEnc_Construct): Likewise.
2204 (LzmaEnc_FreeLits): Likewise.
2205 (LzmaEnc_Destruct): Likewise.
2206 (LzmaEnc_Init): Likewise.
2207 (LzmaEnc_InitPrices): Likewise.
2208 (LzmaEnc_Finish): Likewise.
2209 (LzmaEnc_PrepareForLzma2): Removed (unused).
2210 (LzmaEnc_MemPrepare): Likewise.
2211 (LzmaEnc_GetNumAvailableBytes): Likewise.
2212 (LzmaEnc_GetCurBuf): Likewise.
2213 (LzmaEnc_CodeOneMemBlock): Likewise.
2214
6fa67967
VS
22152012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
2218 (grub_util_ldm_embed): Likewise.
2219
9a7428e6
VS
22202012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 * util/grub-editenv.c (print_var): Rename name to varname to
2223 avoid shadowing.
2224 (main): Rename index to curindex to avoid shadowing.
31a26002 2225 Make filename a const char *.
9a7428e6 2226
4f96abd1
VS
22272012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
2230 to arg_getline to avoid shadowing.
2231
44d10dad
VS
22322012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2233
2234 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
2235 disk_ to avoid shadowing.
2236
340ba63e
VS
22372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2238
2239 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
2240 curindex to avoid shadowing.
2241 Make static.
2242 (MatchFinder_GetNumAvailableBytes): Make static.
2243
22965bce
VS
22442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
2247 avoid shadowing.
2248
7b5784d4
VS
22492012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2250
2251 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
2252 argument from encrypt to do_encrypt to avoid shadowing.
2253
6f48ca01
VS
22542012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2255
2256 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
2257 incorrect nesting of #if's.
2258
a4ea2dff
VS
22592012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2260
2261 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
2262 checks which are always false on some platforms.
2263 (grub_cmd_lsacpi): Likewise.
2264 * grub-core/kern/misc.c (grub_strtoul): Likewise.
2265 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
2266 Likewise.
2267
def9fc1b
VS
22682012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
2271 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
2272
a67b2a04
VS
22732012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
2276 re_dfa_t to avoid breaking alignment invariants.
2277 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
2278 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
2279
44c6828d
VS
22802012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
2283 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
2284
bebe0dd0
VS
22852012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2286
2287 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
2288 Fix declaration.
2289
a9cdb3cf
VS
22902012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2291
2292 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
2293 conserve alignment invariants.
2294 (grub_ehci_ehcc_read16): Likewise.
2295 (grub_ehci_oper_read32): Likewise.
2296 (grub_ehci_oper_write32): Likewise.
2297 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
2298 Conserve alignment invariants.
2299
ccc3b1b8
VS
23002012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2301
2302 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
2303 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
2304 declarations.
2305
987fbd95
VS
23062012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
2309 Remove unused variable.
2310
0df363f3
VS
23112012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2312
2313 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
2314 Remove set in if.
2315
b2c0c4a6
VS
23162012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2317
2318 * include/grub/net.h: Remove double declarations.
2319
690c531f
VS
23202012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2321
2322 Remove "payload" command in ia64 Linux loader since I couldn't
2323 find any evidence of it being used for anything.
2324 Replace "relocate" command with an environment variable
2325
2326 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
2327 fields.
2328 (ia64_boot_payload): Removed.
2329 (last_payload): Likewise.
2330 (RELOCATE_OFF): Likewise.
2331 (RELOCATE_ON): Likewise.
2332 (RELOCATE_FORCE): Likewise.
2333 (relocate): Likewise.
2334 (free_pages): Don't free payloads.
2335 (grub_load_elf64): Use common error messages.
2336 Use "linux_relocate" variable.
2337 Increase the space after boot_params.
2338 (grub_cmd_payload): Removed.
2339 (grub_cmd_relocate): Likewise.
2340 (grub_cmd_fpswa): Improve messages.
2341 (cmd_payload): Removed.
2342 (cmd_relocate): Likewise.
2343 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
2344 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
2345
01783768
VS
23462012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2347
2348 Convert UHCI to DMA framework.
2349
2350 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
2351 (grub_uhci_pci_iter): Fill new members
2352 (grub_alloc_td): Use P2V and V2P functions.
2353 (grub_free_queue): Likewise.
2354 (grub_alloc_qh): Likewise.
2355 (grub_uhci_setup_transfer): Likewise.
2356 (grub_uhci_check_transfer): Likewise.
2357
43206939
VS
23582012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
2361 Remove assignment in if while on it.
2362
571e140e
VS
23632012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 * util/grub-mkstandalone.in: Fix modules directory.
2366
a9d96eeb
VS
23672012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2368
2369 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
2370 on i386-pc target.
2371 (argp_parser): Accept "auto" as compression specification.
2372
e4e37e8d
VS
23732012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 Fix `help' with unloaded modules.
2376
2377 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
2378 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
2379 (grub_dyncmd_dispatcher): Small stylistic fix.
2380 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
2381 explicit help is requested.
2382
e1ea3ade
VS
23832012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2384
2385 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
2386 Explicitly init restart while on it.
2387
27556881
VS
23882012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2389
2390 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
2391 uninited variable.
2392
d65f6b36
VS
23932012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 * util/grub-mknetdir.in: Use . rather than source for POSIX
2396 compatibility.
2397
0a1e473c
VS
23982012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2399
2400 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
2401
ce6647c8
VS
24022012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2403
2404 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
2405 variable.
2406
66747894
VS
24072012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
2410 without quotes.
2411
71645f6e
VS
24122012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2413
2414 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
2415
0e1c1f61
VS
24162012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
2419 iteration of partitions.
2420
9c4b5c13
VS
24212012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 Improve gettext support. Stylistic fixes and error handling fixes while
2424 on it.
2425
215c90cb
VS
24262012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2427
2428 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
2429 part. Instead setup the correct stack in RM.
2430 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
2431 for stack.
2432 * include/grub/i386/relocator_private.h: New file.
2433
b5c1f9bf
VS
24342012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2435
2436 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
2437 argument.
2438 * util/grub-fstest.c (options): Add missing DEVICE part.
2439
b525fd83
VS
24402012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2441
2442 Clarify and unify messages.
2443
2444 * grub-core/commands/hashsum.c (options): Unify messages.
2445 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
2446 literal-only message as translatable.
2447 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
2448 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
2449 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
2450 commands.
2451 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
2452 key, not the key used to unlock. Clarify what it's used for.
2453 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
2454 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
2455 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
2456 * util/grub-editenv.c (options): Unify "verbose" message.
2457 * util/grub-fstest.c (read_file): Unify error message.
2458 (fstest): Add quotes around commands.
2459 (options): Unify "verbose" message.
2460 * util/grub-install.in: Add quotes around variable name.
2461 * util/grub-kbdcomp.in: Unify error message.
2462 * util/grub-mkfont.c (main): Likewise.
2463 * util/grub-mkrescue.in: Likewise.
2464 * util/grub-mklayout.c (options): Unify "verbose" message.
2465 * util/grub-mkstandalone.in: Unify help and verbose messages.
2466 * util/grub-mount.c (options): Unify "verbose" message.
2467 * util/grub-probe.c (options): Likewise.
2468 * util/grub-script-check.c (options): Likewise.
2469 * util/grub-setup.c (setup): Unify no-terminator message.
2470 (options): Use DEVICE and not DEV.
2471 Unify "verbose" message.
2472 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
2473
0ae70393
VS
24742012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 Improve and unify messages.
2477
2478 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
2479 name. All users updated.
2480 Print filename in error.
2481 (read_device_map): Print filename in error.
2482 * util/getroot.c (grub_guess_root_devices): Print filename in error.
2483 (grub_util_get_os_disk): Likewise.
2484 (grub_util_biosdisk_get_grub_dev): Likewise.
2485 (grub_util_check_block_device): Likewise.
2486 (grub_util_check_char_device): Likewise.
2487 (grub_make_system_path_relative_to_its_root): Likewise.
2488 * util/grub-editenv.c (create_envblk_file): Likewise.
2489 (open_envblk_file): Likewise.
2490 (write_envblk): Likewise.
2491 * util/grub-fstest.c (cmd_cp): Likewise.
2492 (cmd_cat): Likewise.
2493 (cmd_cmp): Likewise.
2494 * util/grub-menulst2cfg.c (main): Likewise.
2495 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
2496 (write_font_width_spec): Likewise.
2497 (write_font_pf2): Likewise.
2498 * util/grub-mkimage.c (generate_image): New argument outname.
2499 All users updated.
2500 Remove unreacheable message.
2501 (options): Unify messages.
2502 (help_filter): Likewise.
2503 * util/grub-mklayout.c (usage): Removed (unused).
2504 (main): Print filename in error.
2505 * util/grub-mkrescue.in: Fix wrong quoting.
2506 * util/grub-setup.c (setup): Print filename in error.
2507 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
2508 (check_sas): Likewise.
2509 * util/misc.c (grub_util_get_fp_size): Removed.
2510 (grub_util_get_image_size): Print filename in error.
2511 (grub_util_read_at): Removed.
2512 (grub_util_read_image): Print filename in error.
2513 (grub_util_load_image): Likewise.
2514 (grub_util_write_image_at): New argument filename. All users updated.
2515 Print filename in error.
2516 (grub_util_write_image): New argument filename. All users updated.
2517 Print filename in error.
2518 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
2519 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
2520
0a96117d
VS
25212012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2522
2523 * grub-core/Makefile.core.def (pxechain): New module.
2524 * grub-core/loader/i386/pc/pxechainloader.c: New file.
2525 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
2526 function.
2527 (grub_pc_net_config_real): Use grub_pxe_get_cached.
2528 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
2529
aca002f7
VS
25302012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2531
2532 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
2533 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
2534 * include/grub/err.h (grub_error_saved): New struct.
2535 (grub_errmsg): Make array size explicit.
2536 * include/grub/misc.h (grub_error_save): New function.
2537 (grub_error_load): Likewise.
2538 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
2539 (grub_error_push): Update `errno' member name.
2540 (grub_error_pop): Likewise
2541 * grub-core/net/tftp.c (tftp_data): New member save_err.
2542 (tftp_receive): Save error.
2543 (tftp_open): Restore error.
2544
a51dab13
VS
25452012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2546
2547 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
2548 to real mode down to execute A20-related code in protected mode as
2549 intended.
2550
eb6e6649
GS
25512012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
2552
2553 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
2554 NULL when the argument `level' has an unexpected value.
2555
92cd0f6e
VS
25562012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 Move platform-dependent files from $prefix to $prefix/$platform.
2559
2560 * config.h.in (GRUB_TARGET_CPU): New definition.
2561 (GRUB_PLATFORM): Likewise.
2562 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
2563 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
2564 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
2565 * grub-core/kern/dl.c (grub_dl_load): Likewise.
2566 * grub-core/normal/autofs.c (read_fs_list): Likewise.
2567 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
2568 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
2569 * grub-core/normal/term.c (read_terminal_list): Likewise.
2570 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
2571 $prefix/locale.
2572 (grub_gettext_init_ext): Likewise.
2573 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
2574 grub_platform.
2575 * util/grub-install.in: Update directories.
2576 * util/grub-mknetdir.in: Likewise.
2577 * util/grub-mkrescue.in: Likewise.
2578
db606889
VS
25792012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
2582 grub_error framework. All users updated.
2583
c39992a4
VS
25842012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2585
2586 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
2587 lists (by always binsearching), improve caching (cache strings
2588 used for binsearch, not only results), improve
2589 maintainability (by using more structured binary search) and correct
2590 error handling.
2591
1e5ec32f
VS
25922012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 * grub-core/script/execute.c (grub_script_return): Fix warning.
2595
ac576cde
VS
25962012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2597
2598 * grub-core/script/execute.c (grub_script_return): Fix potential
2599 NULL-dereference.
2600 Reported by: Jim Meyering.
2601
498453f6
VS
26022012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2603
2604 * po/POTFILES.in: Regenerate.
2605 * util/grub-install.in: Gettextize the strings missed in first pass.
2606
8be63f2e
VS
26072012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 * Makefile.util.def (grub-mkdevicemap): Removed.
2610 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
2611 * include/grub/util/deviceiter.h: Removed.
2612 * util/deviceiter.c: Likewise.
2613 * util/getroot.c (grub_util_get_os_disk): New function.
2614 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
2615 replacement for EFI.
2616 * util/grub-mkdevicemap.c: Removed.
2617 * util/grub-probe.c (probe): Handle PRINT_DISK.
2618 (argp_parser): Handle -t disk.
2619
8e1e4e39
VS
26202012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2621
2622 * util/grub-mkfont.c: Migrate to argp.
2623 * util/grub-mklayout.c: Likewise.
2624 * util/grub-mkpasswd-pbkdf2.c: Likewise.
2625 * util/grub-mkrelpath.c: Likewise.
2626 * util/grub-probe.c: Likewise.
2627 * util/grub-script-check.c: Likewise.
2628
4459819a
VS
26292012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2630
2631 * util/grub-reboot.in: Add missing datarootdir.
2632 Add missing newline.
2633 * util/grub-set-default.in: Add missing datarootdir.
2634 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
2635 * util/grub-mkrescue.in: Likewise.
2636
f65741c7
VS
26372012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2638
2639 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
2640
c1a33466
VS
26412012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2642
2643 * util/grub-kbdcomp.in: Add decent help and gettextize.
2644 * docs/man/grub-kbdcomp.h2m: New file.
2645
c76899a0
VS
26462012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2647
2648 Migrate grub-mkimage.c to argp.
2649
2650 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
2651 (grub-setup): Likewise.
2652 * util/grub-setup.c (print_version): Move to ...
2653 * util/argp_common.c (print_version): ... here.
2654 * util/grub-setup.c (argp_program_version_hook): Move to ...
2655 * util/argp_common.c (argp_program_version_hook): ... here.
2656 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
2657 safety.
2658 * util/grub-mkimage.c (main): Migrate to argp.
2659
57db0757
VS
26602012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2661
2662 * util/grub-mkrescue.in: Use same message as
2663 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
2664 for better translations.
2665
18534ad9
VS
26662012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2667
2668 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
2669 options with generic grub-mkrescue.in with the goal of future
2670 merge.
2671
c84ba308
VS
26722012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2673
2674 * grub-core/kern/mm.c: Add missing include of i18n.h
2675 * grub-core/lib/relocator.c: Likewise.
2676
347998c2
VS
26772012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2678
2679 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
2680 error.
2681 (allocate_pages): Check return value.
2682 Replace fatal with error.
2683 (grub_linux_boot): Replace printf with dprintf.
2684 Check find_mmap_size return value.
2685 Replace fatal with error.
2686 Don't call grub_machine_fini.
2687 (grub_load_elf64): Replace printf with dprintf.
2688 (grub_cmd_linux): Likewise.
2689 (grub_cmd_initrd): Likewise.
2690 (grub_cmd_payload): Likewise.
2691
c779226e
VS
26922012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2693
2694 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
2695 message.
2696 * grub-core/video/radeon_fuloong2e.c
2697 (grub_video_radeon_fuloong2e_setup): Likewise.
2698 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
2699 * grub-core/video/video.c (grub_video_set_mode): Don't override
2700 standard out of memory message.
2701
dc87d45a
GS
27022012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2703
2704 NetBSD disk wedge support.
2705
2706 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
2707 [__NetBSD__]: Handle NetBSD disk wedges.
2708 * util/getroot.c (convert_system_partition_to_system_disk)
2709 [__NetBSD__]: Likewise.
2710
055f856f
MW
27112012-02-03 Mark Wooding <mdw@distorted.org.uk>
2712
2713 * util/grub-mkconfig.in: Use umask rather than chmod to create
2714 grub.cfg.new to avoid insecure grub.cfg.
2715
4a9f8346
VS
27162012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2717
2718 * grub-core/commands/ls.c: Gettextize.
2719 * grub-core/commands/setpci.c: Likewise.
2720 * grub-core/commands/videotest.c: Likewise.
2721 * grub-core/disk/geli.c: Likewise.
2722 * grub-core/kern/mm.c: Likewise.
2723 * grub-core/lib/relocator.c: Likewise.
2724 * grub-core/loader/efi/appleloader.c: Likewise.
2725 * grub-core/loader/i386/xnu.c: Likewise.
2726 * grub-core/loader/ia64/efi/linux.c: Likewise.
2727 * grub-core/loader/xnu.c: Likewise.
2728 * grub-core/net/dns.c: Likewise.
2729 * grub-core/net/net.c: Likewise.
2730 * grub-core/script/lexer.c: Likewise.
2731 * grub-core/script/parser.y: Likewise.
2732 * grub-core/script/yylex.l: Likewise.
2733 * util/getroot.c: Likewise.
2734 * util/grub-setup.c: Likewise.
2735
a646a366
VS
27362012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
2739 number.
2740
54e2be26
VS
27412012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2742
2743 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
2744
f7c71e68
VS
27452012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
2748 macro.
2749 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
2750 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
2751
a32d5c71
VS
27522012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2753
2754 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
2755 * util/grub-install.in: Gettextize.
2756 * util/grub-mkconfig.in: Likewise.
2757 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
2758 if not available.
2759 (grub_warn): Gettextize.
2760 * util/grub-mknetdir.in: Gettextize.
2761 * util/grub-mkrescue.in: Likewise.
2762 * util/grub-mkstandalone.in: Likewise.
2763 * util/grub-reboot.in: Likewise.
2764 * util/grub-set-default.in: Likewise.
2765 * util/grub.d/00_header.in: Likewise.
2766 * util/grub.d/10_hurd.in: Likewise.
2767 * util/grub.d/10_kfreebsd.in: Likewise.
2768 * util/grub.d/10_linux.in: Likewise.
2769 * util/grub.d/10_netbsd.in: Likewise.
2770 * util/grub.d/10_windows.in: Likewise.
2771 * util/grub.d/20_linux_xen.in: Likewise.
2772 * util/grub.d/30_os-prober.in: Likewise.
2773 * po/POTFILES-shell.in: Regenerate.
2774
69edd81a
RL
27752012-02-03 Richard Laager <rlaager@wiktel.com>
2776
2777 * util/grub-mkimage.c (main): Fix format-security warning.
2778 * util/grub-mkrelpath.c (main): Likewise.
2779 * util/grub-probe.c (main): Likewise.
2780
65f08dbf
RL
27812012-02-03 Richard Laager <rlaager@wiktel.com>
2782
2783 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
2784 failure.
2785 Put back lost PRINT_DRIVE.
2786
e9084abe
RL
27872012-02-03 Richard Laager <rlaager@wiktel.com>
2788
2789 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
2790 (grub_guess_root_devices): Replace strlen with sizeof.
2791 Avoid crash.
2792 (find_root_devices_from_poolname): Remove unused variable.
2793 Handle raidzN.
2794
cf5f7ee7
VS
27952012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2796
2797 Support install on multi-device filesystems.
2798
2799 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
2800 (grub_guess_root_devices): ...this. Return char **. All users updated.
2801 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
2802 Removed.
2803 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
2804 (find_root_devices_from_poolname): ... here.
2805 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
2806 Support zfs-fuse.
2807 (grub_guess_root_device): Rename to ...
2808 (grub_guess_root_devices): ... this. Return char **. All users updated.
2809 * util/grub-install.in: Handle multi-device filesystems.
2810 * util/grub-probe.c (probe). Make device_names a char **. Add delim
2811 argument. All users updated.
2812 Handle multi-device filesystems.
2813 Use 'delim' as separator.
2814 Remove device check to allow filesystems on file.
2815 (main): Support -0 argument. Handle multi-device.
2816 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
2817 Fix a cross-device check while on it.
2818 (arguments): Remove root_dev.
2819 (argp_parser): Remove -r.
2820 (main): Remove root_dev.
2821
2f53a9ed
VS
28222012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2823
2824 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
2825
17e1d934
VS
28262012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2827
2828 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
2829 symbol.
2830 Reported by: NODA, Kai <nodakai>.
2831
d3e3fab5
VS
28322012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2833
2834 Fix ehci on amd64.
2835
2836 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
2837 pointers.
2838 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
2839 (grub_ehci_setup_qh): Likewise.
2840 (grub_ehci_find_qh): Likewise.
2841 (grub_ehci_transaction): Likewise.
2842 (grub_ehci_setup_transfer): Likewise.
2843 (grub_ehci_check_transfer): Likewise.
2844 (grub_ehci_portstatus): Likewise.
2845 (grub_ehci_detect_dev): Likewise.
2846 (grub_ehci_transfer_controller_data): New field td_last_phys.
2847 (grub_ehci_setup_transfer): Fill td_last_phys.
2848 (grub_ehci_check_transfer): Use td_last_phys.
2849
3008675b
SG
28502012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
2851
2852 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
2853 if no submenu is present.
2854
fc9b5652
AN
28552012-02-01 Aleš Nesrsta <starous@volny.cz>
2856
2857 CBI support.
2858
2859 * include/grub/usb.h (grub_usbms_protocol_t): New values
2860 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
2861 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
2862 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
2863 (grub_usbms_dev): Add subclass, protocol and intrpt.
2864 Remove in_maxsz and out_maxsz.
2865 (grub_usbms_reset): Rename to ...
2866 (grub_usbms_bo_reset): .. this.
2867 (grub_usbms_cbi_cmd): New function.
2868 (grub_usbms_cbi_reset): Likewise.
2869 (grub_usbms_reset): Likewise.
2870 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
2871 (grub_usbms_transfer): Rename to ...
2872 (grub_usbms_transfer_bo): ... this.
2873 (grub_usbms_transfer_cbi): Likewise.
2874 (grub_usbms_transfer): Likewise.
2875
a2b81d53
AN
28762012-02-01 Aleš Nesrsta <starous@volny.cz>
28772012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2878
2879 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
2880 the support for the CS5536 modification thereos and few bugfixes.
2881
2882 * grub-core/Makefile.core.def (ehci): New module.
2883 * grub-core/bus/usb/ehci.c: New file.
2884 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
2885 port and hubaddr. All users updated.
2886 Save port and hubaddr into dev structure.
2887 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
2888 define.
2889 * include/grub/pci.h (grub_dma_phys2virt): New function.
2890 (grub_dma_virt2phys): Likewise.
2891 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
2892
b1d51f02
VS
28932012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
2896 check as some mkfs implementations omit it.
2897
fc694106
VS
28982012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2899
2900 * docs/grub.texi (Unicode): Mention identifier and space limitations.
2901
6c0920e3
VS
29022012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2903
2904 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
2905 Add new member volname2.
2906 (grub_jfs_label): Use volname2 if available.
2907
d1a46f9a
VS
29082012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2909
2910 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
2911 over last_mounted as seen in image generated by mkfs.nilfs2.
2912 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
2913
dec8ed14
VS
29142012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
2917 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
2918 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
2919
7397c69b
VS
29202012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
2923 over the sector.
2924
b3fe42ad
VS
29252012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2926
2927 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
2928 subvolume name (by removing a bogus and useless check).
2929
10476bb0
VS
29302012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2931
2932 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
2933 sizeof while on it.
2934
9c08ad87
VS
29352012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
2938 (grub_scsi_read_capacity10): ... this.
2939 (grub_scsi_read_capacity16): New function.
2940 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
2941 0xffffffff.
2942 Fix off-by-one error.
2943 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
2944 64-bit unsigned.
2945 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
2946 (grub_scsi_read_capacity10): ... this.
2947 (grub_scsi_read_capacity_data): Rename to ...
2948 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
2949 (grub_scsi_read_capacity16): New struct.
2950 (grub_scsi_read_capacity16_data): Likewise.
2951 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
2952 grub_scsi_cmd_read_capacity10.
2953 New command grub_scsi_cmd_read_capacity16.
2954
bc8d0f45
VS
29552012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2956
2957 SCSI >2TiB support.
2958
2959 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
2960 (grub_scsi_write16): Likewise.
2961 (grub_scsi_read): Use read16 when necessary.
2962 (grub_scsi_write): Likewise.
2963 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
2964 (grub_scsi_write16): Likewise.
2965 (grub_scsi_cmd_t): Add READ16 and WRITE16.
2966
cc774926
VS
29672012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 SCSI write support (for usbms mainly).
2970
2971 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
2972 a const pointer.
2973 (grub_scsi_write): Implement.
2974 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
2975
67639fd7
VS
29762012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2977
2978 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
2979 variable.
2980
9079d3ed
VS
29812012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2982
2983 * grub-core/lib/posix_wrap/string.h (memchr): New function.
2984
c6a6f204
VS
29852012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2986
2987 * po/POTFILES.in: Regenerate.
2988
ecbf8cd1
VS
29892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2990
2991 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
2992 with grub_printf to avoid unnecessary fatal failure.
2993
0b3b3b38
VS
29942012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2995
2996 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
2997 (INT_MAX): Likewise.
2998 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
2999 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
3000 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
3001 (strcpy): Likewise.
3002 (strstr): Likewise.
3003 (strchr): Likewise.
3004 (strncpy): Likewise.
3005 (strcat): Likewise.
3006 (strncat): Likewise.
3007 (strcoll): Likewise.
3008 * include/grub/types.h (GRUB_SHRT_MAX): New define.
3009 (GRUB_INT_MAX): Likewise.
3010
db7337a3
VS
30112012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3012
3013 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
3014 unexpected error.
3015 (optimize_utf8): Likewise.
3016 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
3017
f37c87e1
VS
30182012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 * grub-core/boot/i386/pc/lnxboot.S: Use
3021 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
3022 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
3023 location.
3024 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
3025 definition.
3026 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
3027
63fe43f3
VS
30282012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3029
3030 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
3031 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
3032 now to avoid double free.
3033 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
3034 hostdisk.
3035 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
3036 * util/grub-probe.c (escape_of_path): Always return a new copy.
3037 (print_full_name): Escape path.
3038 (probe): Don't call grub_util_devname_to_ofpath on NULL.
3039 Fix hints on abstractions.
3040
ebe2c961
VS
30412012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3042
3043 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
3044 Don't add "root" line if no compatibility hont is available.
3045 Suggested by: Seth Goldberg.
3046
2b5336a2
VS
30472012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3048
3049 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
3050 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
3051 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
3052 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
3053
74310bd8
VS
30542012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3055
3056 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
3057
c30582ba
VS
30582012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 * util/grub-pe2elf.c (ehdr): Make static.
3061 (shdr): Likewise.
3062 (num_sections): Likewise.
3063 (offset): Likewise.
3064
5f47782c
VS
30652012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3066
3067 Eliminate ofpath limits and possible overflows.
3068
3069 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
3070 (OF_PATH_MAX): Removed.
3071 (MAX_DISK_CAT): New const.
3072 (find_obppath): Use allocated rather than preallocated buffer.
3073 Return result. Argument of_path removed. All users updated.
3074 Add missing fdstat.
3075 (xrealpath): New function.
3076 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
3077 Allocate rather than use preallocated buffer. All users updated.
3078 (__of_path_common): Use allocated rather than preallocatecd buffer.
3079 Return result. Argument of_path removed. All users updated.
3080 (vendor_is_ATA): Read only needed part form the file.
3081 (check_sas): Allocate depending on contents rather than fixed.
3082 (main) [STANDALONE]: Handle NULL result.
3083
f990cbf9
VS
30842012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3085
3086 * grub-core/normal/completion.c (iterate_dev): Close the disk.
3087
9c6e84b8
VS
30882012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3089
3090 Cryptodisk write support.
3091
3092 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
3093 (grub_cryptodisk_decrypt): Moved logic to ...
3094 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
3095 (grub_cryptodisk_write): Implement.
3096 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
3097 (grub_util_fd_write): ... this. Make global.
3098 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
3099
87cf9744
VS
31002012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3101
3102 * include/grub/list.h (grub_list_remove): Don't crash if element is
3103 removed twice.
3104
ca8c0baf
VS
31052012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3106
3107 Rename ofconsole to console.
3108
3109 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
3110 as sysnonym to console.
3111 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
3112 * grub-core/term/ieee1275/console.c: ... this. All users updated.
3113 Rename grub_ofconsole_ to grub_console_. All users updated
3114 (grub_console_term_output): Rename "ofconsole" to "console".
3115 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
3116 as "console".
3117
64c8b8f6
VS
31182012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
3121 handling.
3122 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
3123 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
3124 GRUB_DISK_DEVICE_FILE_ID.
3125
f6c434d5
VS
31262012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3127
3128 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
3129 and improve performance.
3130
5858b42d
VS
31312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3132
3133 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
3134 missing ieee1275/ prefix on whole disk.
3135
4ed3c26b
VS
31362012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
3139 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
3140
df71143e
VS
31412012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3142
3143 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
3144
076e7c0f
VS
31452012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 Merge common RAID and LVM logic to an abstract diskfilter.
3148 Add LDM support using the same framework.
3149
3150 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
3151 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
3152 (libgrubmods): Remove grub-core/disk/raid.c and
3153 grub-core/partmap/gpt.c.
3154 * grub-core/Makefile.core.def (ldm): New module.
3155 (raid): Renamed to diskfilter. All users updated.
3156 * grub-core/disk/raid.c: Moved to ...
3157 * grub-core/disk/diskfilter.c: ... here.
3158 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
3159 (lv_num): New var.
3160 (find_array): Renamed to ...
3161 (find_lv): ... this. Support multi-LV. Skip nameless LVs
3162 (grub_is_array_readable): Renamed to ...
3163 (grub_is_lv_readable): ... this. Support multinode hierarchy.
3164 (insert_array): New argument id.
3165 (is_node_readable): New function.
3166 (scan_device): Rename to ...
3167 (scan_disk): .. this. Restrict to one disk.
3168 (scan_devices): New function.
3169 (grub_diskfilter_iterate): Support multi-LV.
3170 Skip invisible and nameless LVs.
3171 (grub_diskfilter_memberlist): Support multi-LV.
3172 (grub_diskfilter_read_node): New function.
3173 (grub_raid_read): Most of logic moved to ...
3174 (read_segment): ... here
3175 (read_lv): New function.
3176 (grub_diskfilter_get_vg_by_uuid): New function.
3177 (grub_diskfilter_make_raid): Likewise.
3178 * grub-core/disk/ldm.c: New file.
3179 * grub-core/disk/lvm.c (vg_list): Removed.
3180 (lv_count): Likewise.
3181 (scan_depth): Likewise.
3182 (is_lv_readable): Likewise.
3183 (grub_lvm_getvalue): Advance pointer past the number.
3184 (find_lv): Removed.
3185 (do_lvm_scan): Refactored into ...
3186 (grub_lvm_detect): ... this. Support raid.
3187 (grub_lvm_iterate): Removed.
3188 (grub_lvm_memberlist): Likewise.
3189 (grub_lvm_open): Likewise.
3190 (grub_lvm_close): Likewise.
3191 (read_lv): Likewise.
3192 (read_node): Likewise.
3193 (is_node_readable): Likewise.
3194 (is_lv_readable): Likewise.
3195 (grub_lvm_read): Likewise.
3196 (grub_lvm_write): Likewise.
3197 (grub_lvm_dev): Use diskfilter
3198 (GRUB_MOD_INIT): Likewise.
3199 (GRUB_MOD_FINI): Likewise.
3200 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
3201 new interface.
3202 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
3203 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3204 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
3205 grub_diskfilter_read_node.
3206 Fix a bug with xor.
3207 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
3208 grub_diskfilter_read_node.
3209 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
3210 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
3211 (grub_disk_dev_iterate): Move from here...
3212 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
3213 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
3214 Make global.
3215 (grub_hostdisk_find_partition_start): Likewise.
3216 (grub_hostdisk_os_dev_to_grub_drive): New function.
3217 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
3218 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
3219 * util/getroot.c (make_device_name): ... here.
3220 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3221 Move to ...
3222 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
3223 * grub-core/kern/emu/hostdisk.c
3224 (convert_system_partition_to_system_disk): Move to ...
3225 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
3226 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
3227 * util/getroot.c (device_is_wholedisk): ... here.
3228 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
3229 * util/getroot.c (find_system_device): ... here.
3230 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
3231 Move to ...
3232 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
3233 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
3234 Move to ...
3235 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
3236 Handle LDM.
3237 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
3238 Move to ...
3239 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
3240 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
3241 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
3242 DISKFILTER.
3243 * include/grub/raid.h: Renamed to ...
3244 * include/grub/diskfilter.h: ... this.
3245 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
3246 (GRUB_RAID_LAYOUT_*): Make into array.
3247 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
3248 (grub_diskfilter_vg): New struct.
3249 (grub_diskfilter_pv_id): Likewise.
3250 (grub_raid_member): Removed.
3251 (grub_raid_array): Likewise.
3252 (grub_diskfilter_pv): New struct.
3253 (grub_diskfilter_lv): Likewise.
3254 (grub_diskfilter_segment): Likewise.
3255 (grub_diskfilter_node): Likewise.
3256 (grub_diskfilter_get_vg_by_uuid): New proto.
3257 (grub_raid_register): Inline.
3258 (grub_diskfilter_unregister): Likewise.
3259 (grub_diskfilter_make_raid): New proto.
3260 (grub_diskfilter_vg_register): Likewise.
3261 (grub_diskfilter_read_node): Likewise.
3262 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
3263 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
3264 (grub_util_is_ldm): Likewise.
3265 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
3266 (grub_hostdisk_find_partition_start): Likewise.
3267 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
3268 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
3269 New definition.
3270 (grub_gpt_partition_map_iterate): New proto.
3271 * include/grub/lvm.h (grub_lvm_vg): Removed.
3272 (grub_lvm_pv): Likewise.
3273 (grub_lvm_lv): Likewise.
3274 (grub_lvm_segment): Likewise.
3275 (grub_lvm_node): Likewise.
3276 * util/getroot.c [...]
3277 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
3278 (probe_abstraction): Likewise.
3279 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
3280 (main): Remove dead logic.
3281
8a7f9b9c
VS
32822012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
3283
3284 Simplify root device discover and don't fail when trying to open
3285 incorrect devices.
3286
3287 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
3288 function.
3289 (get_diskname_from_path): Likewise.
3290 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
3291 of iterating.
3292
30545b85
VS
32932012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
3296
28ea58cf
VS
32972012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3298
3299 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
3300 pastthe end.
3301
692dabca
VS
33022012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3303
3304 * util/grub-install.in: Add missing \.
3305 Reported by: gentoofan
3306
f6e4ea70
VS
33072012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
3310 (direct_read): Use correct compressed size.
3311 (grub_squash_read_data): Likewise.
3312
33132012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
3314
3315 * docs/grub.texi (Platform limitations): New section.
3316 (Platform-specific operations): Likewise.
3317 * docs/grub-dev.texi (Porting): Likewise.
3318
76261110
VS
33192012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3320
3321 IEEE1275 disk write support.
3322
3323 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
3324 const void *.
3325 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
3326 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
3327 and seek loginc to ...
3328 (grub_ofdisk_prepare): ... here.
3329 (grub_ofdisk_write): Implement.
3330
fc36d603
VS
33312012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 ARC disk write support.
3334
3335 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
3336 (reopen): New argument writable. All users updated.
3337 Handle required access mode.
3338 (grub_arcdisk_write): Implement.
3339 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
3340 (grub_arc_firmware_vector): Make buffer to write a const buffer.
3341
e06c2e7a
VS
33422012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3343
3344 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
3345 (read_sblock): Don't attempt to read superblocks outside the disk size.
3346
ff447958
VS
33472012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3348
3349 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
3350 first superblock to find the second one when possible.
3351
9e88df39
VS
33522012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 * util/grub-install.in: Fix an ARC bug.
3355 Print a warning if no platform-specific setup is available.
3356
bb26e4ff
VS
33572012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 Use static allocation rather than scratch pointer in reed_solomon.
3360 It decreases its size significantly and avoids a variable in .text.
3361
3362 * grub-core/lib/reed_solomon.c (scratch): Removed.
3363 (chosenstat): New const or static array.
3364 (sigma): Likewise.
3365 (errpot): Likewise.
3366 (errpos): Likewise.
3367 (sy): Likewise.
3368 (mstat): Likewise.
3369 (errvals): Likewise.
3370 (eqstat): Likewise.
3371 (pol_evaluate): Replace x with log_x argument. All users updated.
3372 (syndroms): Removed.
3373 (gauss_solve): Use statically allocated arrays.
3374 (rs_recover): Likewise.
3375 Calculate syndroms directly.
3376 (decode_block): Use statically allocated arrays.
3377 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
3378 (main) [TEST]: Allow -DTEST -DSTANDALONE.
3379
2e13ede5
VS
33802012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3381
3382 Eliminate fixed limit on reed solomon decoder length.
3383
3384 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
3385 rather than hardcoding the address.
3386 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
3387 no_reed_solomon_length.
3388 Move gate_a20 to no-reed-solomon part.
3389 Don't force a particular size of no reed-solomon part.
3390 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
3391 Removed.
3392 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
3393 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
3394
f8a9ab12
VS
33952012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 * grub-core/commands/wildcard.c (match_files): Handle filenames
3398 without explicit device.
3399 (wildcard_expand): Don't add explicit device if not already present.
3400 * tests/grub_script_echo1.in: Add a new expansion test.
3401
87edb894
VS
34022012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3403
3404 Replace single-linked with double-linked lists. It results in more
3405 compact and more efficient code.
3406
3407 * grub-core/kern/list.c (grub_list_push): Moved from here ...
3408 * include/grub/list.h (grub_list_push): ... to here. Set prev.
3409 (grub_list_remove): Moved from here ...
3410 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
3411 (grub_prio_list_insert): Set prev.
3412 * include/grub/list.h (grub_list): Add prev. All users updated.
3413
48b391e9
VS
34142012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3415
3416 Handle newer autotools. Add some missing quotes while on it.
3417
3418 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
3419 (pkglib_DATA): Move grub-mkconfig_lib from here ...
3420 (pkgdata_DATA): ... here.
3421 * Makefile.util.def (update-grub_lib): Removed.
3422 * conf/Makefile.common (pkglib_DATA): Removed.
3423 (pkglib_SCRIPTS): Likewise.
3424 (pkgdata_DATA): New variable.
3425 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
3426 needed.
3427 Add missing quotes.
3428 Remove unused variable while on it.
3429 * tests/util/grub-shell.in: Likewise.
3430 * util/grub-install.in: Likewise.
3431 * util/grub-mkconfig.in: Likewise.
3432 * util/grub-mknetdir.in: Likewise.
3433 * util/grub-mkrescue.in: Likewise.
3434 * util/grub-mkstandalone.in: Likewise.
3435 * util/grub.d/00_header.in: Likewise.
3436 * util/grub.d/10_hurd.in: Likewise.
3437 * util/grub.d/10_illumos.in: Likewise.
3438 * util/grub.d/10_kfreebsd.in: Likewise.
3439 * util/grub.d/10_linux.in: Likewise.
3440 * util/grub.d/10_netbsd.in: Likewise.
3441 * util/grub.d/10_windows.in: Likewise.
3442 * util/grub.d/20_linux_xen.in: Likewise.
3443 * util/grub.d/30_os-prober.in: Likewise.
3444 * util/update-grub_lib.in: Removed.
3445
34462012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
3447
3448 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
3449 a workaround for intel problem.
3450
66832792
PRP
34512012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
34522012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
34532012-01-23 pfsmorigo
3454
3455 * util/grub-install.in: Support dd'in into PreP partition.
3456 * util/grub-probe.c (probe): Support discovering partition type.
3457 (main): Support -t msdos_parttype.
3458
7816a17e
VS
34592012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3460
3461 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
3462 infinite recursion using counter.
3463 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
3464 init to skip it if the magic check fails.
3465 (dec_stream_header): Init s->crc32.
3466
8f9d3a8c
ZB
34672012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
34682012-01-22 Zachary Bedell <pendorbound@gmail.com>
34692012-01-22 Richard Laager <rlaager@wiktel.com>
3470
3471 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
3472 All users updated.
3473 (find_bestub): Determine correct size.
3474 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
3475 (scan_disk): Align the size down.
3476 Call check pool before find_bestub to have ashift.
3477
b055dd32
VS
34782012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3479
3480 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
3481 dprintf in no-malloc zone.
3482
d779e9bd
ML
34832012-01-22 Mario Limonciello <mario_limonciello@dell.com>
3484
3485 * configure.ac: Add back in test for limits.h.
3486
b508af69
VS
34872012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3488
3489 Support 4K-sector NTFS.
3490
3491 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
3492 (grub_ntfs_data): Remove blocksize.
3493 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
3494 Remove data argument. All users updated.
3495
dad9c8b5
VS
34962012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
3499 being in .text to avoid dprel references.
3500 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
3501 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
3502 (grub_arch_highmemsize): Likewise.
3503 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
3504 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
3505 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
3506
d43a777e
VS
35072012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3508
3509 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
3510
3511 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
3512 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
3513
34e4208f
VS
35142012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
3517 GRUB_UTIL.
3518 (grub_set_datetime_cmos): Likewise.
3519
3ec0fc1c
VS
35202012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3521
3522 Make XZ compression parameters dependent on target and not host CPU.
3523
3524 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
3525 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
3526
22489834
VS
35272012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
3530 set but not used variable.
3531
8502fbca
VS
35322012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3533
3534 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
3535 created when no uuid support is compiled into mkfs.reiser.
3536
76df2068
VS
35372012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3538
3539 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
3540 (utf8_to_macroman): Do the opposite.
3541 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
3542
64e3f8f6
VS
35432012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3544
3545 * configure.ac: Refise build qemu_mips w/o unifont.
3546
9c271078
VS
35472012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3548
3549 Eliminate grub_min/grub_max prone to overflow usage.
3550
3551 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
3552 (poll_nonroot_hub): Likewise.
3553 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
3554 (grub_affs_label): Likewise.
3555 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
3556 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
3557 (grub_hfs_label): Likewise.
3558 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
3559 * grub-core/fs/zfs/zfs.c (MIN): Remove.
3560 (zap_leaf_array_equal): Use grub_size. Remove MIN.
3561 (zap_leaf_array_get): Likewise.
3562 (dnode_get_path): Likewise.
3563 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
3564 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
3565 * grub-core/script/execute.c (grub_script_break): Likewise.
3566 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
3567 grub_max.
3568 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
3569 * include/grub/misc.h (grub_min): Removed.
3570 (grub_max): Likewise.
3571
80662dbc
VS
35722012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3573
3574 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
3575 direct.inode = 0.
3576
e6da1467
VS
35772012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3578
3579 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
3580
b1ac4cb1
VS
35812012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3582
3583 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
3584
b4bf7c3b
VS
35852012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
3588 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
3589
8ee1101a
VS
35902012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3591
3592 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
3593 rather than a hack for grub_strncasemap.
3594
35952012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3596
3597 Support multiple initrds
3598 Note: part of this was accidently committed in r3739.
3599
3600 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
3601 initrd.
3602 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3603 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3604 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3605 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3606 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3607
4d1e2bc9
VS
36082012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
3611 disks with unknown size.
3612 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
3613
75b49ebe
VS
36142012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3615
3616 Remove defines pertaining to arbitrary limits not affecting GRUB
3617 anymore.
3618
3619 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
3620 (EXT2_MAX_SYMLINKCNT): Likewise.
3621 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
3622 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
3623 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
3624 (GRUB_PXE_MAX_BLKSIZE): Likewise.
3625 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
3626 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
3627 (DN_MAX_OBJECT_SHIFT): Likewise.
3628 (DN_MAX_OFFSET_SHIFT): Likewise.
3629 (DN_MAX_OBJECT): Likewise.
3630 (DNODES_PER_LEVEL_SHIFT): Likewise.
3631 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
3632 (SPA_MAXBLOCKSIZE): Likewise.
3633 (SPA_BLOCKSIZES): Likewise.
3634 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
3635 (MZAP_MAX_BLKSZ): Likewise.
3636
74a1dce7
VS
36372012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3638
3639 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
3640 handle NULL appropriately.
3641 Remove MIN.
3642
30c7d3ce
VS
36432012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3644
3645 Fix efiemu.
3646
3647 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
3648 cpu/types.h.
3649 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
3650 * configure.ac: Fix efiemu check.
3651
3c76ea0c
VS
36522012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3653
3654 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
3655 grub_probe.
3656 Reported by: adamwill
3657
7e532280
SG
36582012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
3659
3660 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
3661
30492374
VS
36622012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3663
3664 Fix handling of wide characters in gfxterm.
3665
3666 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
3667 (clear_char): Likewise.
3668 (paint_char): Skip code == NULL chars.
3669 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
3670
e70cb72f
VS
36712012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3672
3673 * grub-core/normal/charset.c: Move comment to right place.
3674
5c827cf9
VS
36752012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3676
3677 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
3678 (GRUB_AFFS_FLAG_FFS): Put back where it was.
3679 (grub_affs_mount): Revert the correct version checking.
3680
53603892
VS
36812012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 * docs/grub.texi (Unicode): Mention several other unsupported features.
3684
ff094b9b
VS
36852011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
3688 case statements as compile-time one.
3689 (direct_read): Prevent spurious warnings.
3690 (grub_squash_read_data): Likewise.
3691
c029da8a
VS
36922011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3693
3694 Various squash4 fixes and LZO and XZ support.
3695
3696 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
3697 Add xzembed source files.
3698 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
3699 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
3700 (grub_squash_inode): New subtype long_dir.
3701 (SQUASH_TYPE_LONG_DIR): New inode type.
3702 (COMPRESSION): New enum.
3703 (XZBUFSIZ): New const.
3704 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
3705 (read_chunk): Use data->decompress.
3706 (zlib_decompress): New function.
3707 (lzo_decompress): Likewise.
3708 (xz_decompress): Likewise.
3709 (squash_mount): Set new data fields.
3710 (grub_squash_iterate_dir): Handle long dir.
3711 (squash_unmount): Free xzdec and xzbuf.
3712 (grub_squash_open): Check ino type.
3713 (direct_read): Stylistic fixes. Use data->decompress.
3714 (grub_squash_read_data): Likewise.
3715 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
3716 (get_byte): Likewise.
3717 (grub_zlib_disk_read): Removed.
3718 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
3719 (GRUB_POSIX_BOOL_DEFINED): New define.
3720 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
3721 * grub-core/lib/xzembed/xz.h: Addmissing includes.
3722 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
3723 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
3724
7a45a539
VS
37252011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3726
3727 Don't override more informative errors.
3728
3729 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
3730 * grub-core/font/font.c (open_section): Likewise.
3731 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
3732 filename. Don't override errors.
3733 (grub_cmd_openbsd_ramdisk): Don't override errors.
3734 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
3735 (grub_cmd_initrd): Likewise.
3736 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3737 (grub_cmd_initrd): Likewise.
3738 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
3739 (grub_cmd_linux): Likewise.
3740 (grub_cmd_initrd): Likewise.
3741 (grub_cmd_payload): Likewise.
3742 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3743 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
3744 (grub_cmd_module): Likewise.
3745 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3746 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3747 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
3748 (grub_cmd_xnu_mkext): Likewise.
3749 (grub_cmd_xnu_ramdisk): Likewise.
3750 (grub_xnu_check_os_bundle_required): Likewise.
3751 (grub_xnu_load_kext_from_dir): Likewise.
3752 (grub_cmd_xnu_kextdir): Likewise.
3753 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
3754
b2d004db
VS
37552011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
3758 as 1024 in block size field. Found on one of my test images.
3759 Small optimisation while on it.
3760
ec000eac
VS
37612011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
3764 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
3765 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
3766 performance fixes while on it.
3767 (grub_sfs_close): Fix memory leak while on it.
3768 (grub_sfs_label): Convert Latin1 to UTF-8.
3769
f50e1165
VS
37702011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3771
3772 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
3773 space to avoid overflows.
3774 (grub_hfs_label): Convert from macroman to UTF-8.
3775
2ae254de
VS
37762011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3777
3778 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
3779
0108f491
VS
37802011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3781
3782 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
3783
f45f5f89
VS
37842011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3785
3786 * unicode: Import Unicode 6.0 data.
3787
4d8c4765
VS
37882011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3789
63fa8ef9
VS
3790 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
3791 outside of range.
3792
37932011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3794
3795 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
3796
3797 * include/grub/charset.h (grub_getend): New function.
3798 * grub-core/script/function.c (grub_script_function_find): Use
3799 grub_getend.
3800 * grub-core/normal/completion.c (add_completion): Likewise.
3801
f3cb4a4e
VS
38022011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3803
3804 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
3805 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
3806 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
3807 (GRUB_UNICODE_TAG_END): Likewise.
3808 (GRUB_UNICODE_LAST_VALID): Likewise.
3809
5da8dbc5
VS
38102011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3811
3812 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
3813 len and make it smaller. All users updated.
3814 * util/import_unicode.py: Put length and not end character.
3815 Check length.
3816
8569f13d
VS
38172011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3818
3819 Make better Unicode-compliant and unify some UTF-8 code pathes.
3820
3821 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
3822 valid character.
3823 (grub_is_valid_utf8): Use grub_utf8_process.
3824 Check resulting code range.
3825 (grub_utf8_to_ucs4): Use grub_utf8_process.
3826 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
3827 valid character.
3828
cc4fddf5
VS
38292011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3830
3831 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
3832
bbc47747
VS
38332011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3834
3835 * docs/grub.texi (Filesystems): Mention AFS.
3836
f63d6bf4
VS
38372011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3838
3839 * docs/grub.texi (Filesystems): Clarify restrictions.
3840 (Regexp): Mention non-Unicode regexp behaviour.
3841 (Other): Mention non-Unicode matching behaviour.
3842
74bbf0db
VS
38432011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3844
f63d6bf4 3845 Make HFS implementation use MacRoman.
74bbf0db
VS
3846
3847 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
3848 (macroman): New const array.
3849 (macroman_to_utf8): New function.
3850 (utf8_to_macroman): Likewise.
3851 (grub_hfs_find_dir): Use utf8_to_macroman.
3852 (grub_hfs_dir): Use macroman_to_utf8.
3853 Set case_insensitive.
3854
4ea0316e
VS
38552011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3856
3857 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
3858
d3c13cbd
VS
38592011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 Integrate hints into autogeneration scripts.
3862
3863 * docs/grub.texi (Filesystems): Add a hostdisk example.
3864 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
3865 (grub-probe): Add ofpath.
3866 * gentpl.py: Remove group nosparc64.
3867 * grub-core/commands/search.c (cache_entry): New struct.
3868 (cache): New var.
3869 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
3870 * grub-core/commands/search_wrap.c (options): Add platform-specific
3871 hint options.
3872 (grub_cmd_search): Handle platform-specific hints.
3873 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
3874 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
3875 (grub_util_biosdisk_data): Likewise.
3876 (grub_util_biosdisk_open): Set device_map.
3877 (read_device_map): Handle "" as indication of no map.
3878 Set device_map.
3879 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
3880 (grub_util_biosdisk_get_compatibility_hint): New function.
3881 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
3882 * include/grub/emu/hostdisk.h
3883 (grub_util_biosdisk_get_compatibility_hint): New proto.
3884 * util/grub-install.in: Don't call grub-mkdevicemap.
3885 Add platform-specific hint to load.cfg.
3886 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
3887 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
3888 hints. Set root preliminary to compatibility hint, not to OS name.
3889 * util/grub-probe.c (PRINT_*): Add hints.
3890 (print): Make static.
3891 (escape_of_path): New function.
3892 (guess_bios_drive): Likewise.
3893 (guess_efi_drive): Likewise.
3894 (guess_baremetal_drive): Likewise.
3895 (print_full_name): Likewise.
3896 (probe): Handle hints.
3897 (main): Likewise.
3898 * util/ieee1275/devicemap.c: Removed.
3899 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
3900 updated.
3901 (grub_util_devname_to_ofpath): Return NULL on failure.
3902
3903 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
3904 resource leak.
3905 * util/getroot.c (grub_util_pull_device): Fix memory leak.
3906
3907 * po/POTFILES.in: Regenerated.
3908
3909 Allow purely long options
3910
3911 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
3912 (SHORT_ARG_USAGE): Likewise.
3913 (grub_arg_show_help): Compare opt with help_options.
3914 (parse_option): Receive opt as argument. If makes big simplificatons.
3915 All users updated
3916
00ce2df3
VS
39172011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3918
3919 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
3920 Restructure to avoid warning.
3921
e77e325f
VS
39222011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3923
3924 * util/grub-install.in: Account for possible escaped comma in device
3925 name.
3926
165099ea
VS
39272011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3928
3929 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
3930 channel.
3931
ce4a999d
VS
39322011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3933
3934 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
3935 allocation and zero-setting.
3936 (grub_ieee1275_get_devname): Check that alias is complete.
3937
379586ad
VS
39382011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3939
3940 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
3941 unaligned segments.
3942
9197b0ad
VS
39432011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3944
3945 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
3946 prefix.
3947 (grub_ofdisk_open): Check and discard ieee1275 prefix.
3948 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
3949 Add ieee1275 prefix.
3950
edddb7f9
VS
39512011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3952
3953 * docs/grub.texi (Filesystems): Update.
3954
a1a8b1b9
VS
39552011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3956
3957 Support odc, newc and bigendian cpio formats.
3958
3959 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
3960 * grub-core/Makefile.core.def (newc): New module.
3961 (odc): Likewise.
3962 (cpio_be): Likewise.
3963 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
3964 (MAGIC): Likewise.
3965 (MAGIC2): Likewise.
3966 (head) [MODE_ODC]: Adapt for the format.
3967 (head) [MODE_NEWC]: Likewise.
3968 (head) [!MODE_*]: Write fields of interest as arrays.
3969 (MAGIC_USTAR): Removed.
3970 (read_number) [MODE_NEWC]: Change to hex.
3971 (read_number) [!MODE_*]: Parse binary arrays.
3972 (grub_cpio_find_file): Factor out the code for better structure and
3973 always use read_number.
3974 (grub_cpio_mount): Use MAGIC and MAGIC2.
3975 (grub_cpio_dir): Exit on first hook non-0 return.
3976 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
3977 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
3978 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
3979 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
3980 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
3981 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
3982 * grub-core/fs/newc.c: New file.
3983 * grub-core/fs/odc.c: Likewise.
3984 * grub-core/fs/cpio_be.c: Likewise.
3985
58eba9ee
VS
39862011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3987
3988 Fix handling of tar numbers occupying the whole field.
3989
3990 * grub-core/fs/cpio.c (read_number): New function.
3991 (grub_cpio_find_file): Use read_number instead of strtoull.
3992
a54a0e12
VS
39932011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
3996 occupying the whole field size.
3997
a6120aca
LA
39982011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
3999
4000 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
4001
a93964ce
VS
40022011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4003
4004 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
4005
3ea1ca46
SG
40062011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
4007
4008 * grub-core/Makefile.core.def (lzma_decompress): Add missing
4009 TARGET_IMG_LDFLAGS.
4010
b87f7ef2
VS
40112011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4012
4013 * util/getroot.c (ESCAPED_PATH_MAX): New define.
4014 (mountinfo_entry): Increase the field size to take escaping into
4015 account.
4016 (find_root_device_from_libzfs): Add one byte to size of strings for
4017 security.
4018
62092395
VS
40192011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4020
4021 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
4022 an assert.
4023 * util/grub-setup.c (setup): Likewise.
4024
1f0b1a77
VS
40252011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4026
4027 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
4028 _LzmaDecodeA.
4029
8eba9997
VS
40302011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4031
4032 * docs/grub.texi (Internationalisation): New section.
4033
dd0c91e9
VS
40342011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4035
4036 * docs/grub.texi (Loopback booting): New section.
4037
40382011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
4039
4040 * util/grub-mkstandalone.in: Fix minor typo errors.
4041
198e150a
VS
40422011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
4043
4044 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
4045
4046 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
4047 net/icmp.c and net/icmp6.c.
4048 (http): New module.
4049 (priority_queue): Likewise.
4050 * grub-core/io/bufio.c: Rewritten.
4051 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
4052 TYPE_WITH_CONFIGFILE_OPTION.
4053 (legacy_commands): Add bootp and dhcp.
4054 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
4055 (grub_legacy_parse): Likewise.
4056 * grub-core/lib/priority_queue.c: New file.
4057 * grub-core/net/arp.c: Add missing license header.
4058 (arp_find_entry): Removed.
4059 (arp_find_entry): Likewise.
4060 (grub_net_arp_resolve): Rename to ...
4061 (grub_net_arp_send_request): ...this.
4062 (grub_net_arp_receive): New card argument.
4063 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
4064 Set router and DNS server.
4065 (grub_net_configure_by_dhcp_ack): Handle routing information.
4066 (grub_cmd_bootp): Set checksum.
4067 (grub_bootp_init): Remove net_dhcp.
4068 * grub-core/net/dns.c: New file.
4069 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
4070 completion.
4071 (get_card_packet): Handle allocation.
4072 (grub_efinet_findcards): Set mtu.
4073 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
4074 (get_card_packet): Handle allocation.
4075 (emucard): Set mtu.
4076 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
4077 (GRUB_MOD_INIT): Set mtu.
4078 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
4079 mtu.
4080 (get_card_packet): Handle allocation.
4081 (grub_ofnet_findcards): Set mtu.
4082 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
4083 assert.
4084 (grub_net_recv_ethernet_packet): Handle IPv6.
4085 * grub-core/net/http.c: New file.
4086 * grub-core/net/icmp.c: Likewise.
4087 * grub-core/net/icmp6.c: Likewise.
4088 * grub-core/net/ip.c (ip6addr): New type.
4089 (ip6hdr): Likewise.
4090 (reassemble): Likewise.
4091 (cmp): New function.
4092 (reassembles): New variable.
4093 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
4094 (id): New variable.
4095 (send_fragmented): New function.
4096 (grub_net_send_ip_packet): Rename to ...
4097 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
4098 Handle non-UDP.
4099 (grub_net_recv_ip_packets): Rename to ...
4100 (handle_dgram): ... this. Check checksum. Handle non-UDP.
4101 (free_rsm): New function.
4102 (free_old_fragments): Likewise.
4103 (grub_net_recv_ip4_packets): New function.
4104 (grub_net_send_ip6_packet): Likewise.
4105 (grub_net_send_ip_packet): Likewise.
4106 (grub_net_recv_ip6_packets): Likewise.
4107 (grub_net_recv_ip_packets): Likewise.
4108 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
4109 (LINK_LAYER_CACHE_SIZE): New const.
4110 (link_layer_find_entry): New function.
4111 (grub_net_link_layer_add_address): Likewise.
4112 (grub_net_link_layer_resolve_check): Likewise.
4113 (grub_net_link_layer_resolve): Likewise.
4114 (grub_net_ipv6_get_slaac): Likewise.
4115 (grub_net_ipv6_get_link_local): Likewise.
4116 (grub_cmd_ipv6_autoconf): Likewise.
4117 (parse_ip): Handle one number representation.
4118 (parse_ip6): New functoion.
4119 (match_net): Handle IPv6.
4120 (grub_net_resolve_address): Handle IPv6 and DNS.
4121 (grub_net_resolve_net_address): Handle IPv6.
4122 (route_cmp): New function.
4123 (grub_net_route_address): Find best route.
4124 (grub_net_addr_to_str): Handle IPv6.
4125 (grub_net_addr_cmp): New function.
4126 (grub_net_add_addr): Register local route.
4127 (print_net_address): Handle net address.
4128 (grub_net_poll_cards): Retransmit TCP.
4129 (grub_net_poll_cards_idle_real): Likewise.
4130 (have_ahead): New function.
4131 (grub_net_seek_real): Use underlying seek.
4132 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
4133 * grub-core/net/tcp.c: New file.
4134 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
4135 (cmp): New function.
4136 (ack): Likewise.
4137 (tftp_receive): Handle unordered input.
4138 (destroy_pq): New function.
4139 (tftp_close): Close pq.
4140 * grub-core/net/udp.c: Put missing license header.
4141 (grub_net_udp_socket): New function.
4142 (udp_socket_register): Likewise.
4143 (grub_net_udp_close): Likewise.
4144 (grub_net_recv_udp_packet): Check checksum.
4145 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
4146 * include/grub/misc.h (grub_memchr): New function.
4147 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
4148 (grub_net_card_driver): Return buf in recv.
4149 (grub_net_slaac_mac_list): New struct.
4150 (grub_network_level_protocol_id): Add ipv6.
4151 (grub_net_network_level_addr): Likewise.
4152 (grub_net_network_level_net_addr): Likewise.
4153 (grub_net_app_protocol): Add seek.
4154 (grub_net_socket): Removed.
4155 (grub_net_sockets): Likewise.
4156 (grub_net_socket_register): Likewise.
4157 (grub_net_socket_unregister): Likewise.
4158 (FOR_NET_SOCKETS): Likewise.
4159 (grub_net_add_addr): Add const.
4160 (GRUB_NET_BOOTP_*): New enum.
4161 (grub_net_addr_cmp): New proto.
4162 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
4163 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
4164 (grub_net_hwaddr_to_str): NEw proto.
4165 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
4166 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
4167 (grub_dns_init): New proto.
4168 (grub_dns_fini): Likewise.
4169 (grub_net_tcp_retransmit): Likewise.
4170 (grub_net_link_layer_add_address): Likewise.
4171 (grub_net_link_layer_resolve_check): Likewise.
4172 (grub_net_link_layer_resolve): Likewise.
4173 (grub_net_dns_lookup): Likewise.
4174 (grub_net_add_dns_server): Likewise.
4175 (grub_net_remove_dns_server): Likewise.
4176 (GRUB_NET_TRIES): New const.
4177 (GRUB_NET_INTERVAL): Likewise.
4178 * include/grub/net/arp.h: Mostly rewritten.
4179 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
4180 * include/grub/net/ip.h: Mostly rewritten.
4181 * include/grub/net/netbuff.h: Indent.
4182 * include/grub/net/tcp.h: New file.
4183 * include/grub/net/udp.h: Mostly rewritten.
4184 * include/grub/priority_queue.h: New file.
4185 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
4186 (grub_swap_bytes64_compile_time): Likewise.
4187 (grub_cpu_to_be16_compile_time): Likewise.
4188 (grub_cpu_to_be32_compile_time): Likewise.
4189 (grub_cpu_to_be64_compile_time): Likewise.
4190 (grub_be_to_cpu64_compile_time): Likewise.
4191
215c1800
VS
41922011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
4193
4194 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
4195 UINT_TO_PTR with cast.
4196
c17e546c
VS
41972011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4198
4199 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
4200 don't use them.
4201
ff6b18b6
VS
42022011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4203
4204 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
4205 already there.
4206
70ffcc93
VS
42072011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4208
4209 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
4210 confusing ipxe.
4211
e5f4d260
VS
42122011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4213
4214 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
4215 Add missing const attribute.
4216 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
4217 Likewise.
4218 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
4219 Likewise.
4220
8e54b4b7
VS
42212011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4222
4223 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
4224 misaligned access.
4225 (serpent_setkey): Likewise.
4226 (serpent_encrypt_internal): Likewise.
4227 (serpent_decrypt_internal): Likewise.
4228 (serpent_encrypt): Don't put an alignment-increasing cast.
4229 (serpent_decrypt): Likewise.
4230 (serpent_test): Likewise.
4231
813c0a2b
VS
42322011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4233
4234 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
4235
f2b60fbd
VS
42362011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4237
4238 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
4239
4240 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
4241 grub_addr_t casts.
4242 (PTR_TO_UINT64): Likewise.
4243 (PTR_TO_UINT32): Likewise.
4244
5ef5c511
VS
42452011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4246
4247 * util/grub-mkimage.c (generate_image): Decrease the higher limit
4248 because of stack.
4249 * util/grub-setup.c (setup): Don't add redundancy past the higher load
4250 limit.
4251
c476e6df
VS
42522011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4253
4254 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
4255 text_width > available width a bit more gracefully.
4256
384ad7cc
VS
42572011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
4260 current address calculation.
4261
96f8caf8
VS
42622011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4263
4264 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
4265 stack.
4266 (encode_block): Likewise.
4267
276b7a8b
VS
42682011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4269
4270 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
4271 certainety.
4272
e3fd394a
VS
42732011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4274
4275 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
4276 non-RS part to avoid RS messing with GDT.
4277 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
4278 Increase to suit in realmode routines.
4279
42802011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4281
4282 * grub-core/kern/i386/realmode.S: Increase alignment.
4283 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
4284
ee9c2e7a
VS
42852011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4286
4287 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
4288 be deterministic.
4289 (syndroms): Compute 0 syndrom.
4290 (rs_recover): Use 0 syndrom.
4291
7a7f7cc9
VS
42922011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4293
4294 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
4295
a14b16d1
VS
42962011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4297
4298 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
4299 brackets.
4300
9f59e9fc
VS
43012011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4302
ca1b552c
VS
4303 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
4304 account.
4305 (get_top_pad): Likewise.
4306 (get_right_pad): Likewise.
4307 (get_bottom_pad): Likewise.
4308
43092011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4310
4311 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 4312
e739d698
VS
43132011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
4316 attribute as the structure isn't guaranteed to be properly aligned.
4317 (grub_efi_pci_device_path): Likewise.
4318 (grub_efi_pccard_device_path): Likewise.
4319 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
4320 specify the size of `memory_type'.
4321 (grub_efi_vendor_device_path): Likewise.
4322 (grub_efi_controller_device_path): Likewise.
4323 (grub_efi_acpi_device_path): Likewise.
4324 (grub_efi_expanded_acpi_device_path): Likewise.
4325 (grub_efi_atapi_device_path): Likewise.
4326 (grub_efi_scsi_device_path): Likewise.
4327 (grub_efi_fibre_channel_device_path): Likewise.
4328 (grub_efi_1394_device_path): Likewise.
4329 (grub_efi_usb_device_path): Likewise.
4330 (grub_efi_usb_class_device_path): Likewise.
4331 (grub_efi_i2o_device_path): Likewise.
4332 (grub_efi_mac_address_device_path): Likewise.
4333 (grub_efi_ipv4_device_path): Likewise.
4334 (grub_efi_ipv6_device_path): Likewise.
4335 (grub_efi_infiniband_device_path): Likewise.
4336 (grub_efi_uart_device_path): Likewise.
4337 (grub_efi_vendor_messaging_device_path): Likewise.
4338 (grub_efi_hard_drive_device_path): Likewise.
4339 (grub_efi_cdrom_device_path): Likewise.
4340 (grub_efi_vendor_media_device_path): Likewise.
4341 (grub_efi_file_path_device_path): Likewise.
4342 (grub_efi_protocol_device_path): Likewise.
4343 (grub_efi_piwg_device_path): Likewise.
4344 (grub_efi_bios_device_path): Likewise.
4345
cb8f88ea
VS
43462011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4347
4348 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
4349 (grub_ucs4_to_utf8_alloc): Likewise.
4350 (grub_ucs4_to_utf8): Likewise.
4351 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
4352 (grub_ucs4_to_utf8_alloc): Likewise.
4353
309e5352
VS
43542011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4355
4356 AFFS never uses unicode.
4357
4358 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
4359 (grub_latin1_to_utf8): New inline function.
4360 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
4361
e7987e1b
VS
43622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
4365 overflow.
4366
efc2616e
VS
43672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4368
4369 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
4370 (grub_squash_dirent_header): Likewise.
4371 (read_chunk): Don't double swap.
4372 (grub_squash_iterate_dir): Fix swap sizes.
4373
3c349f5a
VS
43742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4375
4376 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
4377
b453412d
VS
43782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4379
4380 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
4381 (grub_hfs_iterate_dir): Likewise.
4382
12e9d4d1
VS
43832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 Fix video on platforms where unaligned access is forbidden.
4386 Make several optimisations while on it.
4387
4388 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
4389 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4390 (grub_video_fbblit_replace_32bit_1bit): Likewise.
4391 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
4392 Disable.
4393 (grub_video_fbblit_replace_16bit_1bit):
4394 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4395 (grub_video_fbblit_replace_8bit_1bit): Likewise.
4396 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
4397 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
4398 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
4399 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
4400 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
4401 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
4402 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
4403 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
4404 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
4405 (grub_video_fbblit_replace_index_RGB888): Likewise.
4406 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
4407 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
4408 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
4409 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4410 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
4411 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
4412 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
4413 Disable.
4414 (grub_video_fbblit_blend_XXX565_1bit):
4415 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4416 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
4417 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
4418 void *.
4419 * grub-core/video/fb/video_fb.c (common_blitter)
4420 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
4421 (grub_video_fb_create_render_target_from_pointer)
4422 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
4423 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
4424 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
4425 definition.
4426 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
4427
ace96609
VS
44282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4429
4430 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
4431 HH22 and HM10 relocations.
4432
fd261d73
VS
44332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4434
4435 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
4436
e59b7857
VS
44372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4438
4439 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
4440 allocation succeeded.
4441
9b4baaa4
VS
44422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4443
4444 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
4445 argument a u8 pointer. All users updated.
4446 Handle unaligned buffers.
4447
dc713193
VS
44482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4449
4450 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
4451 add_part to workaround compiler bug.
4452
30dd48c2
VS
44532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4454
4455 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
4456
0c6087a8
VS
44572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4458
4459 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
4460 Reserve alignment invariants.
4461 (grub_multiboot_load): Likewise.
4462 (retrieve_video_parameters): Likewise.
4463 (grub_multiboot_make_mbi): Likewise.
4464
c2e77777
VS
44652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4466
4467 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
4468 incorrect pointer.
4469
b70b6d11
VS
44702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4471
4472 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
4473 (grub_pata_pio_write): Likewise.
4474
02a2bf83
VS
44752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4476
4477 Add noreturn attributes and remove unreachable code.
4478
4479 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
4480 code.
4481 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
4482 code. Mark as noreturn.
4483 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
4484 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
4485 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
4486 unreachable code.
4487 * grub-core/kern/main.c (grub_main): Mark as noreturn.
4488 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
4489 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
4490 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
4491 * include/grub/kernel.h (grub_main): Mark as noreturn.
4492 * include/grub/reader.h (grub_rescue_run): Likewise.
4493
2019d09e
VS
44942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4495
4496 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
4497 redundant declaration.
4498
d1c501ee
VS
44992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4500
4501 * include/grub/net.h (grub_net_network_level_interfaces): Remove
4502 redundant declaration.
4503 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
4504
61664420
VS
45052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4506
4507 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
4508 to ensure alignment.
4509 (grub_hdparm_print_identify): Make argument uint16 * to ensure
4510 alignment. Ensure tmp alignment.
4511 (grub_cmd_hdparm): Ensure buf alignment.
4512 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
4513 to ensure alignment.
4514 (grub_ata_dumpinfo): Ensure text alignment.
4515 (grub_atapi_identify): Preserve alignment invariant.
4516 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
4517
0d51ee20
VS
45182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4519
4520 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
4521 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
4522 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
4523 * include/grub/misc.h (grub_reboot)
4524 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
4525 (grub_halt) [__mips__]: Likewise.
4526
753ef8c1
VS
45272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4528
4529 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
4530 Remove redundant declaration.
4531 (grub_mmap_get_post64): Likewise.
4532 (grub_mmap_get_upper): Likewise.
4533 (grub_mmap_get_lower): Likewise.
4534
85c85365
VS
45352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4536
4537 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
4538 uint32_t * to ensure alignment.
4539 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
4540
a23f2cc4
VS
45412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4542
93018f64
VS
4543 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
4544 uint16_t * to ensure alignment.
4545 (sun_pc_partition_map_iterate): Make `block' a union to ensure
4546 alignment.
4547
45482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4549
4550 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
4551 to ensure alignment.
4552 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
4553
58acccd6
VS
45542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4555
4556 * grub-core/fs/ntfs.c (u16at): Make into inline function.
4557 Handle unaligned pointers.
4558 (u32at): Likewise.
4559 (u64at): Likewise.
4560 (fixup): Use byte access instead of v16at.
4561 (find_attr): Fix imporper usage of v32at.
4562 (read_data): Likewise.
4563 (list_file): Handle byte-swapping and unaligned strings.
4564 (grub_ntfs_label): Likewise.
4565
9b05cad7
VS
45662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4567
4568 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
4569 as it's not necessarily aligned.
4570
b3950b84
VS
45712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4572
4573 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
4574 redundant declaration.
4575 (grub_serial_init): Likewise.
4576 (grub_terminfo_init): Likewise.
4577
fcd232b7
VS
45782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4579
4580 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
4581 function.
4582 (ZAP_HASH_IDX): Likewise.
4583 (ZAP_LEAF_HASH_SHIFT): Likewise.
4584 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
4585 (LEAF_HASH): Likewise.
4586 (ZAP_LEAF_NUMCHUNKS): Likewise.
4587 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
4588 alignment invariants. Return pointer. All users updated.
4589 (ZAP_LEAF_ENTRY): Make into inline function.
4590 (NBBY): Removed.
4591 (xor): LIkewise.
4592 (xor_out): Use grub_crypto_xor.
4593 (dnode_get_path): Use grub_get_unaligned.
4594 (nvlist_find_value): Likewise.
4595 (grub_zfs_nvlist_lookup_uint64): Likewise.
4596 (grub_zfs_nvlist_lookup_string): Likewise.
4597 (get_nvlist_size): Likewise.
4598 (grub_zfs_open): Likewise.
4599 (fill_fs_info): Likewise.
4600 (grub_zfs_dir): Likewise.
4601 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
4602 alignment invariants.
4603 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
4604 necessarily aligned.
4605
f138623a
VS
46062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
4609
564840dc
VS
46102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4611
4612 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
4613 arithmetic to conserve alignment invariants.
4614
9b40df20
VS
46152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4616
4617 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
4618 redundant declaration.
4619 (grub_efiemu_mm_obtain_request): Likewise.
4620 (grub_efiemu_prepare): Likewise.
4621
d1c930f9
VS
46222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4623
4624 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
4625 to match types.
4626
4c5f3056
VS
46272011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4628
4629 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
4630 case of aunaligned recptr.
4631 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
4632 alignment.
4633 (grub_hfsplus_btree_search): Handle unaligned index.
4634
728cba91
VS
46352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4636
4637 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
4638 to get freetag and skip.
4639
eb561f31
VS
46402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4641
4642 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
4643 array.
4644 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
4645 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
4646
20993fbb
VS
46472011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4648
4649 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
4650 name for checksum and fix allocation algorithm.
4651
1f313b94
VS
46522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4653
4654 * include/grub/types.h (grub_properly_aligned_t): New type.
4655 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
4656 (grub_get_unaligned16): Add explicit casts.
4657 (grub_get_unaligned32): Likewise.
4658 (grub_get_unaligned64): Likewise.
4659 (grub_set_unaligned16): New function.
4660 (grub_set_unaligned32): Likewise.
4661
47ae27ec
VS
46622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4663
4664 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
4665
78c2cd1c
VS
46662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4667
4668 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
4669 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
4670 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
4671
53072f9b
VS
46722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4673
4674 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
4675 conditionals.
4676
055dc239
VS
46772011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
4680 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
4681
496bd074
VS
46822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4683
4684 Unify and improve RAID and crypto xor.
4685
4686 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
4687 changed to grub_crypto_xor
4688 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
4689 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
4690 Use bigger types when possible.
4691
ef6e4335
VS
46922011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4693
4694 * grub-core/disk/raid.c (scan_devices): Fix condition.
4695
5d048bf2
VS
46962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4697
4698 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
4699 Make name a const ptr.
4700
ee533335
VS
47012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
4704 first argument a const pointer.
4705 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
4706 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
4707 proto.
4708 (grub_children_iterate): Likewise.
4709 (grub_machine_mmap_iterate): Remove redundant declaration.
4710
cc8f3668
VS
47112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4712
4713 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
4714 (grub_cmd_acpi) [!x86]: Disable EBDA.
4715
c5fc563a
VS
47162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4717
4718 Enable UTF8 in gnulib regexp.
4719
4720 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
4721 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
4722 (isupper): Use grub_isupper.
4723 (isascii): New inline function.
4724 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
4725 * grub-core/lib/posix_wrap/wctype.h: Likewise.
4726 * grub-core/normal/charset.c (grub_utf8_process): New function.
4727 (grub_utf8_to_utf16): Use grub_utf8_process.
4728 (grub_encode_utf8_character): New function.
4729 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
4730 * include/grub/charset.h (grub_utf8_process): New declaration.
4731 (grub_encode_utf8_character): Likewise.
4732 * include/grub/misc.h (grub_islower): New inline function.
4733 (grub_isupper): Likewise.
4734 (grub_strchrsub): Moved down to fix the definitions.
4735
0af2346f
VS
47362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4737
4738 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
4739 specification.
4740
74dbd244
VS
47412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4742
4743 * include/grub/loader.h (grub_loader_register_preboot_hook):
4744 Use struct preboot * and not void * for handle. All users updated.
4745 (grub_loader_unregister_preboot_hook): Likewise.
4746
1bc8f60d
VS
47472011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
4748
4749 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
4750 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
4751 UTF-16-BE. All users updated.
4752 (grub_hfsplus_cmp_catkey): Fix unicode handling.
4753 (grub_hfsplus_iterate_dir): Likewise.
4754 (grub_hfsplus_label): Likewise.
4755
48d6e456
VS
47562011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
4757
4758 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
4759
bf3a3857
VS
47602011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
4761
4762 Add missing const qualifiers.
4763
4764 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
4765 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
4766 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
4767 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
4768 (grub_lvm_check_flag): Likewise.
4769 * grub-core/efiemu/i386/coredetect.c
4770 (grub_efiemu_get_default_core_name): Likewise
4771 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
4772 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
4773 * grub-core/fs/ntfs.c (fixup): Likewise.
4774 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
4775 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
4776 (fzap_lookup): Likewise.
4777 (zap_lookup): Likewise.
4778 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
4779 * grub-core/lib/legacy_parse.c (check_option): Likewise.
4780 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
4781 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
4782 (grub_freebsd_add_meta_module): Likewise.
4783 (grub_cmd_freebsd_module): Likewise.
4784 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
4785 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
4786 (grub_xnu_writetree_get_size): Likewise.
4787 (grub_xnu_writetree_toheap_real): Likewise.
4788 (grub_xnu_find_key): Likewise.
4789 (grub_xnu_create_key): Likewise.
4790 (grub_xnu_create_value): Likewise.
4791 (grub_xnu_register_memory): Likewise.
4792 (grub_xnu_check_os_bundle_required): Likewise.
4793 (grub_xnu_scan_dir_for_kexts): Likewise.
4794 (grub_xnu_load_kext_from_dir): Likewise.
4795 * grub-core/normal/color.c (color_list): Likewise.
4796 * grub-core/normal/completion.c (current_word): Likewise.
4797 * grub-core/normal/menu_entry.c (insert_string): Likewise.
4798 * grub-core/term/serial.c (grub_serial_find): Likewise.
4799 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
4800 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
4801 Likewise.
4802 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
4803 (grub_freebsd_add_meta_module): Likewise.
4804 * include/grub/lib/arg.h (grub_arg_option): Likewise.
4805 * include/grub/net.h (grub_net_card_driver): Likewise.
4806 (grub_net_card): Likewise.
4807 (grub_net_app_protocol): Likewise.
4808 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
4809 * include/grub/serial.h (grub_serial_find): Likewise.
4810 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
4811 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
4812 (grub_xnu_create_value): Likewise.
4813 (grub_xnu_find_key): Likewise.
4814 (grub_xnu_scan_dir_for_kexts): Likewise.
4815 (grub_xnu_load_kext_from_dir): Likewise.
4816
4817 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
4818 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
4819 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
4820 Moved from here ...
4821 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
4822
112b4837
CW
48232011-11-28 Colin Watson <cjwatson@ubuntu.com>
4824
4825 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
4826
49e891ac
VS
48272011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
4828
4829 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
4830 (read_device): Fix size calculation.
4831
fd258e5c
RM
48322011-11-25 Robert Millan <rmh@gnu.org>
4833
4834 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
4835 (find_root_device_from_libzfs): Add zpool output parser to be used
4836 as fallback when libzfs isn't available.
4837
78845dc2
SG
48382011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
4839
4840 * po/Makefile.in.in: Add missing escape-continuation.
4841
adac5211
VS
48422011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
4843
4844 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
4845
10b64f1c
VS
48462011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
4849
bb416954
VS
48502011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
4853
bdfe9eeb
VS
48542011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4855
4856 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
4857
581ffa8a
VS
48582011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4859
4860 * grub-core/lib/adler32.c: Add missing license specification.
4861 * grub-core/lib/crc64.c: Likewise.
4862 * grub-core/loader/i386/pc/plan9.c: Likewise.
4863 * grub-core/partmap/plan.c: Likewise.
4864
2536cf64
LK
48652011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
4866
4867 Add facility to debug GRUB with gdb under qemu.
4868
4869 * grub-core/gdb_grub.in: New file.
4870 * grub-core/gmodule.pl.in: Likewise.
4871 * grub-core/Makefile.core.def (gmodule.pl): New script.
4872 (gdb_grub): Likewise.
4873
bc108a4a
VS
48742011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4875
4876 * util/grub-mount.c (argp_parser): Accept relative pathes.
4877 * util/grub-fstest.c (argp_parser): Likewise.
4878
111c1778
VS
48792011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4880
4881 Plan9 support.
4882
4883 * Makefile.util.def (libgrubmods): Add
4884 grub-core/partmap/plan.c.
4885 * docs/grub.texi: Notice Plan9 support.
4886 * grub-core/Makefile.core.def (plan9): New module.
4887 (part_plan): Likewise.
4888 * grub-core/loader/i386/pc/plan9.c: New file.
4889 * grub-core/partmap/plan.c: Likewise.
4890 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
4891 define.
4892 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
4893 * include/grub/mm.h (grub_extend_alloc): New inline function.
4894
c30be3b6
VS
48952011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 Make Reed-Solomon faster by using power of generator representation of
4898 GF(256)*.
4899
4900 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
4901 (gf_double_t): Likewise.
4902 (gf_invert): Removed.
4903 (gf_powx): New array.
4904 (gf_powx_inv): Likewise.
4905 (scratch): Move higher.
4906 (gf_reduce): Removed.
4907 (gf_mul): Use powx.
4908 (gf_invert): Likewise.
4909 (init_inverts): Replaced with ...
4910 (init_powx): ...this. All users updated.
4911 (pol_evaluate): Replace multiplications with additions.
4912 (rs_encode): Likewise.
4913 (gauss_eliminate): Call gf_invert.
4914 (grub_reed_solomon_add_redundancy): Call init_powx.
4915 (grub_reed_solomon_recover): Call init_powx unconditionally.
4916
fa5aeffc
VS
49172011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
4920
a346b81c
VS
49212011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4922
4923 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
4924 disk->partiton for safety.
4925
d89ee414
VS
49262011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
4929 Fix a memory leak.
4930 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
4931
91ee7b6d
VS
49322011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4933
4934 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
4935
91e5a33d
VS
49362011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4937
4938 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
4939
9edd7be2
VS
49402011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4941
4942 Fix spaces handling in proc/self/mountinfo.
4943
4944 * util/getroot.c (unescape): New function.
4945 (grub_find_root_device_from_mountinfo): Use unescape.
4946
ba102053
VS
49472011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4948
4949 Support ZFS embedding.
4950
4951 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
4952 (grub_zfs_fs): Register grub_zfs_embed.
4953
aa94b870
VS
49542011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4955
4956 Fix MIPS compilation.
4957
4958 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
4959 * include/grub/offsets.h: Rename decompressor fields from
4960 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
4961 * util/grub-mkimage.c (image_targets): Use new names.
4962
5fbdac14
VS
49632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4964
4965 Defer multiboot device parsing until we're in compressed part.
4966
4967 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
4968 bsd_part. setdevice has fallen into disuse.
4969 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
4970 (bsd_part): Likewise.
4971 (boot_dev): New variable.
4972 (multiboot_trampoline): Don't parse multiboot device.
4973 Pass multiboot device in %edx.
4974 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
4975 grub_boot_device.
4976 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
4977 Likewise.
4978 * grub-core/kern/i386/pc/startup.S: Save edx.
4979 (grub_boot_drive): Removed.
4980 (grub_install_dos_part): Likewise.
4981 (grub_install_bsd_part): Likewise.
4982 (grub_boot_device): New variable.
4983 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
4984 (grub_install_bsd_part): Likewise.
4985 (grub_boot_drive): Likewise.
4986 (grub_boot_device): New variable.
4987 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
4988 Removed.
4989 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
4990 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
4991 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
4992 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
4993 * util/grub-install.in: Remove redundant condition.
4994
691cbb58
VS
49952011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4996
4997 Fix bug introduced by previous commit.
4998
4999 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
5000
60240b8b
VS
50012011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5002
5003 Use decompressors framework on i386-pc. It increases core size
5004 by 46 bytes but improves compatibility and maintainability.
5005
5006 * grub-core/Makefile.core.def (lzma_decompress): New image.
5007 (kernel): Add i386_pc_ldflags.
5008 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
5009 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
5010 to real_to_prot, prot_to_real and device info.
5011 * include/grub/offsets.h: Renamed decompressor offsets.
5012 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
5013 (image_target_desc): Remove raw_size and rename decompressor fields.
5014 (compress_kernel): Handle lzma.
5015 (generate_image): Handle decompressors on i386-pc.
5016
e9d3421c
VS
50172011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 * configure.ac: Add -fno-asynchronous-unwind-tables.
5020
2b23074a
VS
50212011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5022
5023 Move assembly code to C by using intwrap. It increases core size
5024 by 88 bytes but improves compatibility and maintainability.
5025
5026 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
5027 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
5028 ... here. Translated to C.
5029 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
5030 * grub-core/term/i386/pc/console.c (grub_console_getkey):
5031 ... here. Translated to C.
5032 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
5033 * grub-core/term/i386/pc/console.c (grub_console_getxy):
5034 ... here. Translated to C.
5035 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
5036 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
5037 ... here. Translated to C.
5038 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
5039 * grub-core/term/i386/pc/console.c (grub_console_cls):
5040 ... here. Translated to C.
5041 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
5042 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
5043 ... here. Translated to C.
5044 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
5045 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
5046 Translated to C.
5047 * grub-core/term/i386/pc/console.c (int10_9): New function.
5048 (grub_console_putchar): Likewise.
5049 * include/grub/i386/pc/console.h: Removed the not anymore shared
5050 functions.
5051
678f4b67
VS
50522011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5053
5054 Move grub_chainloader_real_boot out of the kernel.
5055
5056 * grub-core/Makefile.am: Remove machine/loader.h.
5057 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
5058 Removed.
5059 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
5060 variable.
5061 (grub_relocator16_keep_a20_enabled): Likewise.
5062 (grub_relocator16_boot): Fill new variables.
5063 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
5064 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
5065 relocator.
5066 (grub_chainloader_unload): Likewise.
5067 (grub_chainloader_cmd): Likewise.
5068 * include/grub/i386/pc/loader.h: Removed.
5069 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
5070 and esi. All initialisers updated.
5071
4626edf6
VS
50722011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
50732011-11-12 Colin Watson <cjwatson@ubuntu.com>
5074
5075 * Makefile.util.def (grub-mount): New util.
5076 * .bzrignore: Add grub-mount.
5077 * configure.ac: Check for fuse and enable grub-mount if available.
5078 * docs/man/grub-mount.h2m: New file.
5079 * util/grub-mount.c: Likewise.
5080
10f0117b
VS
50812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5082
5083 * grub-core/commands/efi/fixvideo.c: Gettextize.
5084 * grub-core/commands/hashsum.c: Likewise.
5085 * grub-core/commands/i386/cmostest.c: Likewise.
5086 * grub-core/commands/i386/pc/drivemap.c: Likewise.
5087 * grub-core/commands/i386/pc/lsapm.c: Likewise.
5088 * grub-core/commands/i386/pc/sendkey.c: Likewise.
5089 * grub-core/commands/lsmmap.c: Likewise.
5090 * grub-core/commands/menuentry.c: Likewise.
5091 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
5092 * grub-core/commands/setpci.c: Likewise.
5093 * grub-core/loader/i386/bsd.c: Likewise.
5094 * grub-core/loader/i386/linux.c: Likewise.
5095 * util/getroot.c: Likewise.
5096 * util/grub-editenv.c: Likewise.
5097 * util/grub-fstest.c: Likewise.
5098 * util/grub-mkfont.c: Likewise.
5099 * util/grub-mkimage.c: Likewise.
5100 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5101 * util/grub-pe2elf.c: Likewise.
5102 * util/grub-probe.c: Likewise.
5103 * util/grub-setup.c: Likewise.
5104 * util/ieee1275/ofpath.c: Likewise.
5105 * util/misc.c: Likewise.
5106 * util/raid.c: Likewise.
5107
566f779b
RM
51082011-11-11 Robert Millan <rmh@gnu.org>
5109
5110 * util/getroot.c (grub_util_get_geom_abstraction): Remove
5111 __attribute__((unused)) from `os_dev', which *is* being used.
5112
b50787de
VS
51132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5114
5115 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
5116 forgotten define.
5117 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
5118 GRUB_IA64_DL_GOT_ALIGN.
5119 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
5120 GRUB_IA64_DL_TRAMP_ALIGN.
5121
119d11c8
VS
51222011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5123
5124 Replace grub_fatal with normal errors in i386 linux loader.
5125
5126 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
5127 (allocate_pages): Check find_efi_mmap_size return value.
5128 (grub_e820_add_region): Return error.
5129 (grub_linux_boot): Check mmap return value.
5130
6e0632e2
VS
51312011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5132
5133 * grub-core/commands/acpihalt.c: Gettextized.
5134 * grub-core/commands/cacheinfo.c: Likewise.
5135 * grub-core/commands/cmp.c: Likewise.
5136 * grub-core/commands/efi/loadbios.c: Likewise.
5137 * grub-core/commands/gptsync.c: Likewise.
5138 * grub-core/commands/ieee1275/suspend.c: Likewise.
5139 * grub-core/commands/legacycfg.c: Likewise.
5140 * grub-core/commands/memrw.c: Likewise.
5141 * grub-core/commands/minicmd.c: Likewise.
5142 * grub-core/commands/parttool.c: Likewise.
5143 * grub-core/commands/time.c: Likewise.
5144 * grub-core/commands/videoinfo.c: Likewise.
5145 * grub-core/disk/geli.c: Likewise.
5146 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
5147 * grub-core/disk/luks.c: Likewise.
5148 * grub-core/disk/lvm.c: Likewise.
5149 * grub-core/font/font_cmd.c: Likewise.
5150 * grub-core/fs/zfs/zfscrypt.c: Likewise.
5151 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5152 * grub-core/gfxmenu/view.c: Likewise.
5153 * grub-core/kern/emu/hostdisk.c: Likewise.
5154 * grub-core/kern/emu/main.c: Likewise.
5155 * grub-core/kern/emu/misc.c: Likewise.
5156 * grub-core/kern/emu/mm.c: Likewise.
5157 * grub-core/kern/mips/arc/init.c: Likewise.
5158 * grub-core/kern/mips/loongson/init.c: Likewise.
5159 * grub-core/kern/partition.c: Likewise.
5160 * grub-core/lib/i386/halt.c: Likewise.
5161 * grub-core/lib/mips/arc/reboot.c: Likewise.
5162 * grub-core/lib/mips/loongson/reboot.c: Likewise.
5163 * grub-core/loader/i386/pc/chainloader.c: Likewise.
5164 * grub-core/loader/i386/xnu.c: Likewise.
5165 * grub-core/loader/multiboot.c: Likewise.
5166 * grub-core/net/bootp.c: Likewise.
5167 * grub-core/net/net.c: Likewise.
5168 * grub-core/normal/term.c: Likewise.
5169 * grub-core/partmap/bsdlabel.c: Likewise.
5170 * grub-core/parttool/msdospart.c: Likewise.
5171 * grub-core/term/gfxterm.c: Likewise.
5172 * grub-core/term/terminfo.c: Likewise.
5173 * grub-core/video/i386/pc/vbe.c: Likewise.
5174 * util/grub-menulst2cfg.c: Likewise.
5175 * util/grub-mkdevicemap.c: Likewise.
5176 * util/grub-mklayout.c: Likewise.
5177 * util/grub-mkrelpath.c: Likewise.
5178 * util/grub-script-check.c: Likewise.
5179 * util/ieee1275/grub-ofpathname.c: Likewise.
5180 * util/resolve.c: Likewise.
5181
073aa7a9
VS
51822011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5183
5184 Support %1$d syntax.
5185
5186 * tests/printf_unit_test.c: New file.
5187 * Makefile.util.def (printf_test): New test.
5188 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
5189
c76b5417
VS
51902011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
5193 fix.
5194
df067ad1
VS
51952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
5198 dprintf.
5199 * grub-core/font/font.c (grub_font_load): Likewise.
5200
5b289bc5
VS
52012011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5202
5203 * util/grub-macho2img.c: Add comment concerning gettext.
5204 * grub-core/lib/legacy_parse.c: Likewise.
5205
c1860f87
VS
52062011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5207
5208 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
5209 (grub_xvasprintf): Likewise.
5210
d35d0d37
VS
52112011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5212
5213 Add const keyword to grub_env_get and gettextize week days.
5214
5215 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
5216 (grub_read_hook_datetime): Return const char *.
5217 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
5218 updated.
5219 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
5220 Mark for gettext.
5221 (grub_get_weekday_name): Return const char *. Call gettext.
5222 * grub-core/script/argv.c (grub_script_argv_append): Receive const
5223 char * and len as the argument. All users updated.
5224 (grub_script_argv_split_append): Receive const char *.
5225 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
5226 * include/grub/env.h (grub_env_get): Likewise.
5227 (grub_env_read_hook_t): Return const char *.
5228 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
5229 (grub_script_argv_split_append): Likewise.
5230
9aed8a71
VS
52312011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5232
5233 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
5234
067fdf00
VS
52352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5236
5237 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
5238 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
5239
a8bd9d39
VS
52402011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5241
5242 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
5243 Fix prototype.
5244
f7ce5baf
VS
52452011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5246
5247 Fix mips compilation.
5248
5249 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
5250 normal decoder.
5251 (hashes): Use in embed decoder as well (for sizes).
5252 (dec_stream_header): Fix embed decompressor logic.
5253 (dec_stream_footer): Likewise.
5254
9bb182f3
VS
52552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5256
5257 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
5258 an error and not a fatal on unrecognised relocation types.
5259
63a9e6f6
VS
52602011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5261
5262 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
5263 Issue error rather than printf on unknown arguments.
5264
4c458569
VS
52652011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5266
5267 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
5268 Make buf a const.
5269
e2d22baf
VS
52702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5271
5272 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
5273 Fix module name.
5274
53dc8590
VS
52752011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5276
5277 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
5278 leftover debug printf.
5279
6c189294
VS
52802011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5281
5282 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
5283
f7688369
VS
52842011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5285
5286 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
5287 A stylistic fix.
5288
11a775a3
VS
52892011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
5292
33f784e8
SL
52932011-11-10 Shea Levy <slevy@tieronedesign.com>
5294
5295 Allow all modules to perform serial IO
5296
5297 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
5298 * include/grub/serial.h (grub_serial_port_configure): New inline
5299 function.
5300 (grub_serial_port_fetch): Likewise.
5301 (grub_serial_port_put): Likewise.
5302 (grub_serial_port_fini): Likewise.
5303 (grub_serial_find): New proto.
5304
f6276525
VS
53052011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5306
5307 Put symlink at the end of the node and fix a potential
5308 memory corruption.
5309
5310 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
5311 Make symlink into an array.
5312 (set_rockridge): Set have_symlink and alloc_dirents.
5313 (grub_iso9660_read_symlink): Use new layout.
5314 (grub_iso9660_iterate_dir): Fix memory corruption.
5315 Use new layout.
5316 (grub_iso9660_dir): Set have_symlink.
5317 (grub_iso9660_open): Likewise.
5318
c3591189
VS
53192011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5320
5321 Remove local keyword.
5322
5323 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
5324 (version_test_gt): Likewise.
5325 (version_find_latest): Likewise.
5326 (gettext_printf): Likewise.
5327 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
5328
cb544caa
VS
53292011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5330
5331 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
5332
45bd824d
VS
53332011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5334
5335 Fix ZFS memory and resource leaks.
5336
5337 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
5338 All users updated.
5339 Free type on exit.
5340 (fill_vdev_info): New parameter inserted. All users updated.
5341 (check_pool_label): Likewise.
5342 (scan_disk): Likewise.
5343 (scan_devices): Close non-inserted disks.
5344 (fzap_iterate): Free l.
5345 (unmount_device): Free children descripto memory.
5346
ad9a2f44
VS
53472011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
5350 argument (access out of bounds).
5351
6b68db81
VS
53522011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
5355 >= 6 drives.
5356
28840fda
VS
53572011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5358
5359 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
5360 Fix declaration.
5361
8a5a3a5b
VS
53622011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5363
5364 Fix several memory leaks.
5365
5366 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
5367 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
5368 (grub_cpio_dir): Likewise.
5369 * grub-core/fs/fat.c (grub_fat_label): Likewise.
5370 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
5371 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
5372 (grub_romfs_label): Likewise.
5373 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
5374 (squash_unmount): New function.
5375 (grub_squash_dir): Fix memory leak.
5376 (grub_squash_open): Likewise.
5377 (grub_squash_read): Likewise.
5378 (grub_squash_mtime): Likewise.
5379 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
5380 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
5381 * util/grub-fstest.c (fstest): Likewise.
5382
57b01250
VS
53832011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5384
5385 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
5386 avoid accessing beyond the array.
5387
19e81ba7
VS
53882011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5389
5390 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
5391
52b656c0
VS
53922011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5393
5394 Several AFFS fixes.
5395
5396 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
5397 (GRUB_AFFS_FLAG_FFS): Removed.
5398 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
5399 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
5400 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
5401 (grub_fshelp_node): Make block 32-bit.
5402 Add block_cache and last_block_cache.
5403 (grub_affs_read_block): Fill and use block cache.
5404 (grub_affs_read_file): Removed.
5405 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
5406 boot block.
5407 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
5408 safety.
5409 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
5410 space.
5411 (grub_affs_close): Free block cache.
5412 (grub_affs_read): Use grub_fshelp_read_file directly.
5413
438a746a
VS
54142011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5415
5416 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
5417 with no error set.
5418
49a45021
VS
54192011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5420
5421 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
5422 used variable.
5423 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
5424 Likewise.
5425
3ae17eb8
VS
54262011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5427
5428 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
5429
5430 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
5431 byteswap when needed.
5432
27610c38
VS
54332011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5434
5435 Fix FreeBSD compilation.
5436
5437 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
5438 to avoid circular dependency.
5439 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
5440 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
5441 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
5442
4a19b601
VS
54432011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5444
5445 Fix ZFS crypto error types.
5446
5447 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
5448 (grub_gcm_decrypt): Likewise.
5449 (grub_zfs_load_key_real): Fix error code type. Handle possible error
5450 from PBKDF2.
5451
958ee221
VS
54522011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5453
5454 Illumos support.
5455
5456 * Makefile.util.def (10_illumos): New script.
5457 * configure.ac: Set COND_HOST_ILLUMOS.
5458 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
5459 Support Illumos calls.
5460 (find_partition_start) [__sun__]: Likewise.
5461 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
5462 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
5463 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
5464 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
5465 device.
5466 * util/grub-probe.c (probe) [__sun__]: Do character check.
5467 * util/grub.d/10_illumos.in: New file.
5468
cac14fb6
VS
54692011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5470
5471 Support escaped commas in hostdisk.
5472
5473 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
5474 (find_grub_drive): Use unescape_cmp.
5475 (make_device_name): Escape commas.
5476
78e08dc3
VS
54772011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5478
5479 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
5480
9f421dd1
VS
54812011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5482
5483 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
5484 variable.
5485
ed64e9e2
VS
54862011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5487
5488 Support trampoline jumps on powerpc.
5489
5490 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
5491 __ia64__ path.
5492 (grub_dl_load_segments): Set mod->sz.
5493 (grub_dl_flush_cache): Flush whole space occupied by module, not just
5494 segments.
5495 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
5496 (jump): Likewise.
5497 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
5498 function.
5499 (trampoline): New struct.
5500 (trampoline_template): New const.
5501 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
5502 * include/grub/dl.h (grub_dl): Add sz element.
5503 [__powerpc__]: Follow __ia64__.
5504 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
5505 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
5506 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
5507 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
5508
3084ede4
VS
55092011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5510
5511 ZFS crypto support.
5512
5513 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
5514 * grub-core/Makefile.core.def (zfscrypt): New module.
5515 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
5516 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
5517 it. All users updated.
5518 (grub_zfs_decrypt): New var.
5519 (grub_zfs_load_key): Likewise.
5520 (zio_checksum_functions): Add SHA256+MAC.
5521 (zio_checksum_verify): Handle incomplete comparison due to MAC.
5522 (zio_read): Handle encrypted blocks.
5523 (zap_verify): Remove incorrect check.
5524 (fzap_iterate): Handle non-standard fzap.
5525 (zap_iterate): Likewise.
5526 (zap_iterate_u64): New function.
5527 (dnode_get_fullpath): Load keys.
5528 * grub-core/fs/zfs/zfscrypt.c: New file.
5529 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
5530 (grub_crypto_ecb_encrypt): Make input const.
5531 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
5532 (grub_crypto_ecb_encrypt): Make input const.
5533 (GRUB_CIPHER_AES): New macro.
5534 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
5535 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
5536 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
5537 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
5538 prefix. All users updated.
5539 (grub_zfs_add_key): New proto.
5540 (grub_zfs_decrypt): Likewise.
5541 (grub_zfs_load_key): Likewise.
5542 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
5543 * util/grub-fstest.c (options): Add -K option.
5544 (argp_parser): Likewise.
5545
b632b404
VS
55462011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5547
5548 Support zle compression on ZFS.
5549
5550 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
5551 (decomp_table): Add zle.
5552 * include/grub/zfs/zio.h (zio_compress): Add zle.
5553
c7ba4f69
VS
55542011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5555
5556 Support BtrFS embedding.
5557
5558 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
5559 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
5560 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
5561 * util/grub-setup.c (setup): Use fs embedding if available.
5562 Add additional sanity check.
5563
455377d9
VS
55642011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5565
5566 * util/grub-install.in: Fix condition for config_opt.
5567
c2fd16ca
VS
55682011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5569
5570 Support third redundancy strip on raidz3.
5571
5572 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
5573 Return error on singularity. All users updated.
5574 (read_device): Don't stop on 3rd failure on raidz3.
5575
8622923b
VS
55762011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5577
5578 Support case-insensitive ZFS subvolumes.
5579
5580 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
5581 All users updated.
5582 (zap_hash): Likewise.
5583 (name_cmp): New function.
5584 (zap_leaf_array_equal): New parameter case_insensitive.
5585 All users updated.
5586 (zap_leaf_lookup): Likewise.
5587 (fzap_lookup): Likewise.
5588 (zap_lookup): Likewise.
5589 (dnode_get_path): New parameter case_insensitive. Retrieve case
5590 sensitiviness of a volume. All users updated.
5591 (dnode_get_fullpath): New parameter case_insensitive.
5592 All users updated.
5593 (grub_zfs_dir): Set info.case_insensitiveness.
5594
95f2e860
VS
55952011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5596
5597 Support second redundancy strip on raidz(2,3).
5598
5599 * grub-core/fs/zfs/zfs.c (powx): New array.
5600 (powx_inv): Likewise.
5601 (poly): New const.
5602 (xor_out): New function.
5603 (gf_mul): Likewise.
5604 (recovery): Likewise.
5605 (read_device): Use second redundancy strip.
5606
11ee4389
VS
56072011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5608
5609 Use a power of generator representation of GF(256) multiplication group
5610 to save space time and complexity.
5611
5612 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
5613 (raid6_table2): Likewise.
5614 (powx): New array.
5615 (powx_inv): Likewise.
5616 (poly): New const.
5617 (grub_raid_block_mul): Replace with ...
5618 (grub_raid_block_mulx): ...this.
5619 (grub_raid6_init_table): Rewritten.
5620 (grub_raid6_recover): Use power of generator representation.
5621
09e2763f
VS
56222011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5623
5624 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
5625 for the right device.
5626
8bec9a28
VS
56272011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5628
5629 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
5630 expected by grub-mkimage and it's more clear since there is no implicit
5631 padding.
5632
dbd3a32e
VS
56332011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5634
5635 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
5636 disk.
5637 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
5638
182c872a
PMH
56392011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
5640
5641 * util/grub-mkrescue.in: Fix handling xorriso option.
5642
1e51cabd
VS
56432011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5644
5645 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
5646 NULL.
5647
9cc3581d 56482011-11-03 crocket <crockabiscuit@gmail.com>
5649
5650 * util/grub.d/10_linux.in: Add Slackware initrd naming.
5651
158dc1ea
VS
56522011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5653
5654 XZ CRC64 and SHA256 support.
5655
5656 * Makefile.util.def (libgrubmods): Add crc64.c.
5657 * grub-core/Makefile.core.def (crc64): New module.
5658 * grub-core/lib/crc64.c: New file.
5659 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
5660 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
5661 Fix the type.
5662 (MAX_HASH_SIZE): New define.
5663 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
5664 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
5665 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
5666 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
5667 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
5668 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
5669 Handle non-crc32 hashes.
5670 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
5671 (dec_stream_header): Handle non-crc32 hashes.
5672 (dec_stream_footer): Likewise.
5673 (dec_block_header): Likewise.
5674 (dec_main): Likewise.
5675 (xz_dec_init): Likewise.
5676 (xz_dec_reset): Likewise.
5677 (xz_dec_end): Likewise.
5678 * util/import_gcry.py: Add CRC64 line.
5679
9d9b3d2f
VS
56802011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5681
5682 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
5683 as well.
5684
7d0ac931
VS
56852011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5686
5687 Make reiserfs label retrieval similar to other *_label functions.
5688
5689 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
5690 (REISERFS_MAX_LABEL_LENGTH): Removed.
5691 (REISERFS_LABEL_OFFSET): Likewise.
5692 (grub_reiserfs_label): Rewritten.
5693
56942011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5695
5696 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
5697 field.
5698
cf5ba824
VS
56992011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5700
5701 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
5702
17744004
VS
57032011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
5704
5705 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
5706 drive failure on both raidz and raidz2.
5707
aca5aefc
VS
57082011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
5709
5710 Fix RAIDZ(2) for >= 5 devices.
5711
5712 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
5713 asize argument. All users updated.
5714
ce8ca56e
VS
57152011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5716
5717 Fix RAIDZ(2).
5718
5719 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
5720 (fill_vdev_info_real): Set ashift.
5721 (read_device): Rewrite RAIDZ part based on reverse engineering.
5722
7c01e783
VS
57232011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5724
5725 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
5726 don't report potentially unavialiable fields in debug output.
5727 (find_path): Fix double-free and memory leak.
5728
ce109e84
VS
57292011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5730
5731 Read label on UFS1.
5732
5733 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
5734 (grub_ufs_fs): Always set .label.
5735
87661123
VS
57362011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5737
5738 Use shifts in UFS.
5739
5740 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
5741 (grub_ufs_data): New field log2_blksz.
5742 (grub_ufs_read_file): Use shifts.
5743 (grub_ufs_mount): Check block size and logarithm it.
5744
46bc1dc2
VS
57452011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5746
5747 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
5748 long symlinks.
5749
19ee2987
VS
57502011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5751
5752 Handle symlinks and long names on tar and cpio.
5753
5754 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
5755 (ATTR_FILE): Likewise.
5756 (ATTR_DIR): Likewise.
5757 (ATTR_LNK): Likewise.
5758 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
5759 (grub_cpio_find_file): Fill mode, handle linkname field as well as
5760 L and K entries.
5761 (grub_cpio_mount): Zero-fill data.
5762 (handle_symlink): New function.
46bc1dc2
VS
5763 (grub_cpio_dir): Handle symlinks.
5764 (grub_cpio_open): Likewise.
5765 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 5766
c83a08d8
VS
57672011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5768
5769 Fix iso9660 filename limitations and fix memory leaks.
5770
5771 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
5772 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
5773
45cdd3ea
VS
57742011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5775
5776 Fix JFS file name length limitations.
5777
5778 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
5779 (grub_jfs_diropen): Fix maximum filename length.
5780 (grub_jfs_getent): Fix filename length.
5781 (grub_jfs_lookup_symlink): Fix size checks.
5782
94ef05c2
VS
57832011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5784
5785 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
5786 string.
5787
785ab8c7
VS
57882011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5789
eb0b6b45
VS
5790 Leverage BFS implementation to read AFS.
5791
5792 * Makefile.util.def (libgrubmods): Add afs.c.
5793 * grub-core/Makefile.core.def (afs): New module
5794 * grub-core/fs/afs.c: New file.
5795 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
5796
57972011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5798
5799 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 5800
c4a1628f
VS
58012011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5802
5803 * grub-core/fs/bfs.c: Run indent.
5804
5825b379
VS
58052011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5806
5807 BFS implementation based on the specification.
5808
5809 * grub-core/fs/bfs.c: New file.
5810 * Makefile.util.def (libgrubmods): Add bfs.c.
5811 * grub-core/Makefile.core.def (bfs): New module.
5812
42b2a706
VS
58132011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5814
5815 * util/grub-fstest.c (cmd_cp): Clarify error message.
5816 (cmd_cmp): Likewise.
5817
61b99bfc
YB
58182011-10-30 Yves Blusseau <blusseau@zetam.org>
5819
5820 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
5821 and befs_be.
5822
faba3d16
VS
58232011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
5824
5825 Remove afs and befs because of copyright problem.
5826
5827 * grub-core/fs/afs.c: Removed.
5828 * grub-core/fs/afs_be.c: Removed.
5829 * grub-core/fs/befs.c: Removed.
5830 * grub-core/fs/befs_be.c: Removed.
5831 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
5832 * grub-core/Makefile.core.def (afs): Removed.
5833 (afs_be): Likewise.
5834 (befs): Likewise.
5835 (befs_be): Likewise.
5836
c39224b0
VS
58372011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5838
5839 Prefer rockridge over Joliet.
5840
5841 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
5842 to ...
5843 (set_rockridge): ... here.
5844 (grub_iso9660_mount): Check rockridge on the primary label when
5845 discovering. Ignore Joliet if Rockridge is present.
5846
e551115a
VS
58472011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 Use shifts in nilfs2.
5850
5851 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
5852 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
5853 (grub_nilfs2_palloc_entries_per_group): Replace with ...
5854 (grub_nilfs2_log_palloc_entries_per_group): ... this.
5855 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
5856 (grub_nilfs2_entries_per_block): Replaced with ...
5857 (grub_nilfs2_log_entries_per_block_log): ... this.
5858 (grub_nilfs2_blocks_per_group): Replaced with ...
5859 (grub_nilfs2_blocks_per_group_log): ... this.
5860 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
5861 (grub_nilfs2_blocks_per_desc_block_log): ... this.
5862 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
5863 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
5864 (grub_nilfs2_palloc_entry_offset): Replaced ...
5865 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
5866 (grub_nilfs2_dat_translate): Use shifts.
5867 (grub_nilfs2_read_inode): Likewise.
5868 (GRUB_MOD_INIT): Ensure that logs are correct.
5869
564dd58c
VS
58702011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5871
5872 Use shifts in minix filesystem.
5873
5874 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
5875 (GRUB_MINIX_ZONE2SECT): Likewise.
5876 (grub_minix_data): Replace block_size with log_block_size.
5877 (grub_minix_read_file): Use shifts.
5878 (grub_minix_mount): Check block size and take a logarithm.
5879
ed9ba06d
VS
58802011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5881
5882 Use shifts in squash4.
5883
5884 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
5885 (squash_mount): Check block size and take logarithm.
5886 (direct_read): Use shifts.
5887
ad03fe76
VS
58882011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5889
5890 Correct befs block counting logic.
5891
5892 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
5893 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
5894 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
5895 (grub_afs_read_inode): Use block_shift.
5896 (RANGE_SHIFT): New definition.
5897 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
5898 unexpected conditions, use shifts and appropriate types.
5899 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
5900
6563f63d
VS
59012011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5902
5903 * grub-core/disk/raid.c (scan_devices): Check partition.
5904 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
5905
5b1ae25f
VS
59062011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
5907
5908 Support BFS (befs) UUID.
5909
5910 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
5911 (grub_afs_small_data_element_header): New struct.
5912 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
5913 (grub_afs_read_attribute) [MODE_BFS]: New function.
5914 (grub_afs_iterate_dir): Allocate for complete inode.
5915 (grub_afs_mount): Likewise.
5916 (grub_afs_uuid) [MODE_BFS]: New function.
5917 (grub_afs_fs) [MODE_BFS]: Add .uuid.
5918
f8d82408
VS
59192011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
5920
5921 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
5922 (zfs_unmount): Fix memory leak.
5923
5773fb64
VS
59242011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5925
5926 Support NTFS reparse points.
5927
5928 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
5929 (symlink_descriptor): New struct.
5930 (grub_ntfs_read_symlink): New function.
5931 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
5932 (grub_ntfs_open): Likewise.
5933
91c3fdde
VS
59342011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5935
5936 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
5937
3be82e10
VS
59382011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 fstest xnu_uuid subcommand.
5941
5942 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
5943 grub-core/commands/xnu_uuid.c.
5944 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
5945 (fstest): Handle xnu_uuid.
5946 (options): Document xnu_uuid.
5947 (argp_parser): Parse xnu_uuid.
5948
8e32442e
VS
59492011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5950
5951 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
5952 -l argument. Add newline at the end if printing.
5953 (GRUB_MOD_INIT): Document -l.
5954
52a05075
VS
59552011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5956
5957 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
5958
1869edb5
VS
59592011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5960
5961 ZFS multi-device and version 33 support.
5962
5963 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
5964 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
5965 (grub_zfs_data): Add multidev-ice-related fields.
5966 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
5967 (dva_get_offset): Make dva const.
5968 (zfs_fetch_nvlist): New function.
5969 (fill_vdev_info_real): Likewise.
5970 (fill_vdev_info): Likewise.
5971 (check_pool_label): Likewise.
5972 (scan_disk): Likewise.
5973 (scan_devices): Likewise.
5974 (read_device): Likewise.
5975 (read_dva): Likewise.
5976 (zio_read_gang): Use read_dva.
5977 (zio_read_data): Likewise.
5978 (zap_leaf_lookup): Add missing endian conversion.
5979 (zap_verify): Add missing endian conversion. All users updated.
5980 (fzap_lookup): Likewise.
5981 (fzap_iterate): Likewise.
5982 (dnode_get_path): Handle SA bonus.
5983 (nvlist_find_value): Make input const. All users updated.
5984 (unmount_device): New function.
5985 (zfs_unmount): Use unmount_device.
5986 (zfs_mount): Use scan_disk.
5987 (zfs_mtime): New function.
5988 (grub_zfs_open): Handle system attributes.
5989 (fill_fs_info): Likewise.
5990 (grub_zfs_dir): Likewise.
5991 (grub_zfs_fs): Add mtime.
5992 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
5993 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
5994 (SA_MTIME_OFFSET): Likewise.
5995 (SA_SYMLINK_OFFSET): Likewise.
5996 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
5997 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
5998 (fstest): Support zfsinfo.
5999 (argp_parser): Likewise.
6000
186b4028
VS
60012011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6002
6003 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
6004 error.
6005
60062011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
6007
6008 ZFS fixes.
6009
6010 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
6011 sharing the same block. Iterate over correct number of indices.
6012 (dnode_get_path): Handle symlinks correctly.
6013
c0584900
VS
60142011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6015
6016 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
6017
67e2bd71
VS
60182011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6019
6020 Read label on HFS+.
6021
6022 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
6023 (grub_hfsplus_btree_search): Fix types.
6024 (grub_hfsplus_label): Implement.
6025
e9cc6b7b
VS
60262011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6027
6028 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
6029
19832ddb
VS
60302011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6031
6032 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
6033
66b40850
VS
60342011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6035
6036 Fix symlink handling on iso9660.
6037
6038 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
6039 All users updated.
6040 (grub_iso9660_susp_iterate): Accept zero-size iterate.
6041 (grub_iso9660_read_symlink): Moved most of code ...
6042 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
6043
db821363
VS
60442011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6045
6046 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
6047 Use union to avoid breaking strict-aliasing rules.
6048
e1211949
VS
60492011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6050
6051 Support multi-extent iso files.
6052
6053 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
6054 Add node.
6055 (grub_fshelp_node): Revamp. All users updated.
6056 (FLAG_*): New enum.
6057 (read_node): New function.
6058 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
6059 All users updated.
6060 (grub_iso9660_mount): Don't attempt to read sua when there is none.
6061 (get_node_size): New function.
6062 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
6063 entries.
6064 Fix memory leak on . and ..
6065 (grub_iso9660_read): Use read_node.
6066 (grub_iso9660_close): Free node.
6067
d4888031
VS
60682011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6069
6070 Fix tar 4G limit and handle paths containing dot.
6071
6072 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
6073 (canonicalize): New function.
6074 (grub_cpio_find_file): Use canonicalize. Store offs in
6075 grub_disk_addr_t.
6076 (grub_cpio_dir): Use grub_disk_addr_t.
6077 (grub_cpio_open): Likewise.
6078
9f12e664
VS
60792011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6080
6081 Fix handling of uncompressed blocks on squashfs and break 4G limit.
6082
6083 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
6084 unused flags.
6085 (grub_squash_inode): Add long_file and block_size.
6086 (grub_squash_cache_inode): New struct.
6087 (grub_squash_dirent): Make types into enum.
6088 (SQUASH_TYPE_LONG_REGULAR): New type.
6089 (grub_squash_frag_desc): Add field size.
6090 (SQUASH_BLOCK_FLAGS): New enum.
6091 (grub_squash_data): Use grub_squash_cache_inode.
6092 (grub_fshelp_node): Make ino_chunk 64-bit.
6093 (read_chunk): Minor argument change. All users updated.
6094 (squash_mount): Use correct le_to_cpu.
6095 (grub_squash_open): Handle LONG_REGULAR.
6096 (direct_read): New function.
6097 (grub_squash_read_data): Handle blocks correctly.
6098
9f326fba
VS
60992011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6100
6101 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
6102
f4d9b64b
VS
61032011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6104
6105 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
6106
5bbd28b8
VS
61072011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6108
6109 Fix 2G limit on ZFS.
6110
6111 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
6112 types.
6113 (uberblock_verify): Likewise.
6114 (dmu_read): Likewise.
6115 (grub_zfs_read): Likewise. Remove invalid cast.
6116
68c72069
VS
61172011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6118
6119 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
6120 (grub_jfs_blkno): Fix incorrect shift.
6121 (grub_jfs_read_file): Use more appropriate types.
6122
6e536dc8
VS
61232011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6124
6125 Support triple indirect on minix2 and minix3.
6126
6127 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
6128 Declare triple_indir_zone.
6129 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
6130 indirect.
6131
e0864e7a
VS
61322011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6133
6134 Minix FS fixes.
6135
6136 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
6137 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
6138 Rename ctime to mtime. All users updated.
6139 (grub_minix_get_file_block): Fix types and double indirect computations.
6140
89481cab
VS
61412011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6142
6143 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
6144 if no label is found.
6145 (grub_fat_iterate_dir): Fix file size type.
6146 (grub_fat_iterate_dir): Likewise.
6147
f646e143
VS
61482011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6149
6150 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
6151 save some space.
6152 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
6153 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6154
534d769e
VS
61552011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6156
6157 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
6158
e084ba18
VS
61592011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6160
6161 * util/import_gcry.py: Accept space between # and include.
6162
3471ecdf
VS
61632011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6164
6165 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
6166
124df5f6
VS
61672011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6168
6169 Fine grainely disable warnings on lexer. Remove Wno-error on it.
6170
6171 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
6172 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
6173 yylex_strncpy.
6174 * grub-core/script/yylex.l: Add fine-grained #pragma.
6175
4defb8d5
VS
61762011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6177
6178 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
6179 New inline function.
6180 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
6181 Likewise.
6182 (memset) [GRUB_UTIL]: Likewise.
6183 (memcmp) [GRUB_UTIL]: Likewise.
6184
4e94ae65
VS
61852011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6186
6187 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
6188 inline function rather than a define.
6189
18c575e5
VS
61902011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6191
6192 * util/grub-setup.c: Add missing include.
6193
f8bc22a8
VS
61942011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6195
6196 * util/ieee1275/grub-ofpathname.c: Add missing include.
6197
3ce69fc9
VS
61982011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6199
6200 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
6201 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
6202 Likewise.
6203
d1e293bb
VS
62042011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6205
6206 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
6207 grub_memcmp usage.
6208
7a5c54a4
VS
62092011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6210
6211 * util/grub-install.in: Add datarootdir as per automake manual
6212 suggestion.
6213 * util/grub-mknetdir.in: Likewise.
6214
62152011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
6216
6217 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
6218 suggestion.
6219 * util/grub.d/10_kfreebsd.in: Likewise.
6220 * util/grub.d/10_linux.in: Likewise.
6221 * util/grub.d/10_netbsd.in: Likewise.
6222 * util/grub.d/10_windows.in: Likewise.
6223 * util/grub.d/20_linux_xen.in: Likewise.
6224
766f7d08
VS
62252011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
6226
6227 Remove redundant grub_kernel_image_size.
6228
6229 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
6230 _edata and _start.
6231 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
6232 the small code. It moves it only by few bytes but simplifies the code.
6233 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
6234 _start.
6235 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
6236 (grub_kernel_image_size): Removed.
6237 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
6238 (grub_kernel_image_size): Removed.
6239 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
6240 compiled with Apple toolchain.
6241 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
6242 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
6243 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
6244 (grub_total_module_size): Likewise.
6245 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
6246 Removed.
6247 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
6248 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
6249 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
6250 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
6251 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
6252 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
6253 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
6254 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
6255 Removed.
6256 (grub_total_module_size): Removed.
6257 * util/grub-mkimage.c (image_target_desc): Remove image_size.
6258 (image_targets): Likewise.
6259 Set .compressed_size to no field on sparc.
6260 (generate_image): Remove kernel_image_size handling.
6261
fcf1d672
SJ
62622011-10-19 Szymon Janc <szymon@janc.net.pl>
6263
6264 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
6265 NULL pointer dereference.
6266
de9c615e
VS
62672011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
6270 done with a dedicated section.
6271
6272 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
6273 Ensure the correct position of boot_path.
6274 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
6275 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
6276 other fields.
6277 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
6278 * include/grub/boot.h: Removed. All references removed.
6279 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
6280 Removed.
6281 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
6282
e55599dc
VS
62832011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6284
6285 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
6286 name.
6287
36dd20ad
VS
62882011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6289
6290 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
6291
f8f72eb8
VS
62922011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6293
6294 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6295 Don't add the bogus brackets.
6296
a374751b
VS
62972011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6298
6299 ExFAT support.
6300
6301 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
6302 * grub-core/Makefile.core.def (exfat): New module.
6303 * grub-core/fs/exfat.c: New file.
6304 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
6305 (GRUB_FAT_ATTR_*): Make into an enum.
6306 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
6307 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
6308 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
6309 (GRUB_FAT_MAXFILE): Removed.
6310 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
6311 (grub_current_fat_bpb_t): New type.
6312 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
6313 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
6314 (grub_fat_dir_node_t): New type.
6315 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
6316 (fat_log2) [MODE_EXFAT]: Removed.
6317 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
6318 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
6319 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
6320 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
6321 (grub_fat_label) [MODE_EXFAT]: New function.
6322 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
6323 reserved_first_sector to 0.
6324
544c2487
VS
63252011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6326
6327 Move grub_reboot out of the kernel.
6328
6329 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
6330 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
6331 * grub-core/lib/efi/reboot.c: ... here.
6332 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
6333 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
6334 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
6335 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
6336 * grub-core/lib/i386/reboot_trampoline.S: ... here.
6337 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
6338 * grub-core/lib/ieee1275/reboot.c: ... here.
6339 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
6340 * grub-core/lib/mips/arc/reboot.c: ... here.
6341 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
6342 * grub-core/lib/mips/loongson/reboot.c: ...here.
6343 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
6344 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
6345 * include/grub/emu/misc.h (grub_reboot): New function declaration.
6346 * include/grub/i386/reboot.h: New file.
6347 * include/grub/mips/loongson/ec.h: Fix includes.
6348 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
6349 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
6350 * grub-core/lib/i386/reboot.c: New file.
6351
a97501d2
VS
63522011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
6353
6354 Make grub_prefix into module to fix the arbitrary limit and save
6355 some space.
6356
6357 * grub-core/kern/emu/main.c (grub_prefix): Removed.
6358 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
6359 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
6360 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
6361 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
6362 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
6363 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
6364 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
6365 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
6366 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
6367 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
6368 * include/grub/ia64/efi/kernel.h: Removed.
6369 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
6370 (grub_prefix): Removed.
6371 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
6372 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
6373 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
6374 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
6375 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
6376 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
6377 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
6378 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
6379 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
6380 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
6381 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
6382 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
6383 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
6384 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
6385 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
6386 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
6387 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
6388 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
6389 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
6390 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
6391 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
6392 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
6393 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
6394 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
6395 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
6396 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
6397 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
6398 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
6399 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
6400 from module.
6401 * util/grub-mkimage.c (image_target_desc): Removed prefix and
6402 prefix_end.
6403 (image_targets): Likewise.
6404 (generate_image): Put prefix as a module.
6405
39705fad
VS
64062011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6407
6408 Replace grub_module_iterate with FOR_MODULES.
6409
6410 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
6411 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
6412 (grub_efi_modules_addr): ...this.
6413 * grub-core/kern/efi/init.c (grub_modbase): New variable.
6414 (grub_efi_init): Set grub_modbase.
6415 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
6416 (grub_modbase): New variable.
6417 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
6418 (grub_modbase): New variable.
6419 (grub_machine_init): Set grub_modbase.
6420 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
6421 (grub_modbase): New variable.
6422 (grub_machine_init): Set grub_modbase.
6423 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
6424 (grub_modbase): New variable.
6425 (grub_machine_init): Set grub_modbase.
6426 * grub-core/kern/main.c (grub_module_iterate): Remove.
6427 (grub_modules_get_end): Use grub_modbase.
6428 (grub_load_modules): Use FOR_MODULES.
6429 (grub_load_config): Likewise.
6430 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
6431 (grub_modbase): New variable.
6432 (grub_machine_init): Set grub_modbase.
6433 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
6434 (grub_modbase): New variable.
6435 (grub_machine_init): Set grub_modbase.
6436 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
6437 Removed.
6438 (grub_modbase): New variable.
6439 (grub_machine_init): Set grub_modbase.
6440 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
6441 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
6442 (grub_module_iterate): Likewise.
6443 (grub_modbase): New variable declaration.
6444 (FOR_MODULES): New macro.
6445
2afb7f6c
VS
64462011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6447
6448 * configure.ac: Check for __ctzdi2 and __ctzsi2.
6449 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
6450
366e34fa
VS
64512011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6452
6453 Fix few obvious type discrepancies.
6454
6455 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
6456 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
6457 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
6458 variable.
6459 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
6460 and connected types.
6461 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
6462 offset.
6463 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
6464 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
6465 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
6466 and connected types.
6467
177b960e
VS
64682011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6469
6470 Fix python 3.x incompatibilities.
6471
6472 * gentpl.py: Put brackets around print strings.
6473 * util/import_gcry.py: Open explicitly as utf-8.
6474 Use in instead of has_key.
6475
3b619ae1
VS
64762011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6477
6478 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
6479 (GRUB_XFS_INO_AGBITS): Make into inline function.
6480 (GRUB_XFS_INO_INOINAG): Likewise.
6481 (GRUB_XFS_INO_AG): Likewise.
6482 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
6483 (GRUB_XFS_EXTENT_OFFSET): Likewise.
6484 (GRUB_XFS_EXTENT_BLOCK): Likewise.
6485 (GRUB_XFS_EXTENT_SIZE): Likewise.
6486 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
6487 (GRUB_XFS_NEXT_DIRENT): Likewise.
6488 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
6489 (grub_xfs_read_file): Fix offset type.
6490
8bcebcb8
RM
64912011-10-15 Robert Millan <rmh@gnu.org>
6492
6493 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
6494
0017e5ef
RM
64952011-10-15 Robert Millan <rmh@gnu.org>
6496
6497 Fix build problem on FreeBSD and GNU/kFreeBSD.
6498
6499 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
6500
d8919552
VS
65012011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
6504
6505 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
6506 types.
6507 (grub_hfsplus_btree_recoffset): Likewise.
6508 (grub_hfsplus_btree_recptr): Likewise.
6509 (grub_hfsplus_find_block): Likewise.
6510 (grub_hfsplus_btree_search): Likewise.
6511 (grub_hfsplus_read_block): Likewise.
6512 (grub_hfsplus_read_file): Likewise.
6513 (grub_hfsplus_mount): Likewise.
6514 (grub_hfsplus_btree_iterate_node): Likewise.
6515 (grub_hfsplus_btree_search): Likewise.
6516 (grub_hfsplus_iterate_dir): Likewise.
6517 (grub_hfsplus_read): A small code simplification.
6518
c81296b6
VS
65192011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6520
6521 * grub-core/kern/emu/hostdisk.c
6522 (convert_system_partition_to_system_disk): Don't assume that children
6523 of mapper nodes are mapper nodes.
6524
0eb8ffb1
VS
65252011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6526
6527 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
6528 * include/grub/misc.h (grub_isxdigit): New function.
6529 * grub-core/video/colors.c (my_isxdigit): Removed. All users
6530 switched to grub_isxdigit.
6531 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
6532 number starting with a letter.
6533
a98f4a08
RM
65342011-10-09 Robert Millan <rmh@gnu.org>
6535
6536 LVM support for FreeBSD and GNU/kFreeBSD.
6537
6538 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
6539 GNU/kFreeBSD.
6540 (LVM_DEV_MAPPER_STRING): Move from here ...
6541 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
6542 * util/getroot.c: Include `<grub/util/lvm.h>'.
6543 (grub_util_get_dev_abstraction): Enable
6544 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
6545 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
6546 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
6547 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
6548 support it.
6549 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
6550 GNU/kFreeBSD.
6551 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
6552 when LVM abstraction is required for ${GRUB_DEVICE}.
6553
050e8e90
SJ
65542011-10-06 Szymon Janc <szymon@janc.net.pl>
6555
6556 Add support for LZO compression in GRUB:
6557 - import of minilzo library,
6558 - LZO decompression for btrfs,
6559 - lzop files decompression.
6560
6561 * grub-core/io/lzopio.c: New file.
6562 * grub-core/lib/adler32.c: Likewise.
6563 * grub-core/lib/minilzo/lzoconf.h: Likewise.
6564 * grub-core/lib/minilzo/lzodefs.h: Likewise.
6565 * grub-core/lib/minilzo/minilzo.c: Likewise.
6566 * grub-core/lib/minilzo/minilzo.h: Likewise.
6567 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
6568 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
6569 grub-core/lib/minilzo/minilzo.c to common.
6570 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
6571 cflags in cppflags.
6572 * grub-core/Makefile.core.def (btrfs): Likewise.
6573 * grub-core/Makefile.core.def (lzopio): New module.
6574 (adler32): Likewise.
6575 * grub-core/fs/btrfs.c: Include minilzo.h.
6576 (GRUB_BTRFS_COMPRESSION_LZO): New define.
6577 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
6578 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
6579 (grub_btrfs_lzo_decompress): New function.
6580 (grub_btrfs_extent_read): Add support for LZO compression type.
6581 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
6582 (GRUB_USHRT_MAX): Likewise.
6583 (GRUB_UINT_MAX): Likewise.
6584 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
6585 (UINT_MAX): Likewise.
6586 (CHAR_BIT): Likewise.
6587 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
6588 grub-core/lib/posix_wrap/limits.h
6589 (UCHAR_MAX): Likewise.
6590 * include/grub/file.h (grub_file_filter_id): New compression filter
6591 GRUB_FILE_FILTER_LZOPIO.
6592 * include/grub/file.h (grub_file_filter_id): Set
6593 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
6594 * include/grub/types.h (grub_get_unaligned16): New function.
6595 (grub_get_unaligned32): Likewise.
6596 (grub_get_unaligned64): Likewise.
6597 * util/import_gcry.py (cryptolist): Add adler32.
6598
0eb8ffb1
VS
65992011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
6600
6601 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
6602 in perspective decreases the complexity of build system and fixes
6603 compilation right now.
6604
ce79cc99 66052011-10-01 Ales Nesrsta <starous@volny.cz>
6606
6607 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
6608 (fixed problem related to using UHCI with coreboot).
6609
8667a314
BC
66102011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
6611
6612 * gentpl.py: Use Autogen macros so that the output template file
6613 (Makefile.tpl) size is reduced.
6614
fc5efcc0
MK
66152011-09-29 Mads Kiilerich <mads@kiilerich.com>
6616
6617 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
6618 extra_dist.
6619
d1ab689d
ML
66202011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6621
6622 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
6623 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
6624
c05de032
ML
66252011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6626
6627 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
6628 _fullpath.
6629
cca7ccd8
ML
66302011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6631
6632 Remove extra declaration of sleep for mingw32.
6633
6634 * util/misc.c (sleep) [__MINGW32__]: Removed.
6635 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
6636
e0b0dc83
GS
66372011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6638
6639 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
6640 type and packname.
6641 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
6642 Resurrected.
6643 (NETBSD_BTINFO_BOOTWEDGE): New definition.
6644 (grub_netbsd_btinfo_bootwedge): New struct.
6645 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
6646 New function.
6647 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
6648
91a1a164
TH
66492011-09-28 Thomas Haller <thomas.haller@fen-net.de>
6650
6651 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
6652 loader.
6653
2ded951e
AB
66542011-09-28 Andreas Born <futur.andy@googlemail.com>
6655
6656 Fix incorrect identifiers in bash-completion.
6657
6658 * util/bash-completion.d/grub-completion.bash.in
6659 (_grub_mkpasswd-pbkdf2): Rename to ...
6660 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
6661 (_grub_script-check): Rename to ...
6662 (_grub_script_check): ... this. All users updated.
6663
69915030
VS
66642011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
6665
6666 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
6667 Return 0 if disk isn't biosdisk.
6668
20fd15f9
GS
66692011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
6670
6671 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
6672 on NetBSD.
6673 * Makefile.util.def (grub-fstest): Likewise.
6674
1a7d7db9
GS
66752011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
6676
6677 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
6678 Get sector size from disk label.
6679
2221ab6c
CW
66802011-09-05 Colin Watson <cjwatson@ubuntu.com>
6681
6682 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
6683 */README* as well as README*.
6684 Reported by: Axel Beckert.
6685
ca51c4a0
VS
66862011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6687
6688 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
6689 case of less than 256 MiB of RAM.
6690
ab80f326
VS
66912011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6692
6693 * grub-core/commands/wildcard.c (make_regex): Handle @.
6694
4155e697
VS
66952011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6696
6697 * util/grub-install.in: Move cryptodisk logic to appropriate place.
6698
ab178c08
SJ
66992011-08-21 Szymon Janc <szymon@janc.net.pl>
6700
6701 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
6702 AC_LANG_CONFTEST macros.
6703
7dc3c686
SJ
67042011-08-20 Szymon Janc <szymon@janc.net.pl>
6705
6706 Add grub-fstest option to uncompress data for commands.
6707
6708 * util/grub-fstest.c (uncompress): New var.
6709 (options): New option -u.
6710
fe8d4a7b
SJ
67112011-08-20 Szymon Janc <szymon@janc.net.pl>
6712
6713 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
6714 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
6715
a5219af1
SJ
67162011-08-20 Szymon Janc <szymon@janc.net.pl>
6717
6718 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
6719 file type was not recognized correctly (not gzip or corrupted).
6720
f87abff5
VS
67212011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6722
6723 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
6724 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
6725
d94497ea
VS
67262011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6727
6728 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
6729 loongson.
6730 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
6731 video_radeon_fuloong2e.
6732 * grub-core/video/radeon_fuloong2e.c: New file.
6733 * include/grub/video.h (grub_video_id_t): Add new ID
6734 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
6735
0d1fd011
VS
67362011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6737
6738 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
6739 define.
6740 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
6741 that PRID matches the detected subplatform and reset the subplatform
6742 if it doesn't.
6743
84beb0ee
VS
67442011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6745
6746 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
6747
1227c133
VS
67482011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6749
6750 Fix PCI iterating on functions >= 4.
6751
6752 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
6753 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
6754 Removed.
6755 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
6756 (grub_pci_read): Fix bitmask.
6757 (grub_pci_read_word): Likewise.
6758 (grub_pci_read_byte): Likewise.
6759 (grub_pci_write): Likewise.
6760 (grub_pci_write_word): Likewise.
6761 (grub_pci_write_byte): Likewise.
6762
9594c689
VS
67632011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6764
6765 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
6766 can still be specified in TARGET_CFLAGS)
6767
14a2562c
VS
67682011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6769
6770 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
6771
6772 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
6773 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
6774 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
6775 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
6776 (FULOONG): Rename to ...
6777 (FULOONG2F): ... this. All users updated.
6778 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
6779 (machtype_fuloong2f_str): ... this.
6780 (machtype_fuloong2e_str): New string.
6781 Check for machtype_fuloong2e_str.
6782 * grub-core/loader/mips/linux.c (loongson_machtypes)
6783 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
6784 * grub-core/term/serial.c (loongson_defserial)
6785 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
6786 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
6787 loongson_defserial.
6788 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
6789 Rename to ...
6790 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
6791 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
6792 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
6793 to IMAGE_FULOONG2F_FLASH. All users updated.
6794 (image_targets): Rename images.
6795 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
6796
b526cbb6
SJ
67972011-08-19 Szymon Janc <szymon@janc.net.pl>
6798
6799 Make enable of disk cache statistics code configurable.
6800
6801 * configure.ac: --enable-cache-stats added.
6802 * config.h.in (DISK_CACHE_STATS): New define.
6803 * grub-core/Makefile.core.def (cacheinfo): New command.
6804 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
6805 * grub-core/commands/cacheinfo.c: New file.
6806 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
6807 moved to cacheinfo.c.
6808 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
6809 debug code.
6810 * include/grub/disk.h: Likewise.
6811
fb739ccd
SJ
68122011-08-19 Szymon Janc <szymon@janc.net.pl>
6813
6814 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
6815 * grub-core/Makefile.am: Likewise.
6816
2bba8cfd
VS
68172011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
6820 non-zero pull.
6821
43526629
VS
68222011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6823
6824 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
6825 All users updated.
6826 (grub_jfs_lookup_symlink): Use correct starting inode.
6827
5c144cc8
VS
68282011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6829
6830 * util/grub-setup.c (main): Add missing gcry initialisation.
6831
b1257f65
VS
68322011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6833
6834 Don't accept text modes on EFI when booting Linux.
6835
6836 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
6837 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
6838
828bc390
ML
68392011-08-15 Mario Limonciello <mario_limonciello@dell.com>
68402011-08-15 Colin Watson <cjwatson@ubuntu.com>
6841
6842 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
6843 use of "/path/.." as in grub-install for EFI as well as handling
6844 symlinks correctly.
6845 Fixes Debian bug #637768.
6846
5f60ccac
CW
68472011-08-15 Colin Watson <cjwatson@ubuntu.com>
6848
6849 * util/grub-probe.c: Remove duplicate #include.
6850
6dc212f9
RM
68512011-08-10 Robert Millan <rmh@gnu.org>
6852
6853 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
6854
6855 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
6856 function.
6857 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
6858 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
6859
66816d85
RM
68602011-08-03 Robert Millan <rmh@gnu.org>
6861
6862 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
6863 la_array as packed.
6864 Reported by: Zachary Bedell
6865
20168fca
CW
68662011-07-26 Colin Watson <cjwatson@ubuntu.com>
6867
6868 * configure.ac: The Loongson port requires grub-mkfont due to its
6869 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
6870 be built.
6871
303b6246
CW
68722011-07-26 Colin Watson <cjwatson@ubuntu.com>
6873
6874 * util/grub-install.in: Don't source grub-mkconfig_lib until after
6875 processing arguments (otherwise help2man fails when GRUB has not yet
6876 been installed).
6877
6795300e
VS
68782011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6879
41aa28ea
VS
6880 New script grub-mkstandalone.
6881
6882 * Makefile.util.def (grub-mkstandalone): New script.
6883 * docs/man/grub-mkstandalone.h2m: New file.
6884 * util/grub-mkstandalone.in: Likewise.
6885
68862011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6887
6888 Support ATA disks with 4K sectors.
6795300e
VS
6889
6890 * include/grub/ata.h (grub_ata): New member log_sector_size.
6891 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
6892 (grub_ata_identify): Read sector size.
6893 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
6894
92227597
VS
68952011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6896
6897 * util/grub-install.in: Don't use uhci outside of x86.
6898
c77069f5
VS
68992011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6900
6901 * util/grub-mkrescue.in: Add missing quotes.
6902
69032011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
6904
6905 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
6906 dereference.
6907
583168a2
VS
69082011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6909
6910 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
6911
6be1c01f
VS
69122011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6913
6914 * include/grub/video.h: add missing EXPORT_FUND on
6915 grub_video_edid_checksum and grub_video_edid_preferred_mode.
6916
a1167439
VS
69172011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6918
6919 * include/grub/mips/kernel.h: Fix define conflict.
6920
bf66054f
VS
69212011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6922
6923 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
6924 all four ways.
6925
8fc4fa45
CW
69262011-07-21 Colin Watson <cjwatson@ubuntu.com>
6927
6928 Preferred resolution detection for VBE.
6929
6930 * grub-core/video/video.c (grub_video_edid_checksum): New function.
6931 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
6932 the Flat Panel extension, in line with the X.org VESA driver.
6933 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
6934 New function.
6935 (grub_vbe_bios_get_ddc_capabilities): Likewise.
6936 (grub_vbe_bios_read_edid): Likewise.
6937 (grub_vbe_get_preferred_mode): Likewise.
6938 (grub_video_vbe_setup): When the mode is "auto", try to get the
6939 preferred mode from VBE, and use the largest mode that is no larger
6940 than the preferred mode (some BIOSes expose a preferred mode that is
6941 not in their mode list!). If this fails, fall back to 640x480 as a
6942 safe conservative choice.
6943 (grub_video_vbe_get_edid): New function.
6944 (grub_video_vbe_adapter): Add get_edid.
6945 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
6946 (struct grub_video_adapter): Add get_edid.
6947 (grub_video_edid_checksum): Add prototype.
6948 (grub_video_edid_preferred_mode): Likewise.
6949 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
6950 structure.
6951
6952 * grub-core/commands/videoinfo.c (print_edid): New function.
6953 (grub_cmd_videoinfo): Print EDID if available.
6954
6955 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
6956 is more appropriate on a wider range of platforms than 640x480.
6957 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
6958 documentation.
6959
ca5572a9
VS
69602011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6961
6962 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
6963
e4bcf625
VS
69642011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6965
6966 * po/POTFILES.in: Regenerate.
6967
c4edd548
VS
69682011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6969
6970 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
6971 incorrect memory usage.
6972
16a2bab0
VS
69732011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6974
6975 * util/grub-install.in: Source grub-mkconfig_lib.
6976
2e418de6
VS
69772011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
6978
6979 Remove getroot.c from core on emu platform.
6980
6981 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
6982 kern/emu/raid.c.
6983 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
6984 useless.
6985 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
6986 * util/getroot.c (get_win32_path): ... here.
6987 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
6988 * util/getroot.c (fini_libzfs): ... here.
6989 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
6990 * util/getroot.c (grub_get_libzfs_handle): ... here.
6991 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
6992 Moved from here...
6993 * util/getroot.c (grub_find_zpool_from_dir): ... here.
6994 * grub-core/kern/emu/misc.c
6995 (grub_make_system_path_relative_to_its_root): Moved from here...
6996 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
6997 * grub-core/kern/emu/getroot.c: Moved from here ...
6998 * util/getroot.c: ... here. All users updated.
6999 * grub-core/kern/emu/raid.c: Moved from here ...
7000 * util/raid.c: ... here. All users updated.
7001
def9832a
VS
70022011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7003
7004 * po/POTFILES.in: Regenerate.
7005
cd8fe79a
VS
70062011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7007
7008 Fix compilation on GNU/Linux.
7009
7010 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
7011 Disable geli.
7012 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
7013 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
7014 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
7015
a251b719
VS
70162011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
70172011-07-07 Michael Gorven <michael@gorven.za.net>
70182011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
7019
7020 LUKS and GELI support.
7021
7022 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
7023 grub-core/disk/luks.c, grub-core/disk/geli.c,
7024 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
7025 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
7026 grub-core/lib/arg.c.
7027 (libgrubmods.a): Remove gcrypts cflags and cppflags.
7028 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
7029 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
7030 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
7031 (grub-bin2h): Add libgcry.a.
7032 (grub-mkimage): Likewise.
7033 (grub-mkrelpath): Likewise.
7034 (grub-script-check): Likewise.
7035 (grub-editenv): Likewise.
7036 (grub-mkpasswd-pbkdf2): Likewise.
7037 (grub-pe2elf): Likewise.
7038 (grub-fstest): Likewise.
7039 (grub-mkfont): Likewise.
7040 (grub-mkdevicemap): Likewise.
7041 (grub-probe): Likewise.
7042 (grub-ofpath): Likewise.
7043 (grub-mklayout): Likewise.
7044 (example_unit_test): Likewise.
7045 (grub-menulst2cfg): Likewise.
7046 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
7047 * grub-core/Makefile.core.def (cryptodisk): New module.
7048 (luks): Likewise.
7049 (geli): Likewise.
7050 * grub-core/disk/AFSplitter.c: New file.
7051 * grub-core/disk/cryptodisk.c: Likewise.
7052 * grub-core/disk/geli.c: Likewise.
7053 * grub-core/disk/luks.c: Likewise.
7054 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
7055 grub_util_is_lvm.
7056 (grub_util_get_dm_abstraction): New function.
7057 (grub_util_follow_gpart_up): Likewise.
7058 (grub_util_get_geom_abstraction): Likewise.
7059 (grub_util_get_dev_abstraction): Use new functions.
7060 (grub_util_pull_device): Pull GELI and LUKS.
7061 (grub_util_get_grub_dev): Handle LUKS and GELI.
7062 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
7063 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
7064 (follow_geom_up): Removed.
7065 (grub_util_fd_seek): New function.
7066 (open_device): Use grub_util_fd_seek.
7067 (nread): Rename to ..
7068 (grub_util_fd_read): ... this. All users updated.
7069 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
7070 (grub_crypto_cbc_decrypt): Likewise.
7071 (grub_crypto_hmac_write): Likewise.
7072 (grub_crypto_hmac_buffer): Likewise.
7073 (grub_password_get): Extend to util.
7074 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
7075 New member modname.
7076 (gcry_md_spec) [GRUB_UTIL]: Likewise.
7077 * include/grub/cryptodisk.h: New file.
7078 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
7079 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
7080 LUKS and GELI.
7081 (grub_util_follow_gpart_up): New proto.
7082 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
7083 (grub_util_fd_read): Likewise.
7084 (grub_cryptodisk_cheat_mount): Likewise.
7085 (grub_util_cryptodisk_print_uuid): Likewise.
7086 (grub_util_get_fd_sectors): Likewise.
7087 * util/grub-fstest.c (mount_crypt): New var.
7088 (fstest): Mount crypto if requested.
7089 (options): New option -C.
7090 (argp_parser): Parse -C.
7091 (main): Init and fini gcry.
7092 * util/grub-install.in: Support cryptodisk install.
7093 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
7094 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
7095 cryptodisk.
7096 (prepare_grub_to_access_device): Likewise.
7097 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
7098 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
7099 (probe_cryptodisk_uuid): New function.
7100 (probe_abstraction): Likewise.
7101 (probe): Use new functions.
7102 * util/import_gcry.py: Create Makefile.utilgcry.def.
7103 Add modname member.
7104
9bfdcbbc
VS
71052011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7106
7107 Lazy device scanning.
7108
7109 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
7110 (grub-setup): Remove util/raid.c.
7111 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
7112 * grub-core/disk/lvm.c (scan_depth): New variable.
7113 (grub_lvm_iterate): Rescan if necessary.
7114 (find_lv): New function based on grub_lvm_open.
7115 (grub_lvm_open): Use find_lv. Rescan on error.
7116 (is_node_readable): New function.
7117 (is_lv_readable): Likewise.
7118 (grub_lvm_scan_device): Skip already found disks.
7119 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
7120 Stop if searched device is found and readable.
7121 * grub-core/disk/raid.c (inscnt): New variable.
7122 (scan_depth): Likewise.
7123 (scan_devices): New function based on grub_raid_register. Abort if
7124 looked for device is found.
7125 (grub_raid_iterate): Rescan if needed.
7126 (find_array): NEw function based on -grub_raid_open.
7127 (grub_raid_open): Use find_array and rescan.
7128 (insert_array): Set became_readable_at.
7129 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
7130 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
7131 New function.
7132 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
7133 (grub_util_pull_device): New function.
7134 (grub_util_get_grub_dev): Call grub_util_pull_device.
7135 * util/raid.c: Moved to ..
7136 * grub-core/kern/emu/raid.c: ... here.
7137 (grub_util_raid_getmembers): New parameter "bootable".
7138 All users updated. Support 1.x.
7139 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
7140 All users updated.
7141 * include/grub/disk.h (grub_disk_pull_t): New enum.
7142 (grub_disk_dev): Change iterate prototype.
7143 All users updated.
7144 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
7145 New proto.
7146 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
7147 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
7148 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
7149 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
7150 All users updated.
7151 * include/grub/util/raid.h: Removed.
7152
1c358e59
VS
71532011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7154
7155 * po/POTFILES.in: Regenerate.
7156
abee94ed
VS
71572011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7158
7159 Unify sparc init with other ieee1275.
7160
7161 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
7162 instead of kern/sparc64/ieee1275/init.c.
7163 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
7164 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
7165 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
7166 grub/machine/kernel.h.
7167 (grub_ieee1275_original_stack) [__sparc__]: New variable.
7168 (grub_claim_heap) [__sparc__]: Use sparc version.
7169 (grub_machine_init): Moved args parsing to
7170 (grub_parse_cmdline): ...this.
7171 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
7172 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
7173 New definition.
7174 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
7175
7176 Move BOOTP to separate file.
7177
7178 * grub-core/Makefile.core.def (net): Add net/bootp.c.
7179 * grub-core/net/net.c: Move all BOOTP functions to
7180 * grub-core/net/bootp.c: ... here.
7181
7182 Use frame interface on PXE.
7183
7184 * grub-core/Makefile.core.def (pxecmd): Removed.
7185 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
7186 * grub-core/commands/i386/pc/pxecmd.c: Removed.
7187 * grub-core/i386/pc/pxe.c: Moved from here ...
7188 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
7189 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
7190 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
7191
7192 EFI network support.
7193
7194 * grub-core/Makefile.core.def (efinet): New module.
7195 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
7196 here...
7197 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
7198 All users updated.
7199 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
7200 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
7201 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
7202 * grub-core/net/drivers/efi/efinet.c: New file.
7203 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
7204 (grub_efi_net_config): New extern var.
7205
7206 Various cleanups and bugfixes.
7207
7208 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
7209 error.
7210 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
7211 disk declared as partition.
7212 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
7213 leak on failure.
7214 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
7215 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
7216 (grub_debug_zalloc): Likewise.
7217 (grub_debug_realloc): Likewise.
7218 (grub_debug_memalign): Likewise.
7219 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
7220 Check that target is IPv4.
7221 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
7222 local-mac-address as fallback.
7223 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
7224 memory leak.
7225 * grub-core/net/ip.c (ipchksum): Rename to ...
7226 (grub_net_ip_chksum): ... this. All users updated.
7227 (grub_net_recv_ip_packets): Special handling for DHCP.
7228 * util/grub-mkimage.c (generate_image): Zero-out aout header.
7229
7230 Unify prefix handling
7231
7232 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
7233 (grub_machine_get_bootlocation): ... this.
7234 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
7235 (grub_machine_get_bootlocation): ... this.
7236 (grub_prefix): New variable.
7237 (prefix): Removed.
7238 (root_dev): New variable.
7239 (dir): Likewise.
7240 (main): Use new variables.
7241 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
7242 Revamped into ...
7243 (grub_machine_get_bootlocation): ... this.
7244 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
7245 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
7246 (grub_machine_get_bootlocation): ... this.
7247 (grub_machine_set_prefix): Removed.
7248 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
7249 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
7250 Revamped into ...
7251 (grub_machine_get_bootlocation): ... this.
7252 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
7253 (grub_set_prefix_and_root): ... this. All users updated.
7254 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
7255 Revamped into ...
7256 (grub_machine_get_bootlocation): ... this.
7257 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
7258 (grub_machine_get_bootlocation): New proto.
7259 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
7260
7261 Less intrusive and more reliable seek on network implementation.
7262
7263 * grub-core/kern/file.c (grub_file_net_seek): Removed.
7264 (grub_file_seek): Don't call grub_file_net_seek.
7265 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
7266 (grub_net_fs_read_real): .. this.
7267 (grub_net_seek_real): Use net->offset.
7268 (grub_net_fs_read): Seek if necessary.
7269
7270 Unify IEEE1275 netwotk config with the other platforms.
7271
7272 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
7273 New variable.
7274 (grub_machine_get_bootlocation): Support network.
7275 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
7276 Support type and device parsing.
7277 (grub_ieee1275_get_device_type): New function.
7278 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
7279 into ...
7280 (grub_ieee1275_net_config_real): ... this.
7281 (grub_ofnet_probecards): Removed.
7282 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
7283 * include/grub/ieee1275/ofnet.h: Removed.
7284 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
7285 extern var.
7286 (grub_ieee1275_get_device_type): New function.
7287
7288 Unify network device closing across platforms and make more robust.
7289
7290 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
7291 grub_grubnet_fini.
7292 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
7293 already.
7294 * grub-core/net/net.c (grub_net_network_level_interface_register):
7295 Update num_ifaces.
7296 (grub_net_card_unregister): Close all interfaces.
7297 (receive_packets): Don't poll if no iterfaces are registered.
7298 Open if necessary.
7299 (grub_net_fini_hw): New function.
7300 (grub_net_restore_hw): Likewise.
7301 (fini_hnd): New variable.
7302 (GRUB_MOD_INIT): Register preboot hook.
7303 (GRUB_MOD_FINI): Run and unregister preboot hook.
7304
7305 Poll network cards when idle.
7306
7307 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
7308 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
7309 * grub-core/net/net.c (receive_packets): Save last poll time.
7310 (grub_net_poll_cards_idle_real): New function.
7311 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
7312 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
7313 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
7314
7315 Rename ofnet interfaces.
7316
7317 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
7318 (grub_ofnet_findcards): Use ofnet_%s names.
7319
7320 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
7321
7322 Cleanup socket opening.
7323
7324 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
7325 (grub_net_fs_close): Likewise.
7326 (grub_net_fs_read_real): Use eof member.
7327 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
7328 (+grub_net_udp_close): New inline function.
7329
7330 * include/grub/net/tftp.h: Moved to the top of ...
7331 * grub-core/net/tftp.c: ... here.
7332 * include/grub/net/ip.h: Moved mostly to the top of ...
7333 * grub-core/net/ip.c: ... here.
7334 * include/grub/net/ethernet.h: Moved mostly to the top of ...
7335 * grub-core/net/ethernet.c: ... here.
7336
7337 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
7338
7339 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
7340 FS name.
7341
7342 * include/grub/net/ip.h (ipv4_ini): Removed.
7343 (ipv4_fini): Likewise.
7344
7345 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
7346 (grub_net_send_ip_packets): Likewise.
7347
cf1337aa
VS
73482011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7349
7350 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
7351 grub_read_cmos prototype.
7352
93c06ff9
VS
73532011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7354
7355 VGA text support in qemu-mips
7356
7357 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
7358 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
7359 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
7360 text.
7361 * grub-core/kern/i386/qemu/init.c: Renamed to ...
7362 * grub-core/kern/vga_init.c: ... this.
7363 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
7364 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
7365 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
7366 Adjust.
7367 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
7368 GRUB_MACHINE_PCI_IO_BASE.
7369
748ccabe
VS
73702011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7371
7372 MIPS qemu flash support.
7373
7374 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
7375 magic.
7376 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
7377 (grub_machine_init): Probe memory if its size isn't known.
7378 * util/grub-mkimage.c (image_targets): Add flash targets.
7379 (generate_image): Handle flash targets.
7380
d7345994
VS
73812011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7382
7383 MIPS qemu at_keyboard support.
7384
7385 * gentpl.py (videoinkernel): Add qemu-mips.
7386 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
7387 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
7388 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
7389 modules.
7390 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
7391 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
7392 * grub-core/term/serial.c (grub_serial_register)
7393 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
7394
a07a81b3
VS
73952011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7396
7397 CMOS support on sparc.
7398
7399 * gentpl.py (cmos): Add powerpc and sparc.
7400 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
7401 powerpc and sparc.
7402 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
7403 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
7404 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
7405 grub_set_datetime_cmos.
7406 * grub-core/lib/ieee1275/cmos.c: New file.
7407 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
7408 (find_rtc): Set no_ieee1275_rtc on error.
7409 (grub_get_datetime): Call grub_get_datetime_cmos on error.
7410 (grub_set_datetime): Call grub_set_datetime_cmos on error.
7411 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
7412 fail. Move value to argument. All users updated
7413 (grub_cmos_write): Likewise.
7414 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
7415 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
7416 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
7417 grub_get_datetime_cmos and grub_set_datetime_cmos.
7418
77546584
GS
74192011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
7420
7421 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
7422 sourcing grub-mkconfig_lib.
7423 * util/update-grub_lib.in: Likewise.
7424 * util/grub.d/00_header.in: Likewise.
7425 * util/grub.d/10_hurd.in: Likewise.
7426 * util/grub.d/10_kfreebsd.in: Likewise.
7427 * util/grub.d/10_linux.in: Likewise.
7428 * util/grub.d/10_netbsd.in: Likewise.
7429 * util/grub.d/10_windows.in: Likewise.
7430 * util/grub.d/20_linux_xen.in: Likewise.
7431 * util/grub.d/30_os-prober.in: Likewise.
7432
54894791
CW
74332011-06-28 Colin Watson <cjwatson@ubuntu.com>
7434
7435 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
7436 default_bg_color rather than black.
7437 (grub_gfxterm_fullscreen): Likewise.
7438 (grub_gfxterm_background_color_cmd): Save new background color in
7439 default_bg_color.
7440
8d5d8444
VS
74412011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7442
7443 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
7444
5afeb5bd
VS
74452011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7446
7447 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
7448 mismerge.
7449
ba7df45e
VS
74502011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7451
7452 Chainloading on coreboot support.
7453
7454 * grub-core/Makefile.core.def (chain): Add coreboot.
7455 * grub-core/loader/i386/coreboot/chainloader.c: New file.
7456
d0b526b2
VS
74572011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7458
7459 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
7460 if it happens.
7461
5ff1d945
VS
74622011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7463
7464 Implement time command.
7465
7466 * grub-core/Makefile.core.def (time): New module.
7467 * grub-core/commands/time.c: New file.
7468 * grub-core/script/parser.y: Remove "time" keyword.
7469 * grub-core/script/yylex.l: Likewise.
7470
5ebaad7e
VS
74712011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
7474
bdea3798
VS
74752011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7476
7477 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
7478 when handling leftovers.
7479
b28c5655
VS
74802011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7481
7482 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
7483 so that help2man doesn't fail.
7484
b6f945dc
VS
74852011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7486
7487 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
7488 type in pointers on sparc64.
7489 (get_card_packet): Likewise.
7490
f9b75e8a
CW
74912011-06-27 Colin Watson <cjwatson@ubuntu.com>
7492
7493 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
7494 with `*'.
7495 (grub_cmd_videoinfo): Fetch current video mode.
7496
1e3d9b86
VS
74972011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7498
7499 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
7500 because of underlying system restrictions.
7501
efff4b1c
VS
75022011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7503
7504 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
7505 necessary.
7506
9fc9ce37
VS
75072011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7508
7509 Coreboot video support.
7510
7511 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
7512 (vbe): Likewise.
7513 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
7514 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
7515 here ...
7516 * grub-core/kern/i386/int.S: ... here.
7517 * grub-core/video/i386/pc/vbe.c: Updated includes.
7518 * grub-core/video/i386/pc/vga.c: Likewise.
7519 * include/grub/i386/coreboot/memory.h
7520 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
7521 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
7522 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
7523 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
7524 Disable interrupts.
7525 * include/grub/i386/pc/vga.h: Removed. All users updated.
7526
41bec7fe
VS
75272011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
7530 definitions for dprintf.
7531 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
7532
ca80309d
VS
75332011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7534
7535 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
7536 prototype.
7537 (get_card_packet): Likewise.
7538
9e322ce8
YB
75392011-06-26 Yves Blusseau <blusseau@zetam.org>
7540
7541 Display the path of the file when file is not found
7542
7543 * grub-core/fs/fat.c: Display the filename when file is not found.
7544 * grub-core/fs/fshelp.c: Likewise.
7545 * grub-core/fs/hfs.c: Likewise.
7546 * grub-core/fs/jfs.c: Likewise.
7547 * grub-core/fs/minix.c: Likewise.
7548 * grub-core/fs/ufs.c: Likewise.
7549 * grub-core/fs/btrfs.c: Likewise.
7550 * grub-core/commands/i386/pc/play.c: Likewise.
7551
cbf597af
SJ
75522011-06-26 Szymon Janc <szymon@janc.net.pl>
7553
7554 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
7555 pointer checks before calling grub_free().
7556 * grub-core/commands/wildcard.c (match_devices): Likewise.
7557 * grub-core/commands/wildcard.c (match_files): Likewise.
7558 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
7559 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
7560 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
7561 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
7562 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
7563 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
7564 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
7565 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
7566 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
7567
6295b32f
P
75682011-06-25 Patrick <p55@mailinator.com>
7569
7570 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
7571
77c0840b
VS
75722011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7573
7574 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
7575 (grub_pxe_send): Likewise.
7576 (GRUB_MOD_INIT): Fix types.
7577
40ea05de
SJ
75782011-06-24 Szymon Janc <szymon@janc.net.pl>
7579
7580 * grub-core/io/xzio.c: Fix code style issues
7581
90162423
MRA
75822011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
75832011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
7584
7585 Network infrastructure.
7586 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
7587
7588 * include/grub/net/arp.h: New file.
90162423
MRA
7589 * include/grub/net/device.h: Likewise.
7590 * include/grub/net/ethernet.h: Likewise.
7591 * include/grub/net/ip.h: Likewise.
7592 * include/grub/net/netbuff.h: Likewise.
7593 * include/grub/net/tftp.h: Likewise.
7594 * include/grub/net/udp.h: Likewise.
7595 * include/grub/ieee1275/ofnet.h: Likewise.
7596 * include/grub/emu/export.h: Likewise.
7597 * include/grub/net.h: Likewise.
7598 * grub-core/net/arp.c: Likewise.
7599 * grub-core/net/ethernet.c: Likewise.
7600 * grub-core/net/ip.c: Likewise.
7601 * grub-core/net/udp.c: Likewise.
7602 * grub-core/net/tftp.c: Likewise.
7603 * grub-core/net/netbuff.c: Likewise.
7604 * grub-core/net/net.c: Likewise.
7605 * grub-core/net/drivers/emu/emunet.c: Likewise.
7606 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
7607 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
7608 export.h.
7609 * grub-core/Makefile.core.def (net): New module.
7610 (tftp): Likewise.
7611 (ofnet): Likewise.
7612 (emunet): Likewise.
7613 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
7614 network protocols.
7615 * grub-core/kern/device.c (grub_net_open) : New variable.
7616 (grub_device_open): Handle network device.
7617 (grub_device_close): Likewise.
7618 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
7619 (grub_grubnet_fini): Likewise.
7620 (grub_file_seek): Seek in network device.
7621 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
7622 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
7623 network root.
7624 (grub_machine_fini): Call grub_grubnet_fini.
7625 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
7626 network.
7627 (grub_ieee1275_get_aliasdevname): New function.
7628 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
7629 Add unofficial Solaris network info.
7630 (grub_multiboot_make_mbi): Likewise.
7631 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
7632 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
7633 * include/grub/device.h (grub_fs): Removed.
7634 * include/grub/err.h (grub_err_t): Add network-related values.
7635 * include/grub/i386/pc/pxe.h: Removed bootp parts.
7636 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
7637 (grub_ieee1275_get_aliasdevname): New proto.
7638 * include/grub/net.h: Rewritten.
423a1849 7639
031f22a0
VS
76402011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7641
7642 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
7643 names.
7644
4388ca72
VS
76452011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7646
7647 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
7648 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
7649 it truncates the output.
7650 Reported by: Ximin Luo.
7651
98e2f506
VS
76522011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7653
7654 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
7655
2a5e94d8
VS
76562011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7657
7658 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
7659 partmap before abstraction.
7660
535c1910
AK
76612011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
7662
7663 * util/grub-mkconfig_lib.in: Add missing quotes.
7664
bc09e1a2
VS
76652011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7666
7667 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
7668 old method if mountinfo would return /dev/root and /dev/root doesn't
7669 exist.
7670
290766fb
VS
76712011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7672
7673 ZFS zlib support
7674
7675 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
7676 (decomp_table): Add zlib entries.
7677 (zio_read): USe 8 bits for compression function rather than 3.
7678 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
7679
76802011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7681
7682 * grub-core/disk/ahci.c: Add missing license statements.
7683 * grub-core/fs/romfs.c: Likewise.
7684 * grub-core/lib/ia64/setjmp.S: Likewise.
7685 * grub-core/loader/i386/pc/freedos.c: Likewise.
7686 * grub-core/loader/ia64/efi/linux.c: Likewise.
7687 * grub-core/video/colors.c: Likewise.
7688 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
7689
5ab3f48a
VS
76902011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 AHCI support.
7693
7694 * grub-core/Makefile.core.def (ata_pthru): Removed.
7695 (ahci): New module.
7696 (pata): Likewise.
7697 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
7698 on unload.
7699 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
7700 readwrite.
7701 (grub_hdparm_do_check_powermode_cmd): Likewise.
7702 (grub_hdparm_do_smart_cmd): Likewise.
7703 (grub_hdparm_set_val_cmd): Likewise.
7704 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
7705 * grub-core/disk/ahci.c: New file.
7706 * grub-core/disk/ata.c: Factor out the low-level part into ...
7707 * grub-core/disk/pata.c: ... here.
7708 * grub-core/disk/ata_pthru.c: Contents moved to ...
7709 * grub-core/disk/pata.c: ... here.
7710 * grub-core/disk/scsi.c (grub_scsi_names): New array.
7711 (grub_scsi_iterate): Use grub_scsi_names.
7712 (grub_scsi_open): Likewise.
7713 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
7714 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
7715 (grub_ata_regs_t): New struct.
7716 (grub_disk_ata_pass_through_parms): Likewise.
7717 (grub_ata_device): Renamed to ...
7718 (grub_ata): ... this.
7719 (grub_ata_dev): New struct.
7720 Removed all low-level inline functions.
7721 * include/grub/scsi.h: Add PATA and AHCI subsystems.
7722 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
7723 iterate hooks and open. All users updated.
7724 * util/grub-install.in: Handle AHCI disk module.
7725
c31dc5f5
SJ
77262011-06-23 Szymon Janc <szymon@janc.net.pl>
7727
7728 Add support for DRI and RSTn markers in JPEG files.
7729
7730 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
7731 (JPEG_MARKER_RST0): Likewise.
7732 (JPEG_MARKER_RST1): Likewise.
7733 (JPEG_MARKER_RST2): Likewise.
7734 (JPEG_MARKER_RST3): Likewise.
7735 (JPEG_MARKER_RST4): Likewise.
7736 (JPEG_MARKER_RST5): Likewise.
7737 (JPEG_MARKER_RST6): Likewise.
7738 (JPEG_MARKER_RST7): Likewise.
7739 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
7740 (grub_jpeg_decode_dri): New function.
7741 (grub_jpeg_decode_sos): Move image data related part into
7742 grub_jpeg_decode_data function.
7743 (grub_jpeg_decode_data): New function.
7744 (grub_jpeg_reset): New function.
7745 (grub_jpeg_decode_jpeg): Handle new markers.
7746
fe12fd5b
VS
77472011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7748
7749 * util/ieee1275/ofpath.c (check_sas): Close fd.
7750 (main): Free of_path.
7751 Reported by: David Volgyes <dvolgyes>.
7752
03147f46
VS
77532011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7754
7755 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
7756 Reported by: David Volgyes <dvolgyes>.
7757
cad3237f
VS
77582011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7759
7760 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
7761 file after stat.
7762 Reported by: David Volgyes <dvolgyes>.
7763
13548d26
VS
77642011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7765
7766 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
7767
7768 Reported by: David Volgyes <dvolgyes>.
7769
e061a1b5
VS
77702011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7771
7772 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
7773 Prevent memory leak.
7774
1abe47dc
VS
77752011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7776
7777 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
7778 (main): Close file.
e061a1b5 7779 Reported by: David Volgyes <dvolgyes>.
1abe47dc 7780
fbc62666
VS
77812011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7782
7783 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
7784 to continue if allocation is failed.
7785
7786 Reported by: David Volgyes <dvolgyes>.
7787
e98c83e9
DV
77882011-06-23 David Volgyes <dvolgyes>
7789
7790 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
7791 dereference.
7792
a199a8cd
VS
77932011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7794
7795 Fix spurious warning.
7796
7797 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
7798 (acorn_partition_map_find): Use .bin member.
7799
e2d1dba0
VS
78002011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7801
7802 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
7803 /dev/root as a valid device.
7804
8a5d6919
JM
78052011-06-23 Jim Meyering <meyering@redhat.com>
7806
e2d1dba0
VS
7807 Avoid NULL deref in grub_device_open.
7808
8a5d6919
JM
7809 * grub-core/kern/device.c (grub_device_open): Don't dereference
7810 a NULL pointer upon failed grub_env_get.
7811
f7db6f4a
VS
78122011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7813
7814 Support non-512B sectors and agglomerate reads.
7815
7816 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
7817 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
7818 (disk_io_guid): Removed.
7819 (make_devices): Locate solely by BlockIO.
7820 (grub_efidisk_open): Fill log_sector_size and total_sectors.
7821 (grub_efidisk_read): Use read_blocks.
7822 (grub_efidisk_write): Use write_blocks.
7823 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
7824 log_sector_size.
7825 (get_safe_sectors): Handle non-512B sectors.
7826 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
7827 sectors.
7828 (grub_biosdisk_write): Handle non-512B sectors.
7829 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
7830 (grub_scsi_read): Remove special non-512B block handling (now handled
7831 one level up).
7832 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
7833 and do sanity checks.
7834 (grub_disk_adjust_range): Handle non-512B sectors.
7835 (transform_sector): New function.
7836 (grub_disk_read_small): Likewise.
7837 (grub_disk_read): Rewritten.
7838 (grub_disk_write): Handle non-512B sectors.
7839 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
7840 log_sector_size.
7841 (open_device): Use log_sector_size.
7842 (grub_util_biosdisk_read): Likewise.
7843 (grub_util_biosdisk_write): Likewise.
7844 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
7845 non-512B sectors.
7846 (pc_partition_map_embed): Likewise.
7847 * include/grub/disk.h (grub_disk): New field log_sector_size.
7848 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
7849 (GRUB_DISK_CACHE_BITS): Increased to 6.
7850 * util/grub-fstest.c (fstest): New command testload.
7851 (argp_parser): Likewise.
7852
881ac815
RM
78532011-06-16 Robert Millan <rmh@gnu.org>
7854
7855 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
7856 `ata' driver on kernel of FreeBSD 9.
7857
7858 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
7859 (get_ataraid_disk_name): New functions.
7860 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
7861 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
7862 get_ataraid_disk_name() and get_ada_disk_name().
7863
1e9aef7d
CW
78642011-06-13 Colin Watson <cjwatson@ubuntu.com>
7865
7866 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
7867 input format.
7868
351c7c8a
CW
78692011-05-29 Colin Watson <cjwatson@ubuntu.com>
7870
7871 * docs/grub.texi (Obtaining and Building GRUB): Substitute
7872 `ftp.gnu.org' for `alpha.gnu.org'.
7873
6b4e6430
CW
78742011-05-27 Colin Watson <cjwatson@ubuntu.com>
7875
7876 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
7877 partitions under /dev/disk/by-id/.
7878
c64db050
CW
78792011-05-27 Colin Watson <cjwatson@ubuntu.com>
7880
7881 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
7882 after ten consecutive open failures. Scanning all the way up to
7883 10000 is excessive and can cause serious performance problems in
7884 some configurations.
7885 Fixes Ubuntu bug #787461.
7886
245f4aba
VS
78872011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7888
7889 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
7890 opening new one.
7891
f767c929
VS
78922011-05-21 Colin Watson <cjwatson@ubuntu.com>
78932011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7894
7895 Don't stat devices unless we have to.
7896
7897 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
7898 dir == /dev/mapper.
7899 (grub_guess_root_device): Use already known os_dev if possible.
7900 * grub-core/kern/emu/hostdisk.c
7901 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
7902 if device is known to be a dm one.
7903
f35fa3a6
CW
79042011-05-20 Colin Watson <cjwatson@ubuntu.com>
7905
7906 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
7907 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
7908 Reported by: Pawel Tecza.
7909
9a79fcf2
VS
79102011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
7911
7912 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
7913 (lsefisystab): Likewise.
7914 (lssal): Likewise.
7915 (lsefimmap): Likewise.
7916 (hdparm): Enable on qemu-mips.
7917 (setjmp): Add ia64 nodist.
7918 (serial): Simplify tags.
7919
63e3eea9
CW
79202011-05-18 Colin Watson <cjwatson@ubuntu.com>
7921
7922 * Makefile.util.def (grub-ofpathname): Install manual page.
7923
09728256
CW
79242011-05-18 Colin Watson <cjwatson@ubuntu.com>
7925
7926 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
7927
8b63a142
CW
79282011-05-18 Colin Watson <cjwatson@ubuntu.com>
7929
7930 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
7931
e775d8ed
VS
79322011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7933
7934 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
7935 into dprintf.
7936
bf947d36
VS
79372011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7938
7939 Use full 64-bit division.
7940
7941 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
7942 (grub_divmod64): ... this.
7943 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
7944 version.
7945
b84f26c5
CW
79462011-05-18 Colin Watson <cjwatson@ubuntu.com>
7947
7948 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
7949 `source'.
7950
5626056f
CW
79512011-05-18 Colin Watson <cjwatson@ubuntu.com>
7952
7953 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
7954 to avoid accidents when debugging with 'sh -x'.
7955 * grub-core/gensyminfo.sh.in: Likewise.
7956 * tests/example_scripted_test.in: Likewise.
7957 * tests/grub_cmd_regexp.in: Likewise.
7958 * tests/grub_script_blanklines.in: Likewise.
7959 * tests/grub_script_dollar.in: Likewise.
7960 * tests/grub_script_expansion.in: Likewise.
7961 * tests/grub_script_final_semicolon.in: Likewise.
7962 * tests/partmap_test.in: Likewise.
7963 * tests/util/grub-shell-tester.in: Likewise.
7964 * tests/util/grub-shell.in: Likewise.
7965
e2965f4a
CW
79662011-05-18 Colin Watson <cjwatson@ubuntu.com>
7967
7968 Move gfxmenu color handling to video, so that gfxterm can use it
7969 too.
7970
7971 * grub-core/gfxmenu/named_colors.c: Move to ...
7972 * grub-core/video/colors.c: ... here. Rename
7973 grub_gui_get_named_color to grub_video_get_named_color.
7974 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
7975 * grub-core/video/colors.c (my_isxdigit): ... here.
7976 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
7977 Move to ...
7978 * grub-core/video/colors.c (parse_hex_color_component): ... here.
7979 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
7980 to ...
7981 * grub-core/video/colors.c (grub_video_parse_color): ... here.
7982
7983 * include/grub/gui.h (grub_gui_color_t): Move to ...
7984 * include/grub/video.h (grub_video_rgba_color_t): ... here.
7985 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
7986 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
7987 * include/grub/gui.h (grub_gui_map_color): Move to ...
7988 * include/grub/video.h (grub_video_map_rgba_color): ... here.
7989 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
7990 to ...
7991 * include/grub/video.h (grub_video_get_named_color): ... here.
7992 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
7993 * include/grub/video.h (grub_video_parse_color): ... here.
7994
7995 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
7996 video/colors.c.
7997 (gfxmenu): Remove gfxmenu/named_colors.c.
7998 (video) [videomodules]: Add video/colors.c.
7999
8000 Add a background_color command.
8001
8002 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
8003 function.
8004 (GRUB_MOD_INIT): Register background_color command.
8005 (GRUB_MOD_FINI): Unregister background_color command.
8006 (redraw_screen_rect): Allow blend/replace of text layer to be
8007 controlled independently from whether there is a background bitmap.
8008 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
8009 changing bitmap.
8010
1e4b4390
VS
80112011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8012
26618ff0
VS
8013 Patch BPB in ntldr and chainloader --bpb.
8014
1e4b4390
VS
8015 * grub-core/fs/fat.c: Include grub/fat.h.
8016 (grub_fat_bpb): Moved to ...
8017 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
8018 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
8019 grub/ntfs.h.
8020 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
8021 Moved from here...
8022 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
8023 here.
8024 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
8025 New function.
8026 (grub_chainloader_cmd): Patch BPB if --bpb is given.
8027 (GRUB_MOD_INIT): Show --bpb.
8028 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
8029 * grub-core/normal/main.c (features): New variable.
8030 (GRUB_MOD_INIT): Set feature_* variables.
8031 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
8032 proto.
8033 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
8034
cf02731e
VS
80352011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8036
8037 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
8038 for cleanness.
8039
e3a1073f
VS
80402011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 FreeDOS direct loading support.
8043
8044 * docs/grub.texi (Supported OS): Add FreeDOS.
8045 * grub-core/Makefile.core.def (freedos): New module.
8046 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
8047 variable.
8048 (grub_relocator16_boot): Handle %ebx.
8049 * grub-core/lib/i386/relocator16.S: Likewise.
8050 * grub-core/loader/i386/pc/freedos.c: New file.
8051
05caa461
VS
80522011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8053
8054 Long Linux command line support.
8055
8056 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8057 (maximal_cmdline_size): New variable.
8058 (allocate_pages): Use maximal_cmdline_size.
8059 (grub_cmd_linux): Set and use maximal_cmdline_size.
8060 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8061 (allocate_pages): Use maximal_cmdline_size.
8062 (grub_cmd_linux): Set and use maximal_cmdline_size.
8063 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
8064 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
8065 and cmdline_size.
8066
a2491e23
VS
80672011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
80682011-05-18 Colin Watson <cjwatson@ubuntu.com>
8069
8070 Improve devmapper support
8071
8072 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
8073 (grub_util_is_lvm): New function.
8074 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
8075 than lvm if not dmraid.
8076 Handle mapped md nodes.
8077 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
8078 (grub_util_device_is_mapped): ... this. Make always available. All users
8079 updated.
8080 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
8081 (convert_system_partition_to_system_disk): Handle lvm, mpath and
8082 dmraid nodes.
8083 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
8084
6ad6223e
VS
80852011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8086
8087 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
8088
8089 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
8090 * grub-core/modinfo.sh.in: New file.
8091 * grub-core/Makefile.core.def (modinfo.sh): New script.
8092 * util/grub-mknetdir.in: Use modinfo.sh.
8093 * util/grub-mkrescue.in: Likewise.
8094
543a8f6e
VS
80952011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8096
8097 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8098 Fix potential usage of Elf32 instead of Elf64 when compiling on
8099 32-bit architecture. Add endianness macros while on it.
8100
4959e111
VS
81012011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8102
8103 Use mipsel- rather than mips- in directories involving mipsel ports to
8104 allow both endiannesses coexist.
8105
8106 * configure.ac: proparate target_cpu=mipsel rather than resetting to
8107 mips. All conditions adjusted.
8108 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
8109 variable.
8110 * util/grub-install.in: Adjust conditions to take renaming into account.
8111 * util/grub-mkimage.c (image_targets): Likewise. New target
8112 mips-qemu_mips-elf for bigendian mips.
8113
35341bbc
VS
81142011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8115
8116 Avoid unnecessary copying on MIPS.
8117
8118 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
8119 early if src == dest.
8120 * util/grub-mkimage.c (generate_image): Arange for src == dest if
8121 compression is none.
8122
b772baed
VS
81232011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8124
8125 Reduce memory footprint on SGI by putting modules before the kernel
8126 as opposed to after.
8127
8128 * grub-core/Makefile.core.def (kernel): Increase linking address.
8129 (none_decompress): Likewise.
8130 (xz_decompress): Likewise.
8131 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
8132 address.
8133 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
8134 layout change.
8135 (grub_arch_modules_addr): New function.
8136 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
8137 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
8138 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
8139 here.
8140 * grub-core/kern/mips/startup.S (total_size): Rename to ...
8141 (grub_total_modules_size): ... this. Make global.
8142 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
8143 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
8144 New definition.
8145 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
8146 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
8147 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
8148 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
8149 * util/grub-mkimage.c (image_target_desc): New flag
8150 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
8151 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
8152 (generate_image): Handle images with modules before kernel.
8153
566a1917
VS
81542011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8155
8156 Prevent potential loss of memory map by overwrite on qemu-mips.
8157
8158 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8159 Save ram size in $s4.
8160 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
8161 All users changed to grub_arch_memsize.
8162 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
8163 Loongson.
8164 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
8165 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
8166 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
8167 external variable.
8168
5d420cd9
CW
81692011-05-17 Colin Watson <cjwatson@ubuntu.com>
8170
8171 * .bzrignore: Remove grub-dumpbios.
8172
d064b830
CW
81732011-05-17 Colin Watson <cjwatson@ubuntu.com>
8174
8175 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
8176 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
8177 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
8178 existing options which append).
8179 * docs/grub.texi (Simple configuration): Document new options.
8180 Reported by: Ian Jackson. Fixes Debian bug #617538.
8181
3ca2b466
CW
81822011-05-17 Colin Watson <cjwatson@ubuntu.com>
8183
8184 * util/grub-fstest.c (cmd_cat): New function.
8185 (fstest): Handle CMD_CAT.
8186 (options): Add cat.
8187 (argp_parser): Handle cat.
8188
24c9143a
CW
81892011-05-17 Colin Watson <cjwatson@ubuntu.com>
8190
8191 * Makefile.util.def (grub-bin2h): Don't install.
8192 * docs/man/grub-bin2h.h2m: Remove.
8193
90f7ac19
VS
81942011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8195
8196 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
8197 place.
8198
8d4a5178
VS
81992011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8200
8201 Reenable qemu-mips port.
8202
8203 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
8204 Fix small arc bug while on it.
8205 * gentpl.py: Handle qemu_mips.
8206 * grub-core/Makefile.am: Likewise.
8207 * grub-core/Makefile.core.def: Likewise.
8208 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
8209 inappropriate includes.
8210 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
8211 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
8212 * grub-core/kern/main.c (grub_modules_get_end)
8213 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
8214 * grub-core/kern/mips/qemu-mips: Moved to ..
8215 * grub-core/kern/mips/qemu_mips: ... this.
8216 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
8217 (grub_machine_init): Call terminfo_init and serial_init.
8218 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
8219 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8220 New variable.
8221 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
8222 parameter passing.
8223 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
8224 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
8225 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
8226 * include/grub/mips/qemu_mips/cmos.h: New file.
8227 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
8228 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
8229 Removed.
8230 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
8231 Use correct mips-style address.
8232 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
8233 (GRUB_TICKS_PER_SECOND): Removed.
8234 (grub_get_rtc): Likewise.
8235 (grub_cpu_idle): Likewise.
8236 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
8237 New definition.
8238 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
8239 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
8240 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
8241 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
8242 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
8243 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
8244 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
8245 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
8246
400b9371
VS
82472011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8248
8249 SGI ARCS port.
8250
8251 * Makefile.util.def (libgrubmods.a): Add dvh.c.
8252 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
8253 platforms.
8254 * configure.ac: New target mips-arc.
8255 * gentpl.py: Likewise.
8256 * grub-core/Makefile.am: Likewise.
8257 * grub-core/Makefile.core.def: Likewise.
8258 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
8259 (none_decompress): Likewise.
8260 (lsdev): New module.
8261 (datetime): Use lib/arc/datetime.c on ARC.
8262 (part_dvh): New module.
8263 * grub-core/commands/arc/lsdev.c: New file.
8264 * grub-core/disk/arc/arcdisk.c: Likewise.
8265 * grub-core/kern/mips/arc/init.c: Likewise.
8266 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
8267 aligned addresses.
8268 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
8269 support.
8270 (grub_arch_dl_relocate_symbols): Likewise.
8271 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
8272 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
8273 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
8274 platforms.
8275 * grub-core/lib/arc/datetime.c: New file.
8276 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
8277 pci.h on non-loongson.
8278 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
8279 (grub_linux_boot): Set unused registers to 0.
8280 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
8281 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
8282 * grub-core/mmap/mips/uppermem.c: ...here.
8283 * grub-core/partmap/dvh.c: New file.
8284 * grub-core/term/arc/console.c: Likewise.
8285 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
8286 (grub_terminfo_set_current): Add terminal "arc".
8287 (grub_terminfo_readkey): Support ARC sequences.
8288 * include/grub/arc/arc.h: New file.
8289 * include/grub/arc/console.h: Likewise.
8290 * include/grub/disk.h (grub_disk_dev_id): Add
8291 GRUB_DISK_DEVICE_ARCDISK_ID.
8292 * include/grub/mips/arc/kernel.h: New file.
8293 * include/grub/mips/arc/memory.h: Likewise.
8294 * include/grub/mips/arc/time.h: Likewise.
8295 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
8296 * include/grub/mips/kernel.h (grub_halt): ... here.
8297 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
8298 here...
8299 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
8300 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
8301 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
8302 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
8303 proto.
8304 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
8305 from here ...
8306 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
8307 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
8308 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
8309 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
8310 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
8311 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
8312 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
8313 (grub_phys_addr_t): Moved from here ...
8314 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
8315 (grub_vtop): Moved from here ...
8316 * include/grub/mips/memory.h (grub_vtop): ... here.
8317 (grub_map_memory): Moved from here ...
8318 * include/grub/mips/memory.h (grub_map_memory): ... here.
8319 (grub_unmap_memory): Moved from here ...
8320 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
8321 (grub_machine_mmap_iterate): Moved from here ...
8322 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
8323 (grub_mmap_get_lower): Moved from here ...
8324 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
8325 (grub_mmap_get_upper): Moved from here ...
8326 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
8327 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
8328 here ...
8329 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
8330 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
8331 here ...
8332 * include/grub/mips/time.h (grub_get_rtc): ... here.
8333 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
8334 here ...
8335 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
8336 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
8337 here ...
8338 * include/grub/mips/time.h (grub_cpu_idle): ... here.
8339 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
8340 definition.
8341 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
8342 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
8343 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
8344 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
8345 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
8346 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
8347 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
8348 (GRUB_MACHINE_LINK_ADDR): Likewise.
8349 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
8350 to 6.
8351 * util/grub-install.in: Run dvhtool on ARC.
8352 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 8353 (generate_image): Handle ECOFF output for mips-arc.
400b9371 8354
c8ecc840
VS
83552011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8356
8357 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
8358 blocks.
8359
153a4b55
VS
83602011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8361
8362 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
8363 after enabling port.
8364
ff44d107
VS
83652011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8366
8367 Skip incorrect USB devices.
8368
8369 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
8370 configcnt == 0.
8371 * include/grub/usb.h (grub_usb_err_t): New enum value
8372 GRUB_USB_ERR_BADDEVICE.
8373
638dbe4f
VS
83742011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8375
8376 Fuloong video init support.
8377
8378 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
8379 well.
8380 (grub_vga_read_arx): New function.
8381 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
8382 definition.
8383 (framebuffer): New members io, mmioptr and mmiobase.
8384 (read_sis_cmd): New function.
8385 (write_sis_cmd): Likewise.
8386 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
8387 rather than 640x400.
8388 * grub-core/video/sis315_init.c: New file.
8389
c3fc520c
VS
83902011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8391
8392 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
8393 non-loongson.
8394 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
8395 to grub_dl_register_symbol.
8396
67b1e5c9
VS
83972011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8398
8399 Fix compilation errors.
8400
8401 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
8402 potentially unused.
8403 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
8404 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
8405 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
8406 to loongson machines.
8407
b756f75f
VS
84082011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8409
8410 Several FS mtime support.
8411
8412 * grub-core/fs/affs.c (grub_affs_time): New struct.
8413 (grub_affs_file): New field mtime.
8414 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
8415 type. Removed 'size'. New field 'di'. All users updated.
8416 (grub_affs_mount): Simplify checsum checking.
8417 (grub_affs_iterate_dir): New helper grub_affs_create_node.
8418 (grub_affs_dir): Handle mtime.
8419 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
8420 (grub_cpio_dir): Likewise.
8421 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
8422 (grub_hfs_filerec): New field mtime.
8423 (grub_hfs_dir): Handle mtime.
8424 (grub_hfs_mtime): New function.
8425 (grub_hfs_fs): Register grub_hfs_mtime.
8426 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
8427 (grub_iso9660_dir): New field mtime.
8428 (grub_fshelp_node): New field dirent.
8429 (iso9660_to_unixtime): New function.
8430 (iso9660_to_unixtime2): Likewise.
8431 (grub_iso9660_read_symlink): Use node->dirent.
8432 (grub_iso9660_iterate_dir): Likewise.
8433 (grub_iso9660_dir): Set mtime.
8434 (grub_iso9660_mtime): New function.
8435 (grub_iso9660_fs): Register grub_iso9660_mtime.
8436 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
8437 (grub_jfs_inode): New fields atime, ctime and mtime.
8438 (grub_jfs_dir): Set mtime.
8439 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
8440 * grub-core/fs/ntfs.c (list_file): Set mtime.
8441 (grub_ntfs_dir): Likewise.
8442 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
8443 (grub_reiserfs_iterate_dir): Set mtime.
8444 (grub_reiserfs_dir): Likewise.
8445 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
8446 (grub_fshelp_node): Likewise.
8447 (grub_sfs_iterate_dir): Set mtime.
8448 (grub_sfs_dir): Likewise.
8449 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
8450 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
8451 (grub_xfs_inode): New fields atime, mtime, ctime.
8452 (grub_xfs_dir): Set mtime.
8453 * include/grub/datetime.h (grub_datetime2unixtime): New function.
8454 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
8455 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
8456
8457 Support UDF symlinks.
8458
8459 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
8460 (grub_ufs_read_symlink): New function. All users updated.
8461
8462 Check amiga partmap checksum.
8463
8464 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
8465 (grub_amiga_partition): Likewise.
8466 (amiga_partition_map_checksum): New function.
8467 (amiga_partition_map_iterate): Check checksum.
8468
5470225d
VS
84692011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8470
8471 ROMFS support.
8472
8473 * Makefile.util.def (libgrubmods.a): Add romfs.
8474 * grub-core/Makefile.core.def (romfs): New module.
8475 * grub-core/fs/romfs.c: New file.
8476
d4680a35
VS
84772011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8478
8479 Squashfs v4 support.
8480
8481 * Makefile.util.def (libgrubmods.a): Add squash4.
8482 * grub-core/Makefile.core.def (squash4): New module.
8483 * grub-core/fs/squash4.c: New file.
8484 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
8485 disk_input_start, disk_input.
8486 (get_byte): Handle disk_input.
8487 (grub_zlib_disk_read): New function.
8488 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
8489
bcb18e74
FZ
84902011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
84912011-05-15 Feiran Zheng <famcool@gmail.com>
8492
8493 * Makefile.util.def (libgrubmods.a): Add minix3.
8494 * grub-core/Makefile.core.def (minix3): New module.
8495 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
8496 (GRUB_MINIX_BSIZE): Removed.
8497 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
8498 (grub_minix_ino_t): New type.
8499 (grub_minix_le_to_cpu_ino): New macro.
8500 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
8501 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
8502 (grub_minix_data): New field block_size.
8503 (grub_minix_read_file): Handle 64-bit correctly.
8504 * grub-core/fs/minix3.c: New file.
8505
32297d5f
TG
85062011-05-15 Tristan Gingold <gingold@free.fr>
85072011-05-15 Robert Millan <rmh.grub@aybabtu.com>
85082011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8509
8510 IA64 support.
8511
8512 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
8513 * configure.ac: Add ia64-efi target.
8514 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
8515 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
8516 * gentpl.py: Add ia64_efi platform.
8517 Rename x86_efi to efi and Add ia64-efi. All users updated.
8518 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
8519 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
8520 Remove kern/generic/rtc_get_time_ms.c on EFI.
8521 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
8522 kern/ia64/dl_helper.c on ia64-efi.
8523 Add kern/emu/cache.c on emu.
8524 (linux): Use on loader/ia64/efi/linux.c on ia64.
8525 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
8526 whether symbol is a function.
8527 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
8528 (grub_symbol): New field 'isfunc'.
8529 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
8530 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
8531 (grub_dl_load_segments): Place all sections into the same region.
8532 [__ia64__]: Create trampolines and got.
8533 [GRUB_MACHINE_EMU]: Call mprotect.
8534 (grub_dl_resolve_symbols): Resolve symbol type as well.
8535 [__ia64__]: Create function descriptors.
8536 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
8537 (grub_rtc_get_time_ms): ... this. Expressions simplified.
8538 (grub_get_rtc): New function.
8539 * grub-core/kern/emu/cache.c [__ia64__]: New file.
8540 * grub-core/kern/emu/cache.S: Renamed to ...
8541 * grub-core/kern/emu/cache_s.S: ... this.
8542 [__ia64__]: Add a nop.
8543 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
8544 [__ia64__]: New function.
8545 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
8546 * grub-core/kern/ia64/dl.c: New file.
8547 * grub-core/kern/ia64/dl_helper.c: Likewise.
8548 * grub-core/kern/ia64/efi/init.c: New file.
8549 * grub-core/kern/ia64/efi/startup.S: Likewise.
8550 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
8551 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
8552 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
8553 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
8554 * grub-core/loader/ia64/efi/linux.c: New file.
8555 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
8556 (GRUB_MOD_DEP): Likewise.
8557 (grub_dl) [__ia64__]: New fields got and tramp.
8558 (grub_dl): New field 'base'.
8559 (grub_dl_register_symbol): New argument isfunc. All users updated.
8560 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
8561 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
8562 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
8563 (grub_ia64_dl_get_tramp_got_size): New proto.
8564 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
8565 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
8566 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
8567 * include/grub/efi/api.h: Skip call wrappers on ia64.
8568 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
8569 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
8570 * include/grub/elf.h (ELF_ST_INFO): New definition.
8571 * include/grub/ia64/efi/kernel.h: New file.
8572 * include/grub/ia64/efi/memory.h: Likewise.
8573 * include/grub/ia64/efi/time.h: Likewise.
8574 * include/grub/ia64/kernel.h: Likewise.
8575 * include/grub/ia64/setjmp.h: Likewise (from glibc).
8576 * include/grub/ia64/time.h: New file.
8577 * include/grub/ia64/types.h: Likewise.
8578 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
8579 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
8580 New protos.
8581 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
8582 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
8583 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
8584 * util/grub-mkimage.c (image_target_desc): New field pe_target.
8585 All users updated.
8586 (EFI64_HEADER_SIZE): New definition. All users updated.
8587 (image_targets): Add ia64-efi.
8588 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
8589 jumpers_addr. All users updated.
8590 Create function descriptors.
8591 (count_funcs): New function.
8592 (unaligned_uint32): New struct.
8593 (MASK20): New definition.
8594 (MASK19): Likewise.
8595 (MASKF21): Likewise.
8596 (add_value_to_slot_20b): New function.
8597 (add_value_to_slot_21_real): Likewise.
8598 (add_value_to_slot_21): Likewise.
8599 (ia64_kernel_trampoline): New struct.
8600 (nopm): New variable.
8601 (jump): Likewise.
8602 (make_trampoline): New function.
8603 (relocate_addresses): Handle ia64.
8604 (make_reloc_section): Likewise.
8605 (load_image): Likewise.
8606
983b414d
VS
86072011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8608
8609 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
8610 warning. Move variables before code while on it.
8611
5d063cdc
VS
86122011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8613
8614 Fuloong support.
8615
8616 * configure.ac: Rename yeeloong platform to loongson. All users updated.
8617 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
8618 * grub-core/boot/mips/loongson/fuloong.S: New file.
8619 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
8620 Explicitly init CS5536.
8621 [FULOONG]: Don't use serial until CS5536 is available.
8622 Set GPIO based on dumps.
8623 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
8624 [FULOONG]: Handle GPIO and memory controller differences.
8625 Parse machine type in $a2.
8626 * grub-core/boot/mips/startup_raw.S: Determine and save the
8627 architecture.
8628 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
8629 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
8630 init on architecture type.
8631 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
8632 SIS315E. Don't init at_keyboard on fuloong.
8633 (grub_halt): Support Fuloong.
8634 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
8635 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
8636 (loongson_machtypes): New array.
8637 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
8638 type.
8639 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
8640 config. All users updated. Handle CS5536 serial.
8641 * grub-core/term/serial.c (grub_serial_register): Conditionalise
8642 default port on machine type. Register serial as inactive.
8643 * grub-core/video/sis315pro.c: New file.
8644 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
8645 definition.
8646 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
8647 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
8648 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
8649 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
8650 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
8651 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
8652 to ...
8653 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
8654 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
8655 definition.
8656 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
8657 (grub_arch_machine): New extern var.
8658 * include/grub/mips/loongson/serial.h
8659 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
8660 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
8661 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
8662 (GRUB_MACHINE_SERIAL_PORT0): ... this.
8663 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
8664 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
8665 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
8666 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
8667 * include/grub/term.h (grub_term_register_input_inactive): New inline
8668 function.
8669 (grub_term_register_output_inactive): Likewise.
8670 * include/grub/video.h (grub_video_driver_id): New value
8671 GRUB_VIDEO_DRIVER_SIS315PRO.
8672 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
8673 New field "names". All users updated.
8674 New field value IMAGE_FULOONG_FLASH.
8675 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
8676
6ada82d1
JU
86772011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
8678
8679 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
8680 and add some clarification.
8681
90c571a4
VS
86822011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
8685 platforms if kernel is compressed.
8686
de04eecf
VS
86872011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8688
8689 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
8690 unused modules since currently referrence counter isn't reliable and
8691 there isn't much memory to recover there anyway.
8692
57688121
VS
86932011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8694
8695 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
8696 rather than resetting it to allow modules to reference themselves
8697 in init.
8698
3d2c7e35
VS
86992011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8700
8701 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
8702 counter on dependencies since grub_dl_unref already handles this.
8703
b25db218
VS
87042011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8705
8706 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
8707 on error if not already done.
8708
25a45338
VS
87092011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8710
8711 Fix few potential memory misusage.
8712
8713 * grub-core/font/font.c (load_font_index): Don't free char_index to
8714 avoid double free.
b25db218
VS
8715 (grub_font_load): Zero-fill font at alloc for safety.
8716 Close file on error.
8717 (free_font): Free bmp_idx.
25a45338 8718
0cac83df
VS
87192011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8720
8721 * docs/grub.texi (Installation): Fix several outdated claims.
8722
2217a143
VS
87232011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8724
8725 Handle module_license on windows.
8726
8727 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
8728 sections shifted.
8729 (insert_string): Make argument const char * instead of char *.
8730 (write_section_data): Handle long section names.
8731 Handle module_license.
8732
d4de6b01
VS
87332011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8734
8735 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
8736 handle class-free menuentries.
8737 (grub_normal_add_menu_entry): Add a check to be sure.
8738
4c2a3b43
VS
87392011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8740
8741 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
8742 PgUp and PgDown.
8743
85c6210f
VS
87442011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8745
8746 * configure.ac: Bump version to 1.99.
8747
36084912
VS
87482011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8749
8750 Give ATA device a bit more time on first try in order to allow disks
8751 to spin up.
8752
8753 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
8754 if dev->present is 1. Reset dev->present on failure.
8755 (grub_ata_device_initialize): Set dev->present to 1.
8756 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
8757 (grub_ata_device): New member 'present'.
8758
bda0e219
VS
87592011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8760
8761 * util/grub-mkimage.c (generate_image): Update hash.
8762
19e1c41b
VS
87632011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8764
8765 Flush caches on DMA memory.
8766
8767 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
8768 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
8769 (grub_dma_free): Likewise.
8770 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
8771
91bbcc0c
VS
87722011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8773
8774 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
8775 to avoid asm treating ld and sd as macros.
8776
60ddfad3
VS
87772011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8778
8779 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
8780 decompressor.
8781
a298aa04
VS
87822011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8783
8784 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
8785 grub_decompress_core since later would fail if grub_decompress_core
8786 is too far.
8787
9b44feca
VS
87882011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8789
8790 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
8791 R_MIPS_JALR since it's used by newer compiler.
8792
56dbe7b4
VS
87932011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8794
8795 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
8796
52856af2
VS
87972011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8798
8799 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
8800 file_path to 0 for surety.
8801 (grub_chainloader_boot): Set exit_data to NULL.
8802 Unset the loader once done.
8803 (grub_cmd_chainloader): Fix confusing error message if file is empty.
8804
9c9bfc6d
VS
88052011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8806
8807 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
8808 unknown key into a dprintf.
8809
dd94a3df
VS
88102011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8811
8812 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
8813 on first non-existant partition.
8814
fa68d99c
VS
88152011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8816
8817 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
8818 openning fails.
8819 Reported by: Mark Korenberg.
8820
157effb7
VS
88212011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8822
8823 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
8824 overflow.
8825
ea75312f
VS
88262011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8827
8828 * util/grub-mkimage.c (main): Explicitely flush and sync the output
8829 before closing to ensure that it will be readable by grub-setup.
8830
072b5d31
VS
88312011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8832
8833 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
8834 (devpath_1): Use MAKE_PIWG_PATH.
8835 (devpath_2): Likewise.
8836 (devpath_3): Likewise.
8837 (devpath_4): Likewise.
8838 (devpath_5): Likewise.
8839 (devpath_6): Likewise.
8840
8841 The appleldr.mod was checked that to be binary identical to previous
8842 version.
8843
7fae0051
Z
88442011-05-05 Zach <mikezackles>
8845
8846 Support 2010 Macbooks.
8847
8848 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
8849 (devs): Add devpath_6.
8850
7c515bee
VS
88512011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8852
8853 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
8854 /dev/random. /dev/urandom is good enough for our purposes (salting).
8855
ed660bd8
VS
88562011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8857
8858 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
8859
ee5614b7
VS
88602011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8861
8862 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
8863 hexadecimal.
8864
664889a6
VS
88652011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8866
8867 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
8868 and not 0 on failure.
8869
bd405bbc
CW
88702011-05-03 Colin Watson <cjwatson@ubuntu.com>
8871
8872 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
8873 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
8874 disk; otherwise grub_fs_probe will not fall back to the next
8875 filesystem.
8876 (grub_pxefs_open): Likewise, for consistency.
8877 Reported and tested by: Ezekiel Grave.
8878
4ebff753
CW
88792011-05-03 Colin Watson <cjwatson@ubuntu.com>
8880
8881 * tests/partmap_test.in: Don't hardcode path to parted.
8882 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
8883
8f942553
CW
88842011-05-01 Colin Watson <cjwatson@ubuntu.com>
8885
8886 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
8887 of `ls' to find out which devices are available.
8888
3c62402d
VS
88892011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8890
8891 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
8892 than source address for efi mmap buffer.
8893
723f63f2
VS
88942011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8895
8896 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
8897 wrong action on non-detecting the magic.
8898
68797f92
VS
88992011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8900
8901 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
8902 already supplied by another part of the module (fixes compilation on
8903 FreeBSD).
8904
6be8715d
VS
89052011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8906
8907 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
8908 match the one used by mdadm.
8909
e91dba5b
CW
89102011-04-21 Colin Watson <cjwatson@ubuntu.com>
8911
8912 * po/README: Add instructions for creating po/LINGUAS.
8913
c85140b3
CW
89142011-04-21 Colin Watson <cjwatson@ubuntu.com>
8915
8916 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
8917 #551428.
8918
8919 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
8920 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
8921 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
8922 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
8923 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
8924 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
8925 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
8926 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
8927 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
8928 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
8929 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
8930 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
8931 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
8932 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
8933 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
8934 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
8935 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
8936 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
8937 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
8938 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
8939 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
8940 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
8941
92051871
CW
89422011-04-21 Colin Watson <cjwatson@ubuntu.com>
8943
8944 * grub-core/kern/emu/getroot.c
8945 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
8946 test that was incorrectly reintroduced in r3214.
8947 Reported by: Ian Dall. Fixes Savannah bug #33133.
8948
b13f79a4
CW
89492011-04-21 Colin Watson <cjwatson@ubuntu.com>
8950
8951 Fix stack pointer handling in 16-bit relocator.
8952
8953 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
8954 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
8955 Fixes Ubuntu bug #683904.
8956
9b710a88
VS
89572011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
8958
8959 * configure.ac: Bump version to 1.99~rc2.
8960
d97e7b59
VS
89612011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
8962
8963 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
8964 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
8965 * grub-core/lib/x86_64/setjmp.S: Likewise.
8966 * grub-core/lib/mips/setjmp.S: Likewise.
8967 * grub-core/lib/powerpc/setjmp.S: Likewise.
8968 * grub-core/lib/sparc64/setjmp.S: Likewise.
8969
0624551c
VS
89702011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
8971
8972 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
8973 * grub-core/lib/efi/datetime.c: Likewise.
8974
e8f28d4c
VS
89752011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8976
8977 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
8978 New function.
8979 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
8980 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
8981 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
8982
bba79a15
VS
89832011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8984
8985 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
8986 bitmap.
8987 (grub_gfxterm_term_init): Likewise.
8988
abc474ef
VS
89892011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8990
8991 Take into account the decorations the computing menu entry width.
8992
8993 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
8994 (grub_gfxmenu_create_box): Register get_border_width.
8995 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
8996 if available.
8997 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
8998 get_border_width.
8999
e74b3947
EP
90002011-04-18 Endres Puschner <code@e7p.de>
9001
9002 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
9003 Don't skip first class.
9004
34faa595
VS
90052011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9006
9007 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
9008 chunks.
9009 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
9010
93a777e3
VS
90112011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9012
9013 Complete 64-bit division support.
9014
9015 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
9016 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
9017 * include/grub/misc.h (grub_divmod64): Rename to ...
9018 (grub_divmod64_full): ... this.
9019 (grub_divmod64): New inline function.
9020
a5102d94
VS
90212011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9022
9023 * util/grub-mkimage.c (generate_image): Add forgotten comma.
9024
f3fb7b36
VS
90252011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9026
9027 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
9028 performing the necessary test.
9029
9ac718b0
VS
90302011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9031
9032 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
9033 (kfreebsd.elf): Likewise.
9034 (pc-chainloader.elf): Likewise.
9035 (ntldr.elf): Likewise.
9036
50d2cc5a
VS
90372011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9038
9039 Identify RAID by its UUID rather than (guessed) name.
9040
9041 * grub-core/disk/raid.c (ascii2hex): New function.
9042 (grub_raid_open): Accept mduuid/%s specification.
9043 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
9044 (get_mdadm_uuid): ... this.
9045 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
9046
e03f7bea
VS
90472011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
9048
9049 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
9050 to negative size.
9051
e74c3112
CW
90522011-04-13 Colin Watson <cjwatson@ubuntu.com>
9053
9054 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
9055 btrfs subvolume.
9056 * util/grub.d/20_linux_xen.in: Likewise.
9057
78fa584f
CW
90582011-04-13 Colin Watson <cjwatson@ubuntu.com>
9059
9060 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
9061 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
9062
9063 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
9064 Build a list of relevant visible mounts using the mnt_id and
9065 parent_mnt_id fields, and then scan that list at the end.
9066
9d5f8162
CW
90672011-04-12 Colin Watson <cjwatson@ubuntu.com>
9068
9069 * docs/grub.texi (normal): New section.
9070 (normal_exit): New section.
9071 (Embedded configuration): Add reference to normal.
9072 (GRUB only offers a rescue shell): Likewise.
9073 * docs/grub-dev.texi (Error Handling): Fix typo.
9074
09a9d66f
CW
90752011-04-12 Colin Watson <cjwatson@ubuntu.com>
9076
9077 * NEWS: Drop obsolete entry about probe-only btrfs support.
9078
0c676933
CW
90792011-04-12 Colin Watson <cjwatson@ubuntu.com>
9080
9081 * util/import_gcry.py: Fix typo.
9082
ec9f5e0d
VS
90832011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9084
9085 * NEWS: Add btrfs support.
9086
fe6b2cba
VS
90872011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
90882011-04-11 Colin Watson <cjwatson@ubuntu.com>
9089
9090 BtrFS support. Written by me (Vladimir) with important bugfixes and
9091 even more important testing by Colin.
9092
9093 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
9094 * grub-core/Makefile.core.def (btrfs): Add crc.c.
9095 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
9096 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
9097 mem_input_off and mem_input. All users updated to accept in-RAM input.
9098 (gzio_seek): New function.
9099 (test_zlib_header): Likewise.
9100 (grub_gzio_read): Likewise.
9101 (grub_zlib_decompress): Likewise.
9102 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
9103 Accept partial and non-virtual mounts.
9104 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
9105 avoid receiving /dev/dm-X as device.
9106 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
9107 Handle bind and partial mounts.
9108 * grub-core/lib/crc.c: New file.
9109 * include/grub/deflate.h: Likewise.
9110 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
9111 proto.
9112 * include/grub/lib/crc.h: New file.
9113
e745cf0c
VS
91142011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9115
9116 Implement automatic module license checking according to new GNU
9117 guidelines.
9118
9119 * grub-core/kern/dl.c (grub_dl_check_license): New function.
9120 (grub_dl_load_core): Use grub_dl_check_license.
9121 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
9122 (GRUB_MOD_LICENSE): Likewise.
9123 (GRUB_MOD_DUAL_LICENSE): Likewise.
9124 All modules updated.
9125
2a9bc016
CW
91262011-04-11 Colin Watson <cjwatson@ubuntu.com>
9127
9128 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
9129 reserved_first_sector to 1. btrfs reserves plenty of space for boot
9130 loaders.
9131 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
9132
8a3bc88e
VS
91332011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9134
9135 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
9136
af869a4a
VS
91372011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9138
9139 * util/grub-fstest.c (read_file): Report GRUB error if file opening
9140 failed.
9141
9ee8d94f
VS
91422011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9143
9144 * grub-core/kern/file.c (grub_file_open): Don't take into account the
9145 parenthesis in the middle of the filename.
9146
b01abe3e
VS
91472011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9148
9149 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
9150 rather than trying to put initrd way too high.
9151 Reported by: Ryan Lortie <desrt@desrt.ca>
9152
335bda1e
VS
91532011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9154
9155 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
9156 improperly removed string.
9157
5ca1a64d
VS
91582011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9159
9160 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
9161 is_disk.
9162 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
9163 (open_device) Likewise.
9164 (grub_util_biosdisk_close): Likewise.
d8ce9995 9165 Reported by: Mark Korenberg.
5ca1a64d 9166
cbac5b1e
AK
91672011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
9168
9169 * util/grub-mkconfig_lib.in: Add missing quotes.
9170
088cdb65
CW
91712011-04-10 Colin Watson <cjwatson@ubuntu.com>
9172
9173 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
9174 is NULL.
9175
8b8a81fa
VS
91762011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9177
9178 Dynamically count the number of lines for the lower banner.
9179
9180 * grub-core/normal/menu_entry.c (per_term_screen): New member
9181 num_entries.
9182 (print_down): Use num_entries.
9183 (update_screen): Likewise.
9184 (grub_menu_entry_run): Set num_entries.
9185 * grub-core/normal/menu_text.c (menu_viewer_data): New member
9186 num_entries.
9187 (grub_print_message_indented): Move real part to ...
9188 (grub_print_message_indented_real): ... here. Additional argument
9189 dry_run.
9190 (draw_border): Additional argument num_entries.
9191 (print_message): Additional argument dry_run.
9192 (print_entries): Receive menu viewer data.
9193 (grub_menu_init_page): New argment num_entries.
9194 (menu_text_set_chosen_entry): Use num_entries.
9195 (grub_menu_try_text): Likewise.
9196 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
9197 All users updated.
9198 (grub_ucs4_count_lines): New function.
9199 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
9200 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
9201 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
9202 (grub_term_border_height): Likewise.
9203 (grub_term_num_entries): Likewise.
9204
277f955b
VS
92052011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
9208 Remove now unused string.
9209
536ce85a
CW
92102011-04-09 Colin Watson <cjwatson@ubuntu.com>
9211
9212 * docs/grub-dev.texi (Finding your way around): Update for 1.99
9213 build system.
9214 (Getting started): GRUB is developed in Bazaar now, not Subversion.
9215
9216 (Comment): Fix typo.
9217 (Getting started): General copy-editing.
9218 (Typical Development Experience): Likewise.
9219 (Error Handling): Likewise.
9220 (Video API): Likewise.
9221
2cf09e32
CW
92222011-04-09 Colin Watson <cjwatson@ubuntu.com>
9223
9224 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
9225 throughout.
9226
1ec652f4
VS
92272011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9228
9229 * util/grub-mkimage.c (main): Handle special naming of yeeloong
9230 directory.
9231
2c583728
CW
92322011-04-08 Colin Watson <cjwatson@ubuntu.com>
9233
9234 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
9235 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
9236 "development".
9237
d7a565e9
VS
92382011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9239
9240 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
9241 grub_strcpy since the lines aren't necessarily 0-terminated.
9242
7c2e4909
VS
92432011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9244
9245 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
9246 root on legacy.
9247
34c09785
VS
92482011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9249
9250 * grub-core/commands/probe.c (options): Argument to set isn't optional.
9251 (GRUB_MOD_INIT): DEVICE isn't optional.
9252
6a6f8058
VS
92532011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9254
9255 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
9256 word on new line if it's too long anyway. Fixes a hang.
9257
2e335e90
VS
92582011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9259
9260 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
9261 const.
9262 * util/grub-setup.c (main): Reuse md device name if available.
9263 * util/raid.c (grub_util_raid_getmembers): Receive device name and
9264 not GRUB name as argument.
9265 Based on patch by: Florian Wagner <fwagner>.
9266
10a7a867
VS
92672011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9268
9269 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9270 Place mbi on low memory for better compatibility.
9271
7a3d6cd9
VS
92722011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9273
9274 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
9275
18dd6b47
VS
92762011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
92772011-04-08 Colin Watson <cjwatson@ubuntu.com>
9278
9279 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 9280 * conf/Makefile.common: Likewise.
18dd6b47 9281
3c0e3f14
VS
92822011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9283
f7148863
VS
9284 * grub-core/normal/menu.c: Add missing include.
9285
92862011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9287
9288 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 9289
6d1fa41f
MZ
92902011-04-08 Martin Zuther <mzuther@mzuther.de>
9291
9292 * util/grub-mkconfig.in: Ignore emacsen backup.
9293
478182a8
VS
92942011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9295
9296 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
9297 on open.
9298 (grub_util_biosdisk_close): Likewise.
9299
72a89a54
VS
93002011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9301
9302 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
9303 const attribute and use grub_isdigit.
9304
b5ebecfa
A
93052011-04-06 Andrey <dev_null@ukr.net>
9306
9307 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
9308 gcc warning.
9309
7755f66e
VS
93102011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9311
9312 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
9313 useful grub_dprintf's.
9314
461121ff
VS
93152011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9316
9317 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
9318
2a961775
VS
93192011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9320
9321 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
9322
adf594cc
VS
93232011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9324
9325 Output errors if theme loading failed.
9326
9327 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
9328 grub_gfxterm_fullscreen on error paths to ...
9329 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
9330 theme loading error.
9331
665900a3
VS
93322011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9333
9334 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
9335 space for older compilers.
9336 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9337
a562b479
VS
93382011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9339
9340 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
9341 and report them as not RAID members since they are useless for GRUB.
9342 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9343
850e9373
VS
93442011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9345
9346 Increase LVM implementation robustness in order not to crash on
9347 configurations like pvmove. Previously code assumed that in some places
9348 only lvs or only pvs are used whereas it seems that they are used
9349 interchangeably.
9350
9351 * grub-core/disk/lvm.c (read_node): New function.
9352 (read_lv): Use read_node.
9353 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
9354 Match volumes only at the end when all lvs are found. Take both
9355 pvs (first) and lvs (second) into account.
9356 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
9357 mirror_* into node_*. All users updated.
9358 (grub_lvm_stripe): Merge this ...
9359 (grub_lvm_mirror): ... and this ...
9360 (grub_lvm_node): ... into this. All users updated.
9361
6f332153
VS
93622011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9363
9364 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
9365 of function to allow further scanning for LVMs.
9366
829ea451
VS
93672011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9368
9369 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
9370 on failed seek as it breaks open fd reusage.
9371
09ceb9a5
VS
93722011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9373
9374 * util/grub-install.in: Add a recommendation to use --recheck before
9375 reporting bugs.
9376
67e11623
VS
93772011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9378
9379 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
9380 are obtained.
9381
caee5efd
VS
93822011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9383
9384 GRUB developper manual based on existing Internals section and
9385 contributions by the various authors with active copyright assignment.
9386
9387 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
9388 * docs/font_char_metrics.png: New file.
9389 * docs/font_char_metrics.txt: Likewise.
9390 * docs/grub-dev.texi: Likewise.
9391 * docs/grub.texi (Internals): Move from here ...
9392 * docs/grub-dev.texi: ... here.
9393
2cccc747
CW
93942011-04-01 Colin Watson <cjwatson@ubuntu.com>
9395
9396 Store the loopback device as data on loopback grub_disk structures,
9397 rather than the file it points to. This fixes use of freed memory
9398 if an existing loopback device is replaced.
9399
9400 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
9401 disk->data, not dev->file.
9402 (grub_loopback_read): Adjust file assignment to match.
9403 Fixes Ubuntu bug #742967.
9404
186ae367
CW
94052011-04-01 Colin Watson <cjwatson@ubuntu.com>
9406
9407 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
9408 when replacing an existing device.
9409
cfed2ad0
VS
94102011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9411
9412 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
9413 memory corruptions.
9414
9415 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
9416 unsigned.
9417 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
9418 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
9419 (grub_jfs_read_inode): Likewise.
9420 (grub_jfs_opendir): Likewise. Remove now useless casts.
9421 (grub_jfs_getent): Likewise.
9422 Make ino a grub_uint32_t rather than int.
9423 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
9424 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
9425 division and module with bit operations.
9426 (grub_jfs_find_file): Make ino a grub_uint32_t.
9427 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
9428
05d2ed32
CW
94292011-04-01 Colin Watson <cjwatson@ubuntu.com>
9430
9431 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
9432 warning. (This was in fact always initialised before use, but GCC
9433 wasn't smart enough to prove that.)
9434 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
9435
91dc6073
VS
94362011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9437
9438 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
9439 stack alignment.
9440 (efi_wrap_1): Likewise.
9441 (efi_wrap_2): Likewise.
9442 (efi_wrap_3): Likewise.
9443 (efi_wrap_4): Likewise.
9444 (efi_wrap_5): Likewise.
9445 (efi_wrap_6): Likewise.
9446 (efi_wrap_10): Likewise.
9447 Based on information by: Red Hat/Peter Jones.
9448
a8afc1d1
CW
94492011-03-31 Colin Watson <cjwatson@ubuntu.com>
9450
9451 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
9452 set-but-not-used variable.
9453
a826cc7d
CW
94542011-03-31 Colin Watson <cjwatson@ubuntu.com>
9455
9456 * docs/grub.texi (Simple configuration): Be more explicit about
9457 GRUB_DEFAULT, and add an example.
9458 Reported by: Leslie Rhorer.
9459
875b67ba
CW
94602011-03-30 Colin Watson <cjwatson@ubuntu.com>
9461
9462 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
9463 shell".
9464
fd7cd914
AS
94652011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
9466
9467 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
9468 * util/grub.d/20_linux_xen.in: Likewise.
9469
090b1b6a
VS
94702011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9471
9472 * util/grub.d/10_linux.in: Try alternative config filenames where
9473 we parse config file.
9474 * util/grub.d/20_linux_xen.in: Likewise.
9475
baad885c
AS
94762011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
9477
9478 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
9479 * util/grub.d/20_linux_xen.in: Likewise.
9480
241e41f5
VS
94812011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9482
9483 * grub-core/disk/raid.c (insert_array): Add few potentially
9484 useful grub_util_info.
9485 (grub_raid_register): Likewise.
9486
56445fb2
VS
94872011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9488
9489 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
9490 Preserve partition number in mdadm code path.
9491
c871b1c6
VS
94922011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9493
9494 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
9495 few potentially useful grub_util_info.
9496
5e631b4f
CW
94972011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9498
9499 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
9500
2d5d0333
CW
95012011-03-30 Colin Watson <cjwatson@ubuntu.com>
9502
9503 * docs/grub.texi (default): Use @example rather than nested
9504 itemized lists to avoid breaking gendocs.
9505
3d7ed04e
CW
95062011-03-30 Colin Watson <cjwatson@ubuntu.com>
9507
9508 * docs/grub.texi (Future): Update.
9509
abf04200 95102011-03-30 Colin Watson <cjwatson@ubuntu.com>
9511
9512 * docs/grub.texi (Environment): New chapter.
9513 (Changes from GRUB Legacy): Link to "Environment block" section for
9514 details of limitations.
9515 (Simple configuration): Likewise. Link to documentation of gfxmode
9516 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
9517 respectively.
9518 (Shell-like scripting): Note that normal variables are stored in the
9519 environment.
9520 (gettext): Link to documentation of lang and locale_dir.
9521 (list_env): New section.
9522 (load_env): New section.
9523 (save_env): New section.
9524
9525 (Reporting bugs): Fix typo.
9526
e1ad0edd
VS
95272011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9528
9529 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
9530 the example.
9531
5d803174
VS
95322011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9533
9534 * grub-core/term/at_keyboard.c (set_scancodes)
9535 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
9536
2a2da1d0
CW
95372011-03-30 Colin Watson <cjwatson@ubuntu.com>
9538
9539 * docs/grub.texi (Menu-specific commands): Remove some semantics
9540 that were true in GRUB Legacy but not in GRUB 2.
9541 (submenu): New section.
9542 (false): New section.
9543 (read): New section.
9544 (true): New section.
9545
a7527639
CW
95462011-03-30 Colin Watson <cjwatson@ubuntu.com>
9547
9548 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
9549
95502011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
9551
9552 * docs/grub.texi (Simple configuration): Explain some of the
9553 current limitations of grub-mkconfig.
8a748df2 9554 Reported by: Leslie Rhorer.
e30af029 9555
fc858482
VS
95562011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9557
9558 Old macs search for boot.efi rather than for bootia32.efi.
9559
9560 * util/grub-install.in: Copy bootia32.efi to boot.efi.
9561 * util/grub-mkrescue.in: Likewise.
9562 Suggested by: Peter Jones.
9563
e1eb511d
VS
95642011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9565
9566 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
9567
70e75364
VS
95682011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9569
9570 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
9571 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
9572 (grub_lvm_mirror): New struct.
9573 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
9574 (grub_lvm_iterate): Iterate only visible volumes.
9575 (grub_lvm_read): Factor out to ..
9576 (read_lv): ... this. Support mirrors.
9577 (grub_lvm_read): New wrapper function.
9578 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
9579 stripped or mirrored.
9580
fc18f6a3
VS
95812011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9582
9583 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
9584
5c650f4c
CW
95852011-03-29 Colin Watson <cjwatson@ubuntu.com>
9586
9587 * docs/grub.texi (loopback): New section.
9588
61d7156b
CW
95892011-03-29 Colin Watson <cjwatson@ubuntu.com>
9590
9591 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
9592 removed -p option.
9593
994b8264
CW
95942011-03-29 Colin Watson <cjwatson@ubuntu.com>
9595
9596 * docs/grub.texi (BIOS installation): New section, partly based on
9597 previous text in other sections.
9598 (Installing GRUB using grub-install): Replace BIOS discussion with a
9599 cross-reference.
9600 (Images): Likewise.
9601
9e4d19e0
VS
96022011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9603
9604 * grub-core/kern/emu/hostdisk.c (find_partition_start)
9605 [HAVE_DIOCGDINFO]: Add safety checks.
9606
a307c0b2
VS
96072011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9608
9609 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
9610 per default compiled in kernel and prior to 8.0 isn't shipped at all.
9611
b4db4f39
CW
96122011-03-29 Colin Watson <cjwatson@ubuntu.com>
9613
9614 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
9615 real_sb->size is zero (e.g. RAID-0), get the disk size from
9616 real_sb->data_size instead.
9617 Fixes Ubuntu bug #743136.
9618
35e5f84c
VS
96192011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9620
9621 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
9622 printf clauses for printing size and start.
9623
d2e29d81
VS
96242011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9625
9626 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
9627 Reported and tested by: Timothy Nikkel.
9628
ed5587af
VS
96292011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9630
9631 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
9632 (dirty_region_add_real): ... this.
9633 (dirty_region_add): Don't discard margin refresh when performing
9634 scheduled repaint.
9635
a1dc717c
VS
96362011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9637
9638 * grub-core/lib/relocator.c (allocate_regstart)
9639 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
9640 terminals are capabple of malloc-free operation.
9641 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
9642 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
9643
9f3677d3
VS
96442011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
9645
9646 * util/grub-setup.c: Copy the partition table zone if floppy support
9647 is disabled, even if no partition table is found.
9648
9649 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
9650 during POST if an invalid partition table is contained in the PBR
9651 of the active partition when GRUB is installed to a partition.
9652
24148725
CW
96532011-03-28 Colin Watson <cjwatson@debian.org>
9654
9655 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
9656 comment.
9657
f329eda7
CW
96582011-03-28 Colin Watson <cjwatson@debian.org>
9659
9660 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
9661 to be specific about what kind of RAID device we're scanning for.
9662
c482ad98
SG
96632011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
9664
9665 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
9666 return freed string.
9667
5ee04984
VS
96682011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9669
9670 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
9671
f4727da9
VS
96722011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9673
9674 Use libgeom on FreeBSD to detect partitions.
9675
9676 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
9677 (grub-mkrelpath): Likewise.
9678 (grub-script-check): Likewise.
9679 (grub-editenv): Likewise.
9680 (grub-mkpasswd-pbkdf2): Likewise.
9681 (grub-fstest): Likewise.
9682 (grub-mkfont): Likewise.
9683 (grub-mkdevicemap): Likewise.
9684 (grub-probe): Likewise.
9685 (grub-setup): Likewise.
9686 (grub-ofpathname): Likewise.
9687 (grub-mklayout): Likewise.
9688 (example_unit_test): Likewise.
9689 (grub-menulst2cfg): Likewise.
9690 * grub-core/Makefile.core.def (grub-emu): Likewise.
9691 (grub-emu-lite): Likewise.
9692 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
9693 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
9694 define HAVE_DIOCGDINFO.
9695 (follow_geom_up) [FreeBSD]: New function.
9696 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
9697 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
9698 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
9699 unconditionally of HAVE_DIOCGDINFO.
9700
82fe6c75
VS
97012011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9702
9703 Fix FreeBSD compilation problem.
9704
9705 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
9706 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
9707
4c6c9431
CW
97082011-03-24 Colin Watson <cjwatson@ubuntu.com>
9709
9710 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
9711 Switch back to page zero before loading a kernel, since some kernel
9712 drivers expect that.
9713 Thanks to: Felix Kuehling.
9714
c7064d94
VS
97152011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9716
9717 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
9718 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
9719 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
9720
3f71cded
VS
97212011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9722
9723 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
9724 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
9725
ef6de21a
VS
97262011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9727
9728 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
9729 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
9730 malloc is disabled.
9731
8bc66a2c
VS
97322011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9733
9734 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
9735 for modules headers when counting the needed allocation size.
9736
5657722c
VS
97372011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9738
9739 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
9740 if no ASCII character is found to prevent crash.
9741
41a85f55
AK
97422011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
9743
9744 * grub-core/video/bitmap.c (match_extension): Ignore case.
9745
59e1e5f1
VS
97462011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9747
9748 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
9749
bd4d051a
VS
97502011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9751
9752 * grub-core/script/parser.y: Declare "time" as valid argument.
9753
bae7fcc1
PJ
97542011-03-23 Peter Jones <pjones@redhat.com>
9755
9756 Fix incorrect assert failure reporting.
9757
9758 * grub-core/tests/example_functional_test.c (example_test): Add
9759 a failure comment.
9760 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
9761 (failure_start): ...this. Check that malloc succeeded.
9762 Don't call xvasprintf. Return failure struct.
9763 (failure_append_vtext): New function.
9764 (failure_append_text): Likewise.
9765 (add_failure): Likewise.
9766 (grub_test_assert_helper): Likewise.
9767 * include/grub/test.h (grub_test_assert_helper): New declaration.
9768 (grub_test_assert): Macro rewritten.
9769
537dc9be
VS
97702011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9771
9772 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
9773
fa3e01bf
VS
97742011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9775
9776 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
9777
b1d28404
VS
97782011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9779
9780 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
9781 into GRUB-style one.
9782
2e3e2e09
VS
97832011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9784
9785 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
9786 error and not grub_errno.
9787 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
9788
ed57e557
VS
97892011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9790
9791 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
9792 GRUB_USB_SPEED_NONE in case of failure and not the error code.
9793
d1611f01
VS
97942011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9795
9796 * grub-core/efiemu/i386/pc/cfgtables.c
9797 (grub_machine_efiemu_init_tables): Make declaration a prototype.
9798 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
9799 (grub_xnu_unlock): Likewise.
9800 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
9801
7d4e39d6
VS
98022011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9803
9804 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
9805 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
9806 * grub-core/commands/hashsum.c (aliases): Likewise.
9807 * grub-core/commands/setpci.c (pci_registers): Likewise.
9808 * grub-core/disk/usbms.c (attach_hook): Likewise.
9809 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
9810 (zio_checksum_table): Likewise.
9811 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
9812 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
9813 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
9814 * grub-core/lib/relocator.c (leftovers): Likewise.
9815 (extra_blocks): Likewise.
9816 * grub-core/loader/i386/bsd.c (relocator): Likewise.
9817 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
9818 (modules_last): Likewise.
9819 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
9820 (devices): Likewise.
9821 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
9822 (modules_last): Likewise.
9823 * grub-core/normal/auth.c (users): Likewise.
9824 * grub-core/normal/context.c (initial_menu): Likewise.
9825 (current_menu): Likewise.
9826 * grub-core/normal/crypto.c (crypto_specs): Likewise.
9827 * grub-core/term/serial.c (grub_serial_ports): Likewise.
9828 (grub_serial_terminfo_input_template): Likewise.
9829 (grub_serial_terminfo_output_template): Likewise.
9830 (grub_serial_terminfo_input): Likewise.
9831 (grub_serial_terminfo_output): Likewise.
9832 (registered): Likewise.
9833 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
9834
40fc4659
VS
98352011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9836
9837 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
9838 grub_video_mode_type_t.
9839 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
9840 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
9841 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
9842
2da48d28
VS
98432011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9844
9845 * util/grub-install.in: Correct the x86-64 name as x86_64.
9846
9b43bf39
CW
98472011-03-11 Colin Watson <cjwatson@ubuntu.com>
9848
9849 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
9850 initial chunk read from the kernel always includes GRUB's multiboot
9851 header, which is now outside the first sector.
9852
be1a7ce0
CW
98532011-03-09 Colin Watson <cjwatson@ubuntu.com>
9854
9855 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
9856 cached mmap_size, so that this works correctly when called multiple
9857 times.
9858 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
9859
83a3c48d
CW
98602011-03-09 Colin Watson <cjwatson@ubuntu.com>
9861
9862 * docs/grub.texi (Simple configuration): Tidy up formatting.
9863
57d75699
SJ
98642011-03-07 Szymon Janc <szymon@janc.net.pl>
9865
9866 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
9867 Set-but-not-used variable removed.
9868
028501a0
VS
98692011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9870
9871 Workaround yet another IEEE1275 bug.
9872
9873 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
9874 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
9875 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
9876 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
9877 is set.
9878 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9879 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
9880
d998657d
VS
98812011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9882
9883 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
9884 error.
9885
fee7cdd4
CW
98862011-02-11 Colin Watson <cjwatson@ubuntu.com>
9887
9888 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
9889 empty, since in that case we can only generate either nothing or a
9890 syntactically invalid configuration file.
9891 Reported by: Michal Suchanek. Fixes Debian bug #612898.
9892
97286eb5
CW
98932011-02-09 Colin Watson <cjwatson@ubuntu.com>
9894
9895 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
9896 (Making a GRUB bootable CD-ROM): Likewise.
9897 (Invoking grub-mkrescue): New section.
9898 Reported by: Yann Dirson. Fixes Debian bug #612585.
9899
22b28eb3
CW
99002011-02-09 Colin Watson <cjwatson@ubuntu.com>
9901
9902 * util/grub-install.in: Remove unnecessary brackets from tr
9903 arguments.
9904 * util/grub.d/10_hurd.in: Likewise.
9905 * util/grub.d/10_kfreebsd.in: Likewise.
9906 * util/grub.d/10_linux.in: Likewise.
9907 * util/grub.d/20_linux_xen.in: Likewise.
9908 Reported by: Jamie Heilman. Fixes Debian bug #612564.
9909
7e735e43
CW
99102011-02-08 Colin Watson <cjwatson@ubuntu.com>
9911
9912 * include/grub/file.h (not_easly_seekable): Rename to ...
9913 (not_easily_seekable): ... this. Update all users.
9914
800f1881
CW
99152011-01-28 Colin Watson <cjwatson@ubuntu.com>
9916
9917 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
9918 grub-mkrescue.
9919
3281d3d6
VS
99202011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9921
9922 * util/grub-mkimage.c (generate_image): Refuse to create the images
9923 bigger than the actual flash (512K) in Loongson machines. 512K is also
9924 the biggest chip supported by them.
9925
3533413c
VS
99262011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9927
9928 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
9929
73ae4f4f
VS
99302011-01-22 Anthony DeRobertis <anthony@derobert.net>
9931
9932 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
9933 super_offset field.
9934
37f4f608
VS
99352011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9936
9937 * util/grub-install.in: Ignore install device on platforms
9938 where it doesn't make sense. Always use UUIDs except on pc, efi and
9939 sparc64.
9940 Reported by: Daniel Kahn Gillmor.
9941
03a4ccb5
VS
99422011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9943
9944 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
9945
ffc8f4d8
VS
99462011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9947
9948 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
9949 (iterate_real): Don't rely on partition being non-NULL.
9950
80f23be7
VS
99512011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9952
9953 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
9954 supported platforms. Put a compile time assert for this rather than
9955 generate a warning with 32-bit shift.
9956
5d4f4dd5
VS
99572011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9958
9959 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
9960 logical expression more readable.
9961
e489601a
VS
99622011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9963
9964 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
9965 even if some elements have a name.
9966 Reported by: Alexander GQ Gerasiov.
9967
96e0a6ea
CW
99682011-01-22 Colin Watson <cjwatson@ubuntu.com>
9969
9970 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
9971 path unreadable if `grub-probe -t abstraction' fails, for example if
9972 memberlist fails on an LVM volume group.
9973 Reported by: Darius Jahandarie.
9974
81431e2b
CW
99752011-01-22 Colin Watson <cjwatson@ubuntu.com>
9976
9977 * docs/grub.texi (Simple configuration): Document
9978 GRUB_PRELOAD_MODULES.
9979
5e79d66a
CW
99802011-01-17 Colin Watson <cjwatson@ubuntu.com>
9981
9982 * .bzrignore: Remove nonexistent grub-pbkdf2.
9983
646ada34
VS
99842011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
9985
9986 * configure.ac: Bump version to 1.99~rc1.
9987
04360337
VS
99882011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
9989
9990 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
9991 for safety.
9992
46c9db88
VS
99932011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
9994
9995 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
9996 module.
9997
99982011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
9999
10000 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
10001
4fbf1852
VS
100022011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10003
10004 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
10005 diskdevid.
10006
f1632d4d
VS
100072011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10008
10009 Fix compilation on cygwin.
10010
10011 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
10012 -R .drectve on cygwin.
10013 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
10014 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
10015 (COND_CYGWIN): New condition.
10016 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
10017 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
10018 not @TARGET_OBJ2ELF@.
10019 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
10020 type to determine whether aux is to be used.
10021
0b5e127b
VS
100222011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10023
10024 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
10025 realpath'ed device string.
10026 Handle floppy (somewhat).
10027 Issue error in unknown case rather than garbage.
10028 Reported by: Axel Beckert.
10029
173b71e9
VS
100302011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10031
10032 * util/grub.d/00_header.in (load_video): Handle the case when no video
10033 drivers available.
10034 Thanks to: Axel Beckert.
10035
f8f479db
VS
100362011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10037
10038 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
10039 variable. Fixes problem on big endian platforms.
10040
8fc0a245
VS
100412011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10042
10043 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
10044 It doesn't work well there.
10045
b8494fbe
VS
100462011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10047
10048 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
10049 warning.
10050 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
10051 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
10052 counter.
10053
b44a558c
VS
100542011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10055
10056 Use alias->path rather than buggy "canon".
10057
10058 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
10059 (ofdisk_hash_add): New argument curcan. All users updated.
10060
51fa856c
CW
100612011-01-11 Colin Watson <cjwatson@ubuntu.com>
10062
10063 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
10064
9da068a5
VS
100652011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10066
10067 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
10068 loadmask before doing any calculations. Use correct type for offset.
10069 (grub_linux_load64): Likewise.
10070
86205c94
CW
100712011-01-11 Colin Watson <cjwatson@ubuntu.com>
10072
10073 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
10074 with NULL.
10075 (console_grub_equivalences_unshift): Likewise.
10076 Reported by: Daniel Dehennin.
10077
4531a206
VS
100782011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10079
10080 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
10081 (set_env_limn_ro): Likewise.
10082 (GRUB_MOD_INIT): Likewise.
10083 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
10084 ARRAY_SIZE while on it.
10085 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
10086 * grub-core/normal/context.c (grub_env_export): Move from here ...
10087 * grub-core/kern/env.c (grub_env_export): ... here.
10088 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
10089 prefix.
10090 * grub-core/kern/main.c (grub_main): Export root and prefix.
10091 * include/grub/env.h (grub_env_export): Export.
10092 Reported by: Seth Goldberg.
10093
45146057
VS
100942011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10095
10096 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10097 Take into account space used by ELF sections and multiboot palette.
10098 Reported by: Grégoire Sutre.
10099
f093110b
VS
101002011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10101
10102 * BUGS: New file.
10103
3395fe52
VS
101042011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10105
10106 Pass more appropriate video id to Linux.
10107
10108 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
10109 grub_video_get_driver_id and variable gfxpayloadforcelfb to
10110 fill have_vga.
10111 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
10112 shift params->lfb_size.
10113 * include/grub/i386/linux.h: Make an enume out of have_vga values.
10114
c2fa6cbb
VS
101152011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10116
10117 * util/grub-menulst2cfg.c: Add missing include of misc.h.
10118
b3ff6ff0
VS
101192011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10120
10121 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
10122 separator and pass bootpath/devid even if only one of them is available.
10123 Reported by: Seth Goldberg.
10124
ae67942e
VS
101252011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10126
10127 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
10128 implementations bug on them.
10129
10130 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
10131 memory.
10132 (filter_memory_map): Likewise.
10133
d570097a
VS
101342011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10135
10136 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
10137 Reported by: nebuchadnezzar.
10138
a508e776
VS
101392011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10140
10141 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
10142 Reported by: nebuchadnezzar.
10143
dcb883b1
VS
101442011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10145
10146 Submenu default support.
10147
10148 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
10149 auto_boot. All users updated.
10150 Declared static.
10151 Handle chosen and default with submenus.
10152 (grub_menu_execute_with_fallback): Declared static.
10153 Don't notify failure if autobooted. Upper level does it.
10154 (menuentry_eq): New function.
10155 (get_entry_number): Use menuentry_eq.
10156 (show_menu): New parameter "autobooted". All users updated.
10157 (grub_show_menu): Likewise.
10158 * include/grub/normal.h (grub_show_menu): Likewise.
10159 * include/grub/menu.h (grub_menu_execute_entry): Removed.
10160 (grub_menu_execute_with_fallback): Likewise.
10161
6fef99b4
VS
101622011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10163
10164 * util/grub-mklayout.c (usage): Update help text.
10165
47a77af5
VS
101662011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10167
10168 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
10169
ce6bb3ee
VS
101702011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10171
10172 * util/grub-menulst2cfg.c (main): Trim the line.
10173
db87be2a
VS
101742011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10175
10176 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
10177 (grub_machine_init): Don't check amount of low memory as reportedly
10178 INT 12h can be broken and if low memory is too low we wouldn't have
10179 gotten into grub_machine_init anyway.
10180
c49849cc
VS
101812011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10182
10183 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
10184 (grub_machine_mmap_iterate): Take low memory into account
10185
b1969b30
VS
101862011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10187
10188 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
10189 badfs.
10190 Reported by: TiCPU.
10191
cf0eaf13
VS
101922011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10193
10194 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
10195 members errors.
10196
1f060f39
GS
101972011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
10198
10199 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
10200 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
10201
a21e5672
GS
102022011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
10203
10204 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
10205 openbsd and netbsd types being in part_bsd module.
10206
c88172fa
VS
102072011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10208
10209 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
10210 (_FILE_OFFSET_BITS): Likewise.
10211 Reported by: Seth Goldberg.
10212
53798c4b
GS
102132011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
10214
10215 * configure.ac: Check for libdevmapper header.
10216
e7121b69
VS
102172011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10218
10219 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
10220 avoid aliasing.
10221 (fzap_lookup): Likewise.
10222 (dnode_get): Likewise.
10223 (make_mdn): Likewise.
10224 (zfs_mount): Likewise.
10225 (fzap_iterate): Use temporary pointer to avoid aliasing.
10226 (grub_zfs_read): Likewise.
10227 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
10228 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
10229 pointers to avoid aliasing.
10230 (grub_cmd_xnu_kernel64): Likewise.
10231 (grub_xnu_load_driver): Likewise.
10232
fc836af9
VS
102332011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10234
10235 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
10236 aliasing warning.
10237 (grub_cmd_terminal_output): Likewise.
10238 Reported and tested by: Grégoire Sutre.
10239
f9f37648
VS
102402011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10241
10242 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
10243 warning.
10244 Reported and tested by: Grégoire Sutre.
10245
ec1dfd63
VS
102462011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10247
10248 * configure.ac: Do CPU substitution even if it's specified explicitly.
10249 Reported and tested by: Alain Greppin.
10250
9462775a
VS
102512011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10252
10253 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
10254 Reported and tested by: Alain Greppin.
10255
0fd48e35
VS
102562011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10257
10258 Satisfy some bison versions need for inttypes.h.
10259
10260 * grub-core/lib/posix_wrap/inttypes.h: New file.
10261 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
10262 (int16_t): Likewise.
10263 (int32_t): Likewise.
10264 (int64_t): Likewise.
10265 Reported and tested by: Alain Greppin.
10266
43f1bc83
VS
102672011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10268
10269 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
10270 Silence spurious warning.
10271 Reported and tested by: Alain Greppin.
10272
64d1f041
SJ
102732011-01-07 Szymon Janc <szymon@janc.net.pl>
10274
10275 * docs/grub.texi (Support automatic decompression): Update with xz
10276 decompression support.
10277
25953e10
SJ
102782011-01-07 Szymon Janc <szymon@janc.net.pl>
10279
10280 Improve loaders' kernel command line handling.
10281
10282 * grub-core/lib/cmdline.c: New file.
10283 * include/grub/lib/cmdline.h: Likewise.
10284 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
10285 grub_create_loader_cmdline to create kernel command line.
10286 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10287 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
10288 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
10289 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
10290 (linux): Add lib/cmdline.c on common.
10291
e72d259f
VS
102922011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10293
10294 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
10295 inopos might be unaligned.
10296
c0cf26da
VS
102972011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10298
10299 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
10300 endian transformations.
10301 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10302 Based on report by: Doug Nazar.
10303
0ca09e6c
DN
103042011-01-07 Doug Nazar <nazard.michi@gmail.com>
10305
10306 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
10307 array->members[i].start_sector.
10308 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
10309
014b6806
VS
103102011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10311
10312 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
10313 Reported and tested by: Grégoire Sutre.
10314
415502c2
CW
103152011-01-06 Colin Watson <cjwatson@ubuntu.com>
10316
10317 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
10318 avoid causing test failures by clearing the screen.
10319
71b6a2b7
CW
103202011-01-06 Colin Watson <cjwatson@ubuntu.com>
10321
10322 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
10323 Fix prefix check to handle the case where dir ends with a slash
10324 (most significantly, "/" itself).
10325 Reported by: Michael Vogt.
10326
b3f8d28a
VS
103272011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10328
10329 Run terminfo_cls on initing terminfo output to clear the screen and
10330 move the cursor to (0,0).
10331
10332 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
10333 Call grub_terminfo_output_init.
10334 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
10335 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
10336 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
10337
4c3e4f37
VS
103382011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10339
10340 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
10341 only when needed.
10342
488f71f1
VS
103432011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10344
10345 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
10346 CTRL.
10347
18a38098
VS
103482011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10349
10350 The E820 type 5 is BADRAM, not EXEC_CODE.
10351
10352 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
10353 (GRUB_E820_BADRAM): New define.
10354 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
10355 into reserved. Propagate BADRAM.
10356 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
10357 (GRUB_E820_BADRAM): New define.
10358
9eae2084
VS
103592011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10360
10361 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
10362 Ignore the memory post-4G.
10363 (grub_relocator_firmware_alloc_region): Additional debug statement.
10364
ebc71d28
VS
103652011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10366
10367 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
10368 names.
10369 Reported by: David Pravec.
10370
446fa400
VS
103712011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10372
10373 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
10374 BIOSes.
10375
a0159f37
VS
103762011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10377
10378 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
10379 Prevent overflow.
10380 (grub_reed_solomon_recover): Likewise.
10381
e5146ca1
VS
103822011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10383
10384 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
10385
103862011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
10387
10388 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
10389 variable.
10390
5b1bdf12
CW
103912011-01-04 Colin Watson <cjwatson@ubuntu.com>
10392
10393 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
10394 descriptions of extract_legacy_entries_source and
10395 extract_legacy_entries_configfile.
10396 Reported by: Seung Soo, Ha.
10397
99d925aa
CW
103982011-01-03 Colin Watson <cjwatson@ubuntu.com>
10399
10400 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
10401 on devices that do not implement function 0.
10402
4af0504b
DV
104032011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
10404
10405 * grub-core/fs/hfsplus.c: Make parent unsigned.
10406 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
10407 overflows.
10408 (grub_hfsplus_cmp_extkey): Likewise
10409
469ee10a
VS
104102011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
10411
10412 * util/grub-install.in: Correctly use bootloader_id and not
10413 GRUB_DISTRIBUTOR on efibootmgr line.
10414
323a8e9c
VS
104152011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
10416
10417 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
10418
1b394975
IC
104192010-12-31 Ian Campbell <ijc@hellion.org.uk>
10420
10421 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
10422 Xen and reorder menu item wording to make it clearer that this entry
10423 will launch Xen. Print separate messages when loading Xen and
10424 Linux.
10425
275bff5f
VS
104262010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10427
10428 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
10429 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
10430 loop in case of incorrect amiga partmap.
10431
307806cb
VS
104322010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10433
10434 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
10435 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
10436 Reported by:EHeM.
10437
b12b923e
VS
104382010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10439
10440 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
10441 spurious warning.
10442 Reported by: crocket
10443
14b48a19
VS
104442010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10445
10446 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
10447 Preload EFIemu.
10448 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
10449
693db2df
VS
104502010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10451
10452 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
10453 is loaded
10454 (grub_cmd_xnu_kextdir): Likewise.
10455 (grub_cmd_xnu_splash): Likewise.
10456
c7638645
VS
104572010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10458
10459 Avoid using Reed-Solomon with 0 redundancy.
10460
10461 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
10462 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
10463 or 0 redundancy.
10464 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
10465 (grub_reed_solomon_recover): Likewise.
10466
25dd4780
VS
104672010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10468
10469 Don't use disk subsystem in freebsd_boot.
10470
10471 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
10472 (freebsd_biosdev): Likewise.
10473 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
10474 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
10475
0b2db943
VS
104762010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10477
10478 Handling of files of unknown size is currently limited. They can't be
10479 used e.g. for initrd or modules. Moreover gzip handling of not
10480 easily seekable files is buggy. Disable unknown file size for now. May
10481 be inefficient but works.
10482
10483 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
10484 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
10485
5c408d0f
MP
104862010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
10487
10488 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
10489 floppy probe.
10490
190a011a
JD
104912010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
10492
10493 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
10494
022d01b8
SL
104952010-12-25 Shea Levy <shlevy>
10496
10497 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
10498
c4855fdc
VS
104992010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10500
10501 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
10502 Windows Server 2008.
10503 Reported by: Devin Giddings.
10504
0354b867
VS
105052010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10506
10507 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
10508 writing an error message because of async power management.
10509 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
10510 (grub_reboot): Likewise.
10511
ab66c69f
JU
105122010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
10513
10514 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
10515 keep unit tests from failing when they shouldn't.
10516
1426ef35
CW
105172010-12-21 Colin Watson <cjwatson@ubuntu.com>
10518
10519 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
10520 previous patch increased the size of the RS code by 20 bytes (at
10521 least with gcc-4.4), so increase this by 20 bytes to match.
10522 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
10523
20641b6b
CW
105242010-12-21 Colin Watson <cjwatson@ubuntu.com>
10525
10526 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
10527 scratch area. Make sure to initialise chosen in standalone mode as
10528 well as non-standalone.
10529 Reported by: Robert Hooker and Andy Whitcroft.
10530 Tested by: Andy Whitcroft.
10531
d060ad60
CW
105322010-12-21 Colin Watson <cjwatson@ubuntu.com>
10533
10534 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
10535 constructing a new unescaped string and passing it to grub_xputs in
10536 one go, rather than passing characters to grub_printf one at a time.
10537
b889cfad
CW
105382010-12-21 Colin Watson <cjwatson@ubuntu.com>
10539
10540 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
10541 initialising utf16.
10542
4e01b6c8
CW
105432010-12-21 Colin Watson <cjwatson@ubuntu.com>
10544
10545 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
10546 comment. Add an extra layer of quotation, requiring the output of
10547 this function to be used in a printf format string.
10548 (gettext_printf): New function.
10549 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
10550 Extract translatable strings from here-documents and use a temporary
10551 variable instead, so that xgettext can find them.
10552 * util/grub.d/10_kfreebsd.in: Likewise.
10553 * util/grub.d/10_linux.in: Likewise.
10554 * util/grub.d/20_linux_xen.in: Likewise.
10555
10556 * po/grub.d.sed: New file.
10557 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
10558 arguments. Set c-format flags on all strings extracted from
10559 util/grub.d/ (xgettext refuses to include these itself for strings
10560 it extracted from a shell file, but these really are c-format).
10561
5318fe98
VS
105622010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10563
10564 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
10565 Avoid next pointing to nowhere.
10566
6c85b743
VS
105672010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10568
10569 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
10570 rather than assuming than rootblock is exactly in the middle.
10571 (grub_affs_label): Likewise.
10572
a2a08a35
VS
105732010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10574
10575 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
10576 reserved_first_sector to 0.
10577 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
10578 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
10579 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
10580
7059d1ec
VS
105812010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10582
10583 Fix handling of UTF-16 UDF labels.
10584
10585 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
10586 (read_string): .. here.
10587 (grub_udf_label): Use read_string.
10588
30aff4cb
BC
105892010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
10590
10591 * grub-core/normal/menu_entry.c (run): Execute commands from menu
10592 editor under argument scope.
10593 Reported by: Jordan Uggla
10594
5cf86f4b
VS
105952010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10596
10597 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
10598
32570200
CW
105992010-12-18 Colin Watson <cjwatson@ubuntu.com>
10600
10601 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
10602 line, and other keys scroll an entire page (previous handling was
10603 for \r and \n to scroll a page and other keys to scroll two lines).
10604
e1dffcf2
VS
106052010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10606
10607 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10608 Set ptrdest to correct get_physical_target_address rather than
10609 incorrect get_virtual_current_address.
10610
b04298cf 106112010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
10612
10613 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
10614 correct cat to grub_uint8_t * rather than grub_uint32_t *.
10615
5367ecd3
CW
106162010-12-10 Colin Watson <cjwatson@ubuntu.com>
10617
10618 * .bzrignore: Ignore grub-core/rs_decoder.S.
10619
1fb430f8
CW
106202010-12-10 Colin Watson <cjwatson@ubuntu.com>
10621
10622 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
10623 .mo/.mo.gz opening sequence to ...
10624 (grub_mofile_open_lang): ... here.
10625 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
10626 * util/grub.d/00_header.in (grub_lang): Include country part of
10627 locale.
10628 Reported by: Mario Limonciello.
10629
a94a6671
RM
106302010-12-09 Robert Millan <rmh@gnu.org>
10631
10632 * NEWS: Document addition of ZFS support.
10633
24b7938b
CW
106342010-12-04 Colin Watson <cjwatson@ubuntu.com>
10635
10636 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
10637 rather than `/ 2', as the latter requires -Wa,--divide which would
10638 require bumping our minimum binutils version.
10639
bddc3ef6
BC
106402010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
10641
10642 * util/grub-script-check.c (main): Print script line number on
10643 error.
10644
bf78d5b2
RM
106452010-12-01 Robert Millan <rmh@gnu.org>
10646
10647 * grub-core/fs/zfs/zfs.c: New file.
10648 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
10649 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
10650 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
10651 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10652
10653 * include/grub/zfs/dmu.h: Likewise.
10654 * include/grub/zfs/dmu_objset.h: Likewise.
10655 * include/grub/zfs/dnode.h: Likewise.
10656 * include/grub/zfs/dsl_dataset.h: Likewise.
10657 * include/grub/zfs/dsl_dir.h: Likewise.
10658 * include/grub/zfs/sa_impl.h: Likewise.
10659 * include/grub/zfs/spa.h: Likewise.
10660 * include/grub/zfs/uberblock_impl.h: Likewise.
10661 * include/grub/zfs/vdev_impl.h: Likewise.
10662 * include/grub/zfs/zap_impl.h: Likewise.
10663 * include/grub/zfs/zap_leaf.h: Likewise.
10664 * include/grub/zfs/zfs.h: Likewise.
10665 * include/grub/zfs/zfs_acl.h: Likewise.
10666 * include/grub/zfs/zfs_znode.h: Likewise.
10667 * include/grub/zfs/zil.h: Likewise.
10668 * include/grub/zfs/zio.h: Likewise.
10669 * include/grub/zfs/zio_checksum.h: Likewise.
10670
10671 * Makefile.util.def: Build ZFS into libgrubmods.
10672 * grub-core/Makefile.core.def: Build zfs.mod.
10673
3f0f3831
SJ
106742010-11-30 Szymon Janc <szymon@janc.net.pl>
10675
10676 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
10677 variable.
10678 * grub-core/commands/wildcard.c (match_files): Likewise.
10679
3a4253b2
RM
106802010-11-30 Robert Millan <rmh@gnu.org>
10681
10682 * grub-core/loader/i386/bsd.c
10683 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
10684 whether kernel is loaded using grub_loader_is_loaded(), rather
10685 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
10686 certain error conditions.
10687
8c317b27
RM
106882010-11-30 Robert Millan <rmh@gnu.org>
10689
c5c9cd3e
RM
10690 * grub-core/commands/echo.c: Include `<grub/term.h>'.
10691 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 10692
49d3ab46
VS
106932010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
10694
10695 Avoid using tricks for initialising endian variables.
10696
10697 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
10698 Make const.
10699 (GRUB_MOD_INIT): Don't byte-swap.
10700 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
10701 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
10702 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
10703 (grub_swap_bytes32_compile_time): Likewise.
10704 (grub_cpu_to_le32_compile_time): Likewise.
10705 (grub_cpu_to_le16_compile_time): Likewise.
10706
f420a804
VS
107072010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
10708
10709 * util/grub-setup.c (setup): Stop recommending --force. People who
10710 understand the dangers of blocklists are able to find this option
10711 anyway and the ones who don't shouldn't use it anyway.
10712
4e7db17b
RM
107132010-11-26 Robert Millan <rmh@gnu.org>
10714
10715 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
10716 Update all users.
10717
9be57a0d
CW
107182010-11-26 Colin Watson <cjwatson@ubuntu.com>
10719
10720 Fix LVM-on-RAID probing.
10721
10722 * util/grub-probe.c (probe): Remember which disk was detected as
10723 RAID (perhaps an LVM physical volume). Use that disk's raidname
10724 rather than that of the top-level disk.
10725
2c7859b3 107262010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 10727
d7647bb6
BC
10728 Fix cmdline argument quotes for setparams command of menuentry
10729 definitions.
7e623b0d
BC
10730
10731 * grub-core/commands/menuentry.c (setparams_prefix): Use single
10732 quotes for arguments.
f866fe80 10733 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 10734 grub_strchrsub function instead.
f866fe80 10735
7955bea0 10736 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 10737
74f72a64
CW
107382010-11-24 Colin Watson <cjwatson@ubuntu.com>
10739
10740 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
10741 effort by skipping "." and ".." entries up-front.
10742 Suggested by: Michael Lazarev.
10743
5a407278
CW
107442010-11-24 Colin Watson <cjwatson@ubuntu.com>
10745
10746 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
10747 ldflags to ldadd, to fix link line ordering.
10748 (none_decompress): Likewise.
10749
3030d8ec
CW
107502010-11-24 Colin Watson <cjwatson@ubuntu.com>
10751
10752 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
10753 platforms.
10754 (grub-emu-lite): Remove kern/emu/cache.S.
10755
b7fbac12
CW
107562010-11-23 Colin Watson <cjwatson@ubuntu.com>
10757
10758 * util/deviceiter.c (compare_devices): If the by-id link for a
10759 device couldn't be resolved, fall back to sorting by the by-id link
10760 rather than segfaulting.
10761 Reported and tested by: Daniel Mierswa.
10762
5225f328
CW
107632010-11-23 Colin Watson <cjwatson@ubuntu.com>
10764
10765 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
10766 ldflags, to fix link line ordering.
10767
038b3ce8
CW
107682010-11-23 Colin Watson <cjwatson@ubuntu.com>
10769
10770 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
10771 linkers are picky about this.
10772
bf16e98e
CW
107732010-11-23 Colin Watson <cjwatson@ubuntu.com>
10774
10775 * grub-core/Makefile.am (command.lst): Adjust sed expression
10776 ordering so that extended and priority commands aren't treated as
10777 ordinary commands.
10778
7242bab6
CW
107792010-11-23 Colin Watson <cjwatson@ubuntu.com>
10780
10781 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
10782 Remove byte-swapping function calls, which are not valid in
10783 structure initialisers.
10784 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
10785 non-const.
10786 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
10787 grub_gpt_partition_type_bios_boot.
10788
14e8b279
CW
107892010-11-22 Colin Watson <cjwatson@ubuntu.com>
10790
10791 Fix test program build on GNU/kFreeBSD.
10792
10793 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
10794 $(LIBNVPAIR)' library dependencies.
10795
e6f63338 107962010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
10797
10798 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
10799
cf8ffc38
CW
108002010-11-22 Colin Watson <cjwatson@ubuntu.com>
10801
10802 * util/grub-install.in: Remove excessive quoting that broke
10803 installations to RAID devices.
10804
7f8b0fd7
VS
108052010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
10806
10807 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
10808 bootloader version instead of 0.
10809
dfd240b1
VS
108102010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
10811
10812 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
10813 warning.
10814
7b61e609
VS
108152010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
10816
10817 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
10818 retrieve the metadat sector if size isn't known.
10819 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10820
9dfe92d0
RM
108212010-11-18 Robert Millan <rmh@gnu.org>
10822
10823 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
10824 with grub_memcmp().
10825
41cc919e
VS
108262010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
10827
10828 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
10829 arrow.
10830 Reported by: Jordan Uggla.
10831
1afcc914
VS
108322010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10833
10834 Make better UTF compliant.
10835
10836 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
10837 sequences as incorrect.
10838 (grub_is_valid_utf8): Likewise.
10839 (grub_utf8_to_ucs4): Likewise.
10840 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
10841 (grub_ucs4_to_utf8_alloc): Likewise.
10842 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
10843
f1808884
VS
108442010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10845
10846 Make legacy_source behave like source.
10847
10848 * grub-core/commands/legacycfg.c (legacy_file): Don't call
10849 grub_show_menu.
10850 (grub_cmd_legacy_source): Call grub_show_menu if needed.
10851
24ec575b
CW
108522010-11-16 Colin Watson <cjwatson@debian.org>
10853
10854 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
10855 (-Wunused implies -Wunused-parameter, but not vice versa).
10856
72b7c7aa
CW
108572010-11-16 Colin Watson <cjwatson@ubuntu.com>
10858
10859 * configure.ac: Make error messages less confusing by testing for
10860 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
10861 accepted, but produces a diagnostic if something else is wrong).
10862
e98937aa
VS
108632010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
10864
10865 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
10866 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
10867 (now unused).
10868 (grub_keyboard_controller_init)
10869 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
10870 read the initial state since controller isn't inited yet.
10871
f6bbabc3
VS
108722010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
10873
10874 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
10875 allocate_regbeg may need to create new chunk header.
10876
22e7dbb2
VS
108772010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10878
10879 Fix quoting in legacy parser.
10880
10881 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
10882 single quotes.
10883 (grub_legacy_parse): Likewise.
10884 Reported by: Jordan Uggla.
10885 Tested by: Jordan Uggla.
10886
03f80960
VS
108872010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10888
10889 Don't add -lgcc on i386 and x86_64.
10890
10891 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
10892 * conf/Makefile.common (LDADD_KERNEL): Likewise.
10893 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
10894
779dc15b
VS
108952010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10896
10897 * configure.ac: Add -Wno-trampolines when supported.
10898
d20a3b37
MV
108992010-11-14 Modestas Vainius <modax@debian.org>
10900
10901 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
10902 fakeraid.
10903
e5360933
GC
109042010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10905
10906 Add generic logical block size support for UDF.
10907
10908 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
10909 (GRUB_UDF_BLKSZ): Removed.
10910 (struct grub_udf_data): New field "lbshift" to hold the logical block
10911 size of the file system in log2 format. All users updated.
10912 (sblocklist): Change type to unsigned.
10913 (grub_udf_mount): Change type of "sblklist" to unsigned.
10914 Move AVDP search before VRS recognition, because the latter requires
10915 knowledge of the logical block size, which is detected during the
10916 former.
10917 Detect and validate logical block size during AVDP search, adding
10918 support for block sizes 512, 1024 and 4096.
10919 Make VRS recognition independent of block size.
10920
cb0229c5
GC
109212010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10922
10923 Properly handle deleted files on UDF.
10924
10925 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
10926 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
10927 set.
10928
406858a8
GC
109292010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10930
10931 Support reading files larger than 2 GiB.
10932
10933 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
10934 "offset" to grub_off_t.
10935 (grub_udf_read_file): Likewise for parameter "pos".
10936
130da6a7
VS
109372010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10938
10939 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
10940 unavailable.
10941 (Simple configuration): Refer to Changes from GRUB Legacy about
10942 save_env availability.
10943
65e93f6b
VS
109442010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10945
10946 * util/grub-install.in: Ignore empty partition table detection
10947 instead of trying to include part_ module.
10948
1fd08bf1
VS
109492010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10950
10951 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
10952 LVM on RAID support.
10953
de1a024f
VS
109542010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10955
10956 Properly define WORDS_BIGENDIAN in wrapped environments.
10957
10958 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
10959 definition.
10960 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
10961
10962 Reported by: Manoel Rebelo Abranches.
10963 Tested by: Manoel Rebelo Abranches.
10964
bc5dd0b9
VS
109652010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10966
10967 * util/grub-mkconfig.in: Fix quoting.
10968
58c184be
VS
109692010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10970
10971 Support big ext2 files.
10972
10973 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
10974 (grub_ext2_read_block): Support triple indirect blocks.
10975 (grub_ext2_read_file): Use 64-bit types and read size_high.
10976 (grub_ext2_open): Read size_high.
10977 Reported by: Ximin Luo.
10978 Tested by: Manoel Rebelo Abranches.
10979
5f0c02b3
VS
109802010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10981
10982 * util/grub-install.in: Handle filenames containing spaces.
10983 Reported by: Jordan Uggla.
10984 Tested by: Jordan Uggla.
10985
4417aae6
VS
109862010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10987
10988 * util/grub-mkconfig.in (grub_script_check): New variable.
10989 Use grub_script_check instead of grub-script-check.
10990 Reported by: Barry Jackson.
10991
7625a68e
VS
109922010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
10993
10994 * docs/grub.texi (menu): Correct the order.
10995 Reported by: D. Hugh Redelmeier.
10996
10001ac5
VS
109972010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
10998
10999 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
11000 jump.
11001
9c4cf53b
MRA
110022010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
11003
10001ac5
VS
11004 * include/grub/elfload.h (grub_elf32_size): New parameter.
11005 All users updated.
9c4cf53b
MRA
11006 Return maximum segments alignment.
11007 (grub_elf64_size): Likewise.
11008 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
11009 Return maximum segments alignment.
11010 (grub_elf64_size): Likewise.
11011 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
11012 (grub_linux_claimmap_iterate): New function. Uses the
11013 "available" property in the "memory" node for memory allocation
11014 for kernel in the PowerPC loader.
9c4cf53b
MRA
11015 (grub_linux_load32): Correctly find linux entry point offset.
11016 (grub_linux_load64): Likewise.
11017
d2bf06bf
RM
110182010-11-07 Robert Millan <rmh@gnu.org>
11019
11020 On mips-yeeloong, build with -march=loongson2f when this flag is
11021 available (GCC >= 4.4).
11022 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
11023 `-march=mips3'.
11024 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
11025 or otherwise add -march=mips3.
11026
898c99a2
BC
110272010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
11028
87220a68
BC
11029 Suppress shell expansion on echo '*' and echo "*" like cases.
11030 Reported by: Jordan Uggla.
898c99a2
BC
11031
11032 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
11033 string arguments before shell expansion.
11034 * tests/grub_cmd_echo.in: New testcases.
11035
4f9b406a
RM
110362010-11-07 Robert Millan <rmh@gnu.org>
11037
11038 * conf/mips-qemu-mips.rmk: Remove stale file from previous
11039 transition.
11040
80c6d25e
VS
110412010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
11042
11043 * grub-core/kern/emu/hostdisk.c
11044 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
11045
4a1a0153
VS
110462010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11047
11048 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
11049 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
11050 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
11051
34706ddc
VS
110522010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11053
11054 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
11055
6972dea9
VS
110562010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11057
11058 * util/grub-install.in: Replace useless recomendation to pass
11059 --modules with a recomendation to report a bug.
11060
9c693bd6
VS
110612010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11062
11063 Properly register serial terminfo.
11064 Reported by: Jordan Uggla
11065
11066 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
11067 const.
11068 (grub_serial_terminfo_output_template): Likewise.
11069 (grub_cmd_serial): Register "serial" with terminfo.
11070 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
11071 grub_serial_terminfo_output.
11072
6c9e4c0c
RM
110732010-11-05 Robert Millan <rmh@gnu.org>
11074
11075 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
11076 needed).
11077
b9b3839f
RM
110782010-11-05 Robert Millan <rmh@gnu.org>
11079
11080 On Yeeloong, pass machine type information to Linux.
11081
11082 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
11083 (LOONGSON_MACHTYPE): New macro, set to
11084 "machtype=lemote-yeeloong-2f-8.9inches".
11085 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
11086 additional argument to Linux.
11087
1a3aaff4
RM
110882010-11-04 Robert Millan <rmh@gnu.org>
11089
11090 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
11091 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
11092 (its SATA disks are detected as slaveless IDE master drives on
11093 kFreeBSD).
11094 Reported by Carsten Aulbert.
11095
a75f4f62
CW
110962010-11-02 Colin Watson <cjwatson@ubuntu.com>
11097
11098 * util/bin2h.c (main): Fix spelling error in generated output.
11099
33b4b0c6
GS
111002010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
11101
11102 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
11103
2b36fbf4
VS
111042010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11105
11106 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
11107 vga= option is supplied.
11108
74aaf558
VS
111092010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11110
11111 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
11112 * util/grub.d/10_kfreebsd.in: Likewise.
11113 * util/grub.d/10_linux.in: Likewise.
11114 * util/grub.d/20_linux_xen.in: Likewise.
11115
6428dec3
VS
111162010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11117
11118 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
11119 argument as an argument to no-argument option.
11120
f8729d98
VS
111212010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11122
11123 * util/grub.d/10_linux.in: Add missing load_video with explicit
11124 GRUB_GFXPAYLOAD_LINUX.
11125
89d68fa6
VS
111262010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11127
11128 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
11129
3a1197cd
VS
111302010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11131
11132 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
11133 elements with invlid index.
11134 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11135 * grub-core/disk/raid.c (insert_array): Automatically reallocate
11136 members.
11137 * include/grub/raid.h (grub_raid_member): New struct.
11138 (grub_raid_array): Transform devices and start_sector into usage of
11139 grub_raid_member. All users updated
11140 (allocated_devs): New member.
11141
71574288
VS
111422010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11143
11144 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
11145 is modified
11146
8d40ec65
BC
111472010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
11148
11149 NetBSD build fix for getline function conflict from gnulib.
11150
11151 * Makefile.util.def (libgrubkern.a): New library for grub kernel
11152 components that depend on gnulib headers.
11153 (libgrubmods.a): Renamed from earlier libgrub.a.
11154 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
11155
95b9257e
VS
111562010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11157
11158 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
11159 install rather than creating a broken install.
11160
26c53dc6
VS
111612010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11162
11163 * util/grub-setup.c (argp): Remove misleading example of installing to
11164 a partition.
11165
4171b3c5
VS
111662010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11167
11168 * util/grub-setup.c (setup): Clarify the error message.
11169
18568d18
VS
111702010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11171
11172 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
11173
4f6a2e21
VS
111742010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11175
11176 * grub-core/kern/emu/misc.c
11177 (grub_make_system_path_relative_to_its_root)
11178 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
11179
111802010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
11181
11182 * grub-core/kern/emu/misc.c
11183 (grub_make_system_path_relative_to_its_root): Revert r2882.
11184
e138c458
VS
111852010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
11186
11187 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
11188 useless field head. All users updated.
11189 (free_subchunk): Correct handling of IN_REGION subchunk.
11190
0cbcdf0e
CW
111912010-10-22 Colin Watson <cjwatson@ubuntu.com>
11192
11193 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
11194 (Supported kernels): Likewise.
11195
b65ea155
GS
111962010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
11197
11198 Make mktemp invocations portable.
11199
11200 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
11201 exit if mktemp fails.
11202 * tests/grub_script_blockarg.in: Likewise.
11203 * tests/partmap_test.in: Likewise.
11204 * tests/util/grub-shell-tester.in: Likewise.
11205 * tests/util/grub-shell.in: Likewise.
11206 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11207 * Makefile.am: Likewise, and chain shell commands with `&&'
11208 instead of ';'.
11209 * util/grub-mkrescue.in: Use the same explicit template as above, and
11210 exit if mktemp fails.
11211
05f43cdd
BC
112122010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
11213
11214 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
11215 Linux kernel, reported by Dennis Schridde.
11216
800e6a9b
SJ
112172010-10-17 Szymon Janc <szymon@janc.net.pl>
11218
11219 * grub-core/normal/auth.c (grub_auth_check_authentication):
11220 Set-but-not-used variable removed.
11221
d82df574
VS
112222010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11223
11224 * docs/grub.texi (GNU/Linux): Document APM unavailability with
11225 32-bit linux protocol.
11226
7bced458
VS
112272010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11228
11229 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
11230 cursor shape for sanity.
11231
5b027690
VS
112322010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11233
11234 * docs/grub.texi (Installation): Document buggy BIOS install.
11235
ba5f65cf
VS
112362010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11237
11238 * docs/grub.texi (Installation): Indent.
11239
fdf2ec9c
VS
112402010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11241
11242 * util/grub-setup.c (setup): New parameter allow_floppy.
11243 (arguments): New member allow_floppy.
11244 (argp_parser): Handle --allow-floppy.
11245 (main): Pass allow_floppy.
11246 * util/grub-install.in: New option --allow-floppy passed though to
11247 grub-setup.
11248
861dfd4c
VS
112492010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11250
11251 * util/grub-install.in: Handle partitionless disks.
11252
f77a8c24
VS
112532010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11254
11255 * util/grub-setup.c (setup): Don't clean blocklists before readability
11256 verfification.
11257
27d9ee32
VS
112582010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11259
11260 * docs/grub.texi (Installation): Document embedding zone. Remove
11261 obsolete grub-install example.
11262
6bdda8f8
SJ
112632010-10-16 Szymon Janc <szymon@janc.net.pl>
11264
11265 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11266 Set-but-not-used variable ifdef'ed.
11267 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
11268 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
11269 variable removed.
11270 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
11271 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
11272 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11273 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
11274 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
11275 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
11276 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
11277 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
11278 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
11279 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
11280 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
11281 Likewise.
11282
e19b016b
VS
112832010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11284
11285 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
11286 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
11287 enum value.
11288
6c8d3002
VS
112892010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11290
11291 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
11292 synonym to _S5_. Needed for some DSDTs.
11293
c32b51c9
VS
112942010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11295
11296 Userspace ACPI parser debugging.
11297
11298 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
11299 headers and add relevant defines. Don't include standard headers.
11300 (main) [GRUB_DSDT_TEST]: New function.
11301 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
11302 Don't declare functions.
11303
fbfbeb39
VS
113042010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11305
11306 Remove dead grub_efi_mm_fini.
11307
11308 * grub-core/kern/efi/mm.c (allocated_page): Removed.
11309 (ALLOCATED_PAGES_SIZE): Likewise.
11310 (MAX_ALLOCATED_PAGES): Likewise.
11311 (allocated_pages): Likewise.
11312 (grub_efi_allocate_pages): Don't record allocated pages.
11313 (grub_efi_free_pages): Likewise.
11314 (grub_efi_mm_init): Likewise.
11315 (grub_efi_mm_fini): Removed.
11316
65f7ed7c
VS
113172010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11318
11319 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
11320 (grub_efi_mm_init): Take into account the memory map size increase.
11321
24977b44
VS
113222010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11323
11324 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
11325 (serial_hw_put): Wait based on real time rather than port reads. Don't
11326 roken ports.
11327 * include/grub/serial.h (grub_serial_port): New field broken.
11328
1eb01cd2
RM
113292010-10-16 Robert Millan <rmh@gnu.org>
11330
11331 * grub-core/kern/emu/misc.c
11332 (grub_make_system_path_relative_to_its_root): Fix premature return
11333 when processing non-root ZFS filesystems.
5f8b440b 11334 Reported by Sergio Talens-Oliag.
1eb01cd2 11335
2d5fed60
RM
113362010-10-15 Robert Millan <rmh@gnu.org>
11337
11338 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
11339 guarantee compressed ones are processed first.
11340
d0f4c1ea
VS
113412010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11342
11343 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
11344 grub_efiemu_autocore.
11345
d87c681f
VS
113462010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11347
11348 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
11349 rather than 0x1b.
11350 (grub_console_getkey): Use correct jae opcode rather than ja.
11351
219b3564
RM
113522010-10-12 Robert Millan <rmh@gnu.org>
11353
11354 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
11355 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
11356 variable. All references updated.
11357
11358 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
11359
20c6bb7e
VS
113602010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
11361
11362 Correctly distinguish mdraid flavours.
11363
11364 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
11365 (insert_array): New argument raid.
11366 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
11367 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
11368 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
11369
74baff84
VS
113702010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
11371
11372 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
11373 handling of special keys.
11374
3ef068df 113752010-10-02 Aleš Nesrsta <starous@volny.cz>
11376
c7980ad9
VS
11377 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
11378 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 11379
a9455194 113802010-10-02 Aleš Nesrsta <starous@volny.cz>
11381
c7980ad9
VS
11382 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
11383 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
11384 users updated.
a9455194 11385 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 11386 Use right endpoint when querying descriptor.
a9455194 11387
441cfe65
VS
113882010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
11389
11390 Clear out 0x80 color bit on EFI.
11391 Tested by: decoder
11392 Reported by: decoder and meta tech.
11393
11394 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
11395 (grub_console_setcolorstate): Clear out 0x80 bit.
11396 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
11397 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
11398 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
11399
bf26bcc4
VS
114002010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
11401
11402 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
11403 Set to "auto".
11404
6e3c515d
VS
114052010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11406
11407 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
11408 mo_file after freeing.
11409
e6d983ba
VS
114102010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11411
11412 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
11413
74ccb5b5
VS
114142010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11415
11416 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
11417 flags.
11418
17821956
VS
114192010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11420
11421 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
11422 usage.
11423
ee74fa48
VS
114242010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11425
11426 Put terminfo into core on ieee1275 and yeeloong (needed for console).
11427
11428 * gentpl.py: New groups terminfoinkernel and terminfomodule.
11429 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
11430 and terminfo.h when needed.
11431 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
11432 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
11433 (terminfo): Enable only on terminfokernel.
11434 (extcmd): Likewise.
11435 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
11436 * include/grub/lib/arg.h: Likewise.
11437 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
11438 incorrect usage of ->.
11439
aa438e68
VS
114402010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11441
11442 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
11443 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
11444
57994012
VS
114452010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11446
11447 Fix coreboot compilation.
11448
11449 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11450 Take VBE info into account even if only text is supported.
11451 (fill_vbe_info): Take into account the case when only VGA text
11452 is supported.
11453 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
11454 on coreboot, multiboot and qemu.
11455
2a406611
VS
114562010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11457
11458 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
11459 debug messages.
11460 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
11461
d33613fc
VS
114622010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11463
11464 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
11465 parameters.
11466
44a1b432
VS
114672010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11468
11469 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
11470 if they were BSD-style.
11471
edde54e6
VS
114722010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11473
11474 * grub-core/boot/i386/pc/lnxboot.S: Replace
11475 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
11476 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
11477
b65830fa
VS
114782010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11479
11480 Write embedding zone using Reed-Solomon.
11481
11482 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
11483 * grub-core/Makefile.am (rs_decoder.S): New target.
11484 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
11485 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
11486 (multiboot): Move to RS part.
11487 (post_reed_solomon): New label.
11488 (grub_boot_drive): Move to non-RS part since it's modified in memory
11489 on boot.
11490 Include rs_decoder.S.
11491 * grub-core/lib/reed_solomon.c: New file.
11492 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
11493 New definition.
11494 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
11495 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
11496 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
11497 * include/grub/partition.h (grub_partition_map): Change prototype of
11498 embed to allow returning additional sectors.
11499 * include/grub/reed_solomon.h: New file.
11500 * util/grub-setup.c (setup): Handle Reed-Solomon.
11501
0b4b227f
CW
115022010-09-28 Colin Watson <cjwatson@ubuntu.com>
11503
11504 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
11505 i386 and x86-64 definedness tests.
11506
f772623b
YB
115072010-09-27 Yves Blusseau <blusseau@zetam.org>
11508
11509 Fix generation of kernel_syms.lst
11510
11511 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
11512 ASM_PREFIX
11513
8e57a6ca
RM
115142010-09-26 Robert Millan <rmh@gnu.org>
11515
11516 Support degraded ZFS arrays in "grub-probe -t device" resolution.
11517
11518 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
11519 the pool is an array of devices, iterate through it and return the
11520 first device that passes a stat() test (instead of blindly returning
11521 the first one).
11522
f9130836
RM
115232010-09-26 Robert Millan <rmh@gnu.org>
11524
11525 Build fixes for GNU/kFreeBSD.
11526
11527 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
11528 to programs that require ZFS conversion.
11529 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
11530 kernels that don't have FLOPPY_MAJOR.
11531
96510faf
BC
115322010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
11533
11534 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
11535
449333eb
BC
115362010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
11537
11538 Fix grub-emu build.
11539
11540 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
11541 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
11542 mdraid09 and mdraid1x.
11543
e1fd1939
CW
115442010-09-24 Colin Watson <cjwatson@ubuntu.com>
11545
11546 Re-enable grub-extras.
11547
11548 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
11549 avoid confusing Automake. Run autogen only twice, once for the top
11550 level and once for grub-core. Add Makefile.util.def and
11551 Makefile.core.def from extra modules to the appropriate autogen
11552 invocations. If Makefile.common exists in an extra module, include
11553 it in both Makefile.util.am and grub-core/Makefile.core.am;
11554 similarly, include any Makefile.util.common file in Makefile.util.am
11555 and any Makefile.core.common file in grub-core/Makefile.core.am.
11556 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
11557 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
11558 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
11559 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
11560
11561 * gentpl.py (gvar_add): Turn GVARS into a set.
11562 (global_variable_initializers): Sort global variables on output.
11563 (vars_init): New function.
11564 (first_time): Likewise.
11565 (library): Ensure that non-global variable initialisations are
11566 emitted before the first time we emit code for a library block.
11567 Append to variables rather than setting them. Only emit
11568 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
11569 each conditional path.
11570 (program): installdir() emits an Autogen macro, so must be passed to
11571 var_add rather than gvar_add.
11572 (data): Likewise.
11573 (script): Likewise.
11574 (rules): New function, centralising handling for different target
11575 types. Set up Guile association lists for first_time and vars_init,
11576 and send most output to a diversion so that variable initialisations
11577 can be emitted first.
11578 (module_rules): Use new rules function.
11579 (kernel_rules): Likewise.
11580 (image_rules): Likewise.
11581 (library_rules): Likewise.
11582 (program_rules): Likewise.
11583 (script_rules): Likewise.
11584 (data_rules): Likewise.
11585
11586 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
11587
11588 * .bzrignore: Add contrib and grub-core/contrib. Remove
11589 grub-core/Makefile.gcry.am.
11590
1d12cf29
YB
115912010-09-24 Yves Blusseau <blusseau@zetam.org>
11592
11593 * grub-core/lib/LzFind.c: Add missing include.
11594 * grub-core/lib/LzmaEnc.c: Likewise.
11595 * grub-core/script/lexer.c: Likewise.
11596 * grub-core/script/yylex.l: Likewise.
11597 * util/grub-macho2img.c: Likewise.
11598 * util/grub-menulst2cfg.c: Likewise.
11599 * util/grub-mklayout.c: Likewise.
11600 * util/grub-mkpasswd-pbkdf2.c
11601 * util/grub-mkrelpath.c: Likewise.
11602 * util/resolve.c: Likewise.
11603
dd363028
BC
116042010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
11605
11606 * Makefile.util.def (example_unit_test): Add
11607 grub-core/gnulib/libgnu.a.
11608
f5a109e2
GS
116092010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
11610
11611 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
11612
6d0fa83c
VS
116132010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
11614
11615 Support xz compression on yeeloong.
11616
11617 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
11618 * configure.ac: Check for LZMA.
11619 * grub-core/Makefile.core.def (xz_decompress): New target.
11620 (none_decompress): Likewise.
11621 * grub-core/boot/decompressor/minilib.c: New file.
11622 * grub-core/boot/decompressor/none.c: Likewise.
11623 * grub-core/boot/decompressor/xz.c: Likewise.
11624 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
11625 * grub-core/kern/mips/cache_flush.S: Likewise.
11626 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
11627 * grub-core/kern/mips/startup.S: Move first stage to ...
11628 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
11629 nomacro.
11630 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
11631 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
11632 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
11633 Allocate statically.
11634 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
11635 Allocate statically or use scratch. Don't check CRC32.
11636 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
11637 Allocate statically. Don't check CRC32.
11638 * include/grub/decompressor.h: New file.
11639 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
11640 Removed.
11641 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
11642 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
11643 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
11644 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
11645 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
11646 * util/grub-mkimage.c (grub_compression_t): New type.
11647 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
11648 (image_target_desc): New field default_compression.
11649 (image_targets): Adjust yeeloong targets.
11650 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
11651 (compress_kernel): New parameter comp.
11652 (generate_image): Likewise. Handle new compression case.
11653 (options): New option --compression
11654 (help): Likewise.
11655 (main): Handle new option.
11656
1b655af6
GS
116572010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
11658
11659 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
11660
8f03f0b5
CW
116612010-09-22 Colin Watson <cjwatson@ubuntu.com>
11662
11663 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
11664 typo in __i386__ conditional.
11665
7835dfd3
VS
116662010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
11667
11668 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
11669 include.
11670
e255597e
VS
116712010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
11672
6d0fa83c 11673 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
11674
11675 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
11676 new tags as supported.
11677 (acpiv2_size): New function.
11678 (grub_multiboot_get_mbi_size): Take new tags into account.
11679 (grub_multiboot_make_mbi): Add new tags.
11680 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 11681
6cc14051 116822010-09-21 Aleš Nesrsta <starous@volny.cz>
11683
11684 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
11685 Added missing configuration of USB device.
11686
df7769d8
CW
116872010-09-21 Colin Watson <cjwatson@ubuntu.com>
11688
11689 * grub-core/normal/menu_entry.c (run): Make sure we always return
11690 a value.
11691
b031012d
CW
116922010-09-21 Colin Watson <cjwatson@ubuntu.com>
11693
11694 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
11695 NumberOfPages is UINT64 according to the UEFI specification, not
11696 UINTN. Fix printf format.
11697
174de8f3
CW
116982010-09-21 Colin Watson <cjwatson@ubuntu.com>
11699
11700 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
11701 `err' to grub_usb_err_t.
11702 Reported and tested by: KESHAV P.R.
11703
d7dbe923
CW
117042010-09-21 Colin Watson <cjwatson@ubuntu.com>
11705
11706 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
11707 tpart non-const, so that we can assign to it. (Since this is a
11708 typedef, the constness refers to the pointer rather than what it
11709 points to.)
11710
8d5e2af3
CW
117112010-09-21 Colin Watson <cjwatson@ubuntu.com>
11712
11713 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
11714 $(top_srcdir)/grub-core/gnulib as well as
11715 $(top_builddir)/grub-core/gnulib.
11716 Reported by: KESHAV P.R.
11717
5c527783
CW
117182010-09-21 Colin Watson <cjwatson@ubuntu.com>
11719
11720 * util/grub-install.in: Fix the bootloader ID option to be
11721 consistently --bootloader-id, not --bootloader_id.
11722 Reported by: KESHAV P.R.
11723
d309a16e
CW
117242010-09-21 Colin Watson <cjwatson@ubuntu.com>
11725
11726 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
11727 check hash checksum." consistently translatable.
11728
b830cd16
YB
117292010-09-21 Yves Blusseau <blusseau@zetam.org>
11730
11731 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
11732 $(top_builddir).
11733
c4fe27a8
CW
117342010-09-21 Colin Watson <cjwatson@ubuntu.com>
11735
11736 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
11737 (GRUB_MOD_INIT): Register sha1sum command.
11738 (GRUB_MOD_FINI): Unregister sha1sum command.
11739
a4c1d277
YB
117402010-09-21 Yves Blusseau <blusseau@zetam.org>
11741
11742 Keep boot and grub directory names in sync with utils scripts
11743
11744 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
11745 * config.h.in: Add previous macros.
11746 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
11747 * util/grub-install.in: Use $bootdir and $grubdir variables.
11748
4eff79d2
CW
117492010-09-21 Colin Watson <cjwatson@ubuntu.com>
11750
11751 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
11752 convert partition names to disk names if the new `convert' parameter
11753 is set.
11754 (grub_util_biosdisk_get_grub_dev): If opening the disk device
11755 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
11756 disk in its own right. This can happen with Xen disk images.
11757
934d7e44
YB
117582010-09-21 Yves Blusseau <blusseau@zetam.org>
11759
11760 * util/grub-editenv.c: Update strings to avoid warnings when generating
11761 grub.pot file.
11762 * util/grub-setup.c: Likewise.
934d7e44 11763
df3367cc
VS
117642010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
11765
11766 * configure.ac: Change version to 1.99~beta0.
11767
77a94e98
VS
117682010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
11769
11770 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
11771 Add BADRAM.
11772 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
11773 Likewise.
11774 * include/multiboot.h: Resynced with specification.
11775 * include/multiboot2.h: Likewise.
11776
269004c1
CW
117772010-09-21 Colin Watson <cjwatson@ubuntu.com>
11778
11779 Fix po directory handling.
11780
11781 * configure.ac: Create po/Makefile.in rather than po/Makefile.
11782 * grub-core/gnulib/Makefile.am: Import gettext module.
11783 * m4/gnulib-cache.m4: Likewise.
11784 * m4/gnulib-comp.m4: Likewise.
11785 * m4/gettext.m4: New file, from gnulib.
11786 * m4/glibc2.m4: Likewise.
11787 * m4/iconv.m4: Likewise.
11788 * m4/intdiv0.m4: Likewise.
11789 * m4/intl.m4: Likewise.
11790 * m4/intldir.m4: Likewise.
11791 * m4/intlmacosx.m4: Likewise.
11792 * m4/intmax.m4: Likewise.
11793 * m4/inttypes-pri.m4: Likewise.
11794 * m4/lcmessage.m4: Likewise.
11795 * m4/lib-ld.m4: Likewise.
11796 * m4/lib-link.m4: Likewise.
11797 * m4/lib-prefix.m4: Likewise.
11798 * m4/lock.m4: Likewise.
11799 * m4/nls.m4: Likewise.
11800 * m4/po.m4: Likewise.
11801 * m4/printf-posix.m4: Likewise.
11802 * m4/progtest.m4: Likewise.
11803 * m4/threadlib.m4: Likewise.
11804 * m4/uintmax_t.m4: Likewise.
11805 * m4/visibility.m4: Likewise.
11806 * po/Makefile.am: Remove.
11807 * po/Makefile.in.in: New file, from gettext.
11808 ($(DOMAIN).pot-update): Support POTFILES-shell.
11809 * po/Makevars: New file.
11810 * po/POTFILES-shell: Rename to ...
11811 * po/POTFILES-shell.in: ... this. Update.
11812 * po/POTFILES: Rename to ...
11813 * po/POTFILES.in: ... this. Update.
11814 * po/Rules-quot: New file, from gettext.
11815 * po/boldquot.sed: Likewise.
11816 * po/en@boldquot.header: Likewise.
11817 * po/en@quot.header: Likewise.
11818 * po/insert-header.sin: Likewise.
11819 * po/quot.sed: Likewise.
11820 * po/remove-potcdate.sin: Likewise.
11821
3e0fa5d0
VS
118222010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11823
11824 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
11825
ade9bd66
VS
118262010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11827
11828 * util/grub.d/20_linux_xen.in: Use submenus.
11829
fc55cc4c
VS
118302010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11831
11832 Support submenus.
11833
11834 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
11835 parameter submenu. All users updated.
11836 * grub-core/normal/main.c (free_menu): Rename to ...
11837 (grub_normal_free_menu): ... this. Made global.
11838 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
11839 if requested.
11840 * grub-core/normal/menu_entry.c (screen): New field submenu.
11841 (make_screen): Set submenu.
11842 (run): Open new context if requested.
11843 * include/grub/menu.h (grub_menu_entry): New field submenu.
11844 * include/grub/normal.h (grub_normal_free_menu): New proto.
11845
600cedf7
VS
118462010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11847
11848 Menu entries extractor.
11849
11850 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
11851 variants.
11852 (GRUB_MOD_INIT): Register new variants.
11853 (GRUB_MOD_FINI): Unregister new variants.
11854 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
11855 into grub_cmd_legacy_source.
11856 (grub_cmd_legacy_source): Implement extractor variants.
11857 (GRUB_MOD_INIT): Register new variants.
11858 (GRUB_MOD_FINI): Unregister new variants.
11859 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
11860 as an extractor.
11861 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
11862 search as an extractor.
11863 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
11864 test as an extractor.
11865 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
11866 as an extractor.
11867 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
11868 (grub_env_new_context): New function.
11869 (grub_env_context_open): Likewise.
11870 (grub_env_extractor_open): Likewise.
11871 (grub_env_extractor_close): Likewise.
11872 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
11873 grub_extractor_level.
11874 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
11875 * include/grub/env.h (grub_env_extractor_open): New proto.
11876 (grub_env_extractor_close): Likewise.
11877 * include/grub/normal.h (grub_extractor_level): New external variable.
11878
7bda3a87
VS
118792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11880
11881 Make cutmem accept a region specification.
11882 Suggested by: Samuel Thibault
11883
11884 * grub-core/mmap/mmap.c (parsemem): New function.
11885 (grub_cmd_cutmem): Handle new arguments.
11886
2ea57f88
VS
118872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11888
11889 New command cutmem.
11890
11891 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
11892 (GRUB_MOD_INIT): Register new command.
11893 (GRUB_MOD_FINI): Unregister new command.
11894
74342e31
VS
118952010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11896
11897 Support some annoying BSD and Minix subpartitions.
11898
11899 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
11900 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
11901 Properly handle concatenation.
11902 * grub-core/kern/device.c (grub_device_iterate): Likewise.
11903 * grub-core/normal/completion.c (iterate_partition): Likewise.
11904 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
11905 contain partition. All users updated.
11906 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
11907 struct.
11908 (grub_openbsdlabel_partition_map): Likewise.
11909 (bsdlabel_partition_map_iterate): Rename to ..
11910 (iterate_real): ... this. New arguments sector, freebsd and pmap.
11911 (bsdlabel_partition_map_iterate): New function.
11912 (netopenbsdlabel_partition_map_iterate): Likewise.
11913 (netbsdlabel_partition_map_iterate): Likewise.
11914 (openbsdlabel_partition_map_iterate): Likewise.
11915 (GRUB_MOD_INIT): Register new partmaps.
11916 (GRUB_MOD_FINI): Unregister new partmaps.
11917 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
11918 (grub_partition_msdos_iterate): ... this. All users updated.
11919 Don't support embedding other than in a minix partition.
11920 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
11921 proto.
11922 * include/grub/partition.h (grub_partition): New field msdostype.
11923 * util/grub-install.in: Handle openbsd and netbsd types being in
11924 part_bsd module.
11925
1e8d555b
VS
119262010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11927
11928 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
11929
11930 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
11931 * grub-core/Makefile.core.def (mdraid): Renamed to ...
11932 (mdraid09): ... this.
11933 (mdraid1x): New module.
11934 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
11935 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
11936
899d8af4
VS
119372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11938
11939 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
11940 vsprintf.
11941
40901acd
CW
119422010-09-20 Colin Watson <cjwatson@ubuntu.com>
11943
11944 * grub-core/commands/efi/lsefimmap.c: Correct header.
11945 * NEWS: Update.
11946
dfe3b247
CW
119472010-09-20 Colin Watson <cjwatson@ubuntu.com>
11948
11949 * util/grub-editenv.c (argp_parser): Don't pass translated strings
11950 as printf format strings; the translations might contain '%' which
11951 could cause a crash.
11952 (main): Likewise.
11953 * util/grub-fstest.c (argp_parser): Likewise.
11954 * util/grub-setup.c (argp_parser): Likewise.
11955 (main): Likewise.
11956
3286a4b4
VS
119572010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11958
11959 Use argp in grub-fstest.
11960
11961 * util/grub-fstest.c: Don't include getopt.h.
11962 Include argp.h.
11963 (root): New variable.
11964 (args_count): Likewise.
11965 (nparm): Likewise.
11966 (num_disks): Likewise.
11967 (images): Likewise.
11968 (cmd): Likewise.
11969 (debug_str): Likewise.
11970 (args): Likewise.
11971 (options): Transformed to argp.
11972 (usage): Removed.
11973 (main): Split argument parsing into ...
11974 (argp_parser): ... this. Changed to argp format.
11975 (argp): New variable.
11976 (main): Use argp_parse.
11977
3dccbe4b
TG
119782010-09-20 Tristan Gingold <gingold@free.fr>
119792010-09-20 Robert Millan <rmh.grub@aybabtu.com>
119802010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11981
11982 * grub-core/commands/efi/lsefimmap.c: New file.
11983 * grub-core/Makefile.core.def (lsefimmap): New module.
11984 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
11985
38c259a7
VS
119862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11987
11988 Pause the execution (10s max) if any errors are displayed so the user
11989 has a chance to see them.
11990
11991 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
11992 (grub_print_error): Increment grub_err_printed_errors.
11993 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
11994 execution if any errors were displayed.
11995 (show_menu): Remove old code for pause.
11996 * grub-core/normal/menu_entry.c (run): Likewise.
11997 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
11998 users updated.
11999 (grub_normal_get_char_counter): Likewise.
12000 * include/grub/err.h (grub_err_printed_errors): New external variable.
12001 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
12002
f218b09c
VS
120032010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12004
12005 Support multiboot VBE info.
12006
12007 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12008 Take VBE info into account.
12009 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
12010 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12011 Call fill_vbe_info when appropriate.
12012 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
12013 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
12014 as supported.
12015 (grub_multiboot_get_mbi_size): Take new tags into account.
12016 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
12017 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12018 Call fill_vbe_tag when appropriate.
12019 (grub_multiboot_make_mbi): Properly align tags.
12020 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
12021 function.
12022 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
12023 proto.
12024 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
12025
a9cc5438
VS
120262010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12027
12028 Suport manual terminal geometry specification.
12029
12030 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
12031 Save state in grub_ofconsole_terminfo_output.
12032 (grub_ofconsole_term): Use grub_terminfo_getwh.
12033 (grub_ofconsole_getwh): Removed.
12034 * grub-core/term/serial.c (grub_serial_getwh): Removed.
12035 (grub_serial_term): Use grub_terminfo_getwh.
12036 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
12037 (options): New struct.
12038 (OPTION_*): New enum.
12039 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
12040 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
12041 width and height.
12042 (grub_terminfo_getwh): New proto.
12043 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
12044
1a8fed20
VS
120452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12046
12047 Handle legacy "terminal" command.
12048
12049 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
12050 and FLAG_TERMINAL.
12051 (legacy_commands): Add terminal and title.
12052 (grub_legacy_parse): Handle terminal. Simplify title handling.
12053
41e9c57d
VS
120542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12055
12056 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
12057 parameters overflow.
12058
61c874c5
CW
120592010-09-20 Colin Watson <cjwatson@ubuntu.com>
12060
12061 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
12062 widthspec.h.
12063
12064 * docs/grub.texi (Shell-like scripting): Document `!'.
12065 (Network): Simplify using new i386-pc-pxe format. Mention
12066 grub-mknetdir.
12067
12068 * NEWS: Update.
12069
943682b4
CW
120702010-09-20 Colin Watson <cjwatson@ubuntu.com>
12071
12072 * Makefile.am (SUBDIRS): Restore "."; it's important to force
12073 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
12074 when needed.
12075
6d3d698d
CW
120762010-09-20 Colin Watson <cjwatson@ubuntu.com>
12077
12078 * grub-core/commands/efi/lsefisystab.c: Correct header.
12079 * grub-core/commands/efi/lssal.c: Likewise.
12080 * grub-core/commands/testload.c: Likewise.
12081
c982589f
CW
120822010-09-20 Colin Watson <cjwatson@ubuntu.com>
12083
12084 * util/grub-mkrescue.in: Add explicit root argument to --set to
12085 prevent the UUID being interpreted as an argument to --set (matches
12086 previous change to prepare_grub_to_access_device).
12087
a63c31b6
CW
120882010-09-20 Colin Watson <cjwatson@ubuntu.com>
12089
12090 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
12091 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
12092 the verbosity of later #ifs.
12093 (find_partition_start): Define this function on FreeBSD too.
12094 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
12095 function.
12096 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
12097 on FreeBSD.
12098
6439b8ee
YB
120992010-09-20 Yves Blusseau <blusseau@zetam.org>
12100
12101 * util/grub-editenv.c: Use argp instead of getopt.
12102
c5930ec8
YB
121032010-09-20 Yves Blusseau <blusseau@zetam.org>
12104
12105 * util/grub-setup.c: Use argp instead of getopt.
12106
15c69261
YB
121072010-09-20 Yves Blusseau <blusseau@zetam.org>
12108
12109 Use gnulib-tool to create gnulib source files.
12110
12111 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
12112 grub-core/gnulib directories
12113 * .bzignore: Add **/.deps and autogenerated gnulib files
12114 * configure.ac: Assign auxiliary directory to build-aux, add invocation
12115 of gnulib macros, add grub-core/gnulib/Makefile
12116 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
12117 include m4 directory to aclocal.
12118 * Makefile.util.def: Remove direct compilation of gnulib source files
12119 and use the new grub-core/gnulib/libgnu.a.
12120 * build-aux/config.rpath: move config.rpath from top directory to
12121 build-aux
12122 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
12123 in gnulib headers
12124 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
12125 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
12126 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
12127 header.
12128 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
12129 string.
12130
e511c9f5
YB
121312010-09-20 Yves Blusseau <blusseau@zetam.org>
12132
12133 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
12134 grub-core/genmod.sh and grub-core/gensyminfo.sh
12135
c2dede05
BC
121362010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
12137
12138 Add a test for echo command options.
12139
12140 * tests/grub_cmd_echo.in: New test.
12141 * Makefile.util.def: Rules for new test.
12142
c55f5018
SJ
121432010-09-20 Szymon Janc <szymon@janc.net.pl>
12144
12145 Remove crc.mod and move crc command to hashsum.mod.
12146 Remove lib/crc.c - users updated to use gcrypt implementation.
12147
12148 * grub-core/commands/crc.c: Removed.
12149 * grub-core/Makefile.core.def (crc): Module removed.
12150 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
12151 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
12152 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
12153 * grub-core/lib/crc.c: Removed.
12154 * include/grub/lib/crc.h: Removed.
12155 * Makefile.util.def (crc): Remove lib/crc.c
12156 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
12157 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
12158 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
12159 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
12160 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
12161 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
12162
e0337366
VS
121632010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12164
12165 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
12166
742f9232
VS
121672010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12168
12169 Split config.h for util and core.
12170
12171 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
12172 (ADDR32): Likewise.
12173 (DATA32): Likewise.
12174 (BSS_START_SYMBOL): Likewise.
12175 (END_SYMBOL): Likewise.
12176 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
12177 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
12178 * config.h.in: New file.
12179 * configure.ac: Use config-util.h as config define file.
12180 Rename MACHINE into GRUB_MACHINE. All users updated.
12181 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
12182 updated.
12183 (NESTED_FUNC_ATTR): Likewise.
12184 Substitue new variables.
12185 (COND_HAVE_ASM_USCORE): New conditional.
12186 * grub-core/Makefile.am (ASM_PREFIX): New variable.
12187 (kernel_syms.lst): Use ASM_PREFIX.
12188 * grub-core/kern/emu/console.c: Include config-util.h.
12189 * grub-core/kern/emu/misc.c: Likewise.
12190 * grub-core/kern/emu/mm.c: Likewise.
12191 * include/grub/emu/misc.h: Likewise.
12192 * include/grub/libgcc.h: Likewise.
12193
39feb0e8
VS
121942010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12195
12196 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
12197 constants usage.
12198 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
12199 Fix GRUB_TERM_KEY_* constants usage.
12200 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
12201
9af6dac3
VS
122022010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12203
12204 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
12205 print pointer.
12206 * grub-core/bus/usb/uhci.c: Remove empty define.
12207 (grub_uhci_check_transfer): Add missing cast.
12208 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
12209 print pointer.
12210 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
12211 PRIuGRUB_SIZE.
12212 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
12213
d6d94820
VS
122142010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12215
12216 * grub-core/Makefile.core.def (legacycfg): Add
12217 lib/i386/pc/vesa_modes_table.c on emu.
12218
3572f2b6
BC
122192010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
12220
12221 Reduce number of temporary files generated by build system.
12222
12223 * grub-core/gencmdlist.sh: Removed.
12224 * grub-core/genfslist.sh: Removed.
12225 * grub-core/genhandlerlist.sh: Removed.
12226 * grub-core/genmodsrc.sh: Removed.
12227 * grub-core/genpartmaplist.sh: Removed.
12228 * grub-core/genparttoollist.sh: Removed.
12229 * grub-core/gentermiinallist.sh: Removed.
12230 * grub-core/genvideolist.sh: Removed.
12231
12232 * grub-core/genmod.sh.in: New file.
12233 * grub-core/gensyminfo.sh.in: New file.
12234
12235 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
12236 * conf/Makefile.extra-dist: Update with new files.
12237 * gentpl.py: Remove rules related to unnecessary temporary files.
12238 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
12239 and und-* files.
12240 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
12241 genmod.sh scripts.
12242 * grub-core/bus/usb/uhci.c: Remove empty #define.
12243 * grub-core/genmoddep.awk: Updated with new syminfo format.
12244 * util/bash-completion.d/Makefile.am: Add config.log to
12245 CLEANFILES.
12246
c836b030
YB
122472010-09-19 Yves Blusseau <blusseau@zetam.org>
12248
12249 * Makefile.util.def: Add forgotten $(LIBINTL) library.
12250
2f4e8053
BC
122512010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
12252
12253 * util/grub-mkconfig.in: Check the config script for syntax errors
12254 before saving.
12255
75831c34
CW
122562010-09-19 Colin Watson <cjwatson@ubuntu.com>
122572010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12258
12259 * Makefile.util.def (grub-install): Use util/grub-install.in on all
12260 platforms.
12261 * util/grub-install.in: Add EFI and IEEE1275 support.
12262 * util/i386/efi/grub-install.in: Removed.
12263 * util/ieee1275/grub-install.in: Likewise.
12264
eaf41b25
VS
122652010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12266
12267 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
12268 (grub_cmd_cmosclean): Likewise.
12269 (GRUB_MOD_INIT): Register command cmosclean.
12270 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
12271 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
12272
1a9130dd
CPE
122732010-09-18 Carles Pina i Estany <carles@pina.cat>
122742010-09-18 Aleš Nesrsta <starous@volny.cz>
122752010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12276
12277 Add keyboard layouts support.
12278
12279 * Makefile.util.def (grub-mklayout): New file.
12280 (grub-kbdcomp): New script.
12281 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
12282 Add keyboard_layouts.h.
12283 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
12284 commands/boot.c on yeeloong.
12285 (keylayouts): New module.
12286 * grub-core/bus/usb/ohci.c
12287 * grub-core/bus/usb/uhci.c
12288 * grub-core/bus/usb/usbhub.c (rescan): New variable.
12289 (grub_usb_add_hub): Poll interrupt pipe for device handling.
12290 (attach_root_port): Likewise.
12291 (poll_nonroot_hub): Likewise.
12292 (grub_usb_poll_devices): Likewise.
12293 (detach_device): Close transfer.
12294 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
12295 function.
12296 (grub_usb_bulk_setup_readwrite): Likewise.
12297 (grub_usb_bulk_finish_readwrite): Likewise.
12298 * grub-core/commands/keylayouts.c: New file.
12299 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
12300 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
12301 aliases.
12302 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
12303 support scancode 2.
12304 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
12305 * include/grub/keyboard_layouts.h: New file.
12306 * util/grub-mklayout.c: New file.
12307 * util/grub-kbdcomp.in: Likewise.
12308
a1d84a5e
VS
123092010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12310
12311 Unify memory types.
12312
12313 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
12314 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
12315 types.
12316 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
12317 (grub_upper_mem): Likewise.
12318 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
12319 * include/grub/memory.h (grub_memory_type_t): New enum.
12320 All users updated.
12321
9696382e
VS
123222010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12323
12324 * grub-core/Makefile.core.def (lsapm): New module.
12325 * grub-core/commands/i386/pc/lsapm.c: New file.
12326 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
12327 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
12328 Likewise.
12329 * include/grub/i386/pc/apm.h: New file.
12330 * include/multiboot.h (multiboot_apm_info): New struct.
12331
123322010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12333
12334 GRUB-legacy configuration file support.
12335
12336 * Makefile.util.def (grub-menulst2cfg): New util.
12337 * docs/man/grub-menulst2cfg.h2m: New file.
12338 * grub-core/Makefile.core.def (legacycfg): New module.
12339 * grub-core/commands/legacycfg.c: New file.
12340 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
12341 (grub_normal_add_menu_entry): ... this.
12342 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
12343 (grub_normal_set_password): ...this.
12344 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
12345 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
12346 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
12347 * grub-core/lib/legacy_parse.c: New file.
12348 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
12349 * include/grub/i386/pc/vesa_modes_table.h: New file.
12350 * include/grub/legacy_parse.h: Likewise.
12351 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
12352 * util/grub-menulst2cfg.c: New file.
12353
bf8d1338
CW
123542010-09-17 Colin Watson <cjwatson@ubuntu.com>
12355
12356 * grub-core/kern/emu/hostdisk.c
12357 (convert_system_partition_to_system_disk): Initialise node.
12358
9c0bad2e
CW
123592010-09-17 Colin Watson <cjwatson@ubuntu.com>
12360
12361 * grub-core/kern/emu/hostdisk.c
12362 (convert_system_partition_to_system_disk): Fix devmapper memory pool
12363 leak.
12364 Reported and based on patch by: Modestas Vainius.
12365
a939d135
CW
123662010-09-17 Colin Watson <cjwatson@ubuntu.com>
12367
12368 Fix DM-RAID probing with recent versions of device-mapper udev
12369 rules.
12370
12371 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
12372 canonicalise device paths under /dev/mapper/.
12373 (convert_system_partition_to_system_disk): Compare the
12374 uncanonicalised path to /dev/mapper/ rather than the canonicalised
12375 path, since device nodes under /dev/mapper/ are often symlinks.
12376
0f7ee3c9
YB
123772010-09-17 Yves Blusseau <blusseau@zetam.org>
12378
12379 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
12380
10854d0d
YB
123812010-09-16 Yves Blusseau <blusseau@zetam.org>
12382
12383 * configure.ac: Avoid some annoying error messages if freetype-config
12384 program is not found.
12385
108538d8
CW
123862010-09-16 Colin Watson <cjwatson@ubuntu.com>
12387
12388 Support RAID on virtio devices, and others.
12389
12390 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
12391 Rename to ...
12392 [__MINGW32__] (grub_find_device): ... this.
12393 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
12394 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
12395 reasonable default if dir is NULL.
12396 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
12397 ...
12398 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
12399 (grub_guess_root_device): Update callers.
12400 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
12401
12402 * util/raid.c (grub_util_getdiskname): Remove.
12403 (grub_util_raid_getmembers): Use grub_find_device rather than
12404 grub_util_getdiskname.
12405
e5bfc130
CW
124062010-09-16 Colin Watson <cjwatson@ubuntu.com>
12407
12408 * docs/grub.texi (serial): Remove obsolete comment about GRUB
12409 needing to be compiled with serial support.
12410 (ls): Indicate that multiple files are accepted.
12411 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
12412 indicate that multiple files are accepted.
12413
be458ae2
CW
124142010-09-16 Colin Watson <cjwatson@ubuntu.com>
12415
12416 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
12417 libgrub_a_init.c, and util/bash-completion.d/grub.
12418
cb731b5e
VS
124192010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12420
12421 * util/grub-setup.c (setup): Fix incorrect container semantics.
12422
35139e8a
VS
124232010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12424
12425 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
12426 misusage.
12427 Reported by: J. Nick Terry
12428
e50fca4a
VS
124292010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12430
12431 Move embedding routines to partmap sources files.
12432
12433 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
12434 [GRUB_UTIL]: New variable.
12435 (gpt_partition_map_iterate): Set part.parent.
12436 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
12437 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
12438 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
12439 New function.
12440 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
12441 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
12442 (grub_partition_map) [GRUB_UTIL]: New field embed.
12443 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
12444 (setup): Use ->embed.
12445
f00478b7
VS
124462010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12447
12448 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
12449 function.
12450 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
12451 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
12452
2b94e3ff
YB
124532010-09-15 Yves Blusseau <blusseau@zetam.org>
12454
12455 Add function to get completions from usage.
12456
12457 * util/bash-completion.d/grub-completion.bash.in: Add function to get
12458 completions from usage. Use LC_ALL=C to get options properly.
12459
2e04a006
VS
124602010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12461
12462 * grub-core/gnulib/basename-lgpl.c: Imported.
12463 * grub-core/gnulib/basename.c: Likewise.
12464 * grub-core/gnulib/dirname-lgpl.c: Likewise.
12465 * grub-core/gnulib/dirname.c: Likewise.
12466 * grub-core/gnulib/dirname.h: Likewise.
12467 * grub-core/gnulib/stripslash.c: Likewise.
12468
5dcdf93a
VS
124692010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12470
12471 * grub-core/gnulib/error.c: Resynced.
12472 * grub-core/gnulib/getopt.c: Likewise.
12473 * grub-core/gnulib/getopt_int.h: Likewise.
12474 * grub-core/gnulib/regex.h: Likewise.
12475 * grub-core/gnulib/regex_internal.c: Likewise.
12476 * grub-core/gnulib/regex_internal.h: Likewise.
12477
014f47b7
SJ
124782010-09-15 Szymon Janc <szymon@janc.net.pl>
12479
12480 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
12481 CRC calculations and validity checks.
12482 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
12483 calculations.
12484
dd521a4a
SJ
124852010-09-15 Szymon Janc <szymon@janc.net.pl>
12486
12487 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
12488
79c4eeb9
VS
124892010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12490
12491 Fix incorrect echo options handling.
12492 Reported by: Yves Blusseau.
12493
12494 * include/grub/command.h (grub_command_flags_t): New flags
12495 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
12496 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
12497 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
12498
ed80f7d5
VS
124992010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12500
12501 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
12502 users updated.
12503 (GRUB_COMMAND_FLAG_MENU): Likewise.
12504 (GRUB_COMMAND_FLAG_BOTH): Likewise.
12505 (GRUB_COMMAND_FLAG_TITLE): Removed.
12506 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
12507 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
12508 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
12509 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
12510 (grub_command_flags_t): New enum. All users updated.
12511
5fe7620a
SG
125122010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
12513
12514 Fix solaris compilation.
12515
12516 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
12517 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
12518 (grub-emu-list): Likewise.
12519
545b752f
VS
125202010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12521
12522 Remove deprecated root command.
12523
12524 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
12525 updated.
12526
6c1a338c
VS
125272010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12528
12529 * util/i386/pc/grub-setup.c: Merge this ...
12530 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
12531 * util/grub-setup.c: ... into this.
12532 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
12533 New struct.
12534
125352010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12536
12537 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
12538 possible.
12539
d2ea4551
VS
125402010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12541
12542 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
12543 allocate p.
12544
3c3b5040
VS
125452010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12546
12547 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
12548 explicit root argument to set to prevent UUID to be interpreted as
12549 argument to set.
12550
b71c3fae
VS
125512010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12552
12553 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
12554
275433e6
VS
125552010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12556
12557 Don't export grub_gate_a20.
12558
12559 * grub-core/kern/i386/pc/init.c: Remove leftovers.
12560 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
12561 to ...
12562 (grub_gate_a20): ... this. All users updated.
12563 * include/grub/i386/pc/init.h: Removed. All users updated.
12564
a5dbb1f1
VS
125652010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12566
12567 Create euro.pf2 which supports most European languages.
12568
12569 * Makefile.am (grubdata_DATA): Add euro.pf2.
12570 (euro.pf2): New target.
12571 (CLEANFILES): Add euro.pf2.
12572
62a747cb
VS
125732010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12574
12575 * configure.ac: Disable emu-usb by default to prevent inadvertent
12576 device takeover.
12577
608e43b1
VS
125782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12579
12580 Disable usbserial on grub-emu since our libusb code isn't good enough
12581 yet.
12582
12583 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
12584 (usbserial_pl2303): Likewise.
12585 (usbserial_ftdi): Likewise.
12586
94564f81
VS
125872010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12588
12589 * include/grub/disk.h (grub_disk): Remove has_partitions.
12590 All users updated.
12591 * disk/loopback.c (grub_loopback): Remove has_partitions.
12592 All users updated.
12593 (options): Remove partitions. All users updated.
12594 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
12595 * util/i386/pc/grub-setup.c (setup): copy partition table only when
12596 actual partition table is found.
12597
3352800b
VS
125982010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12599
12600 Remove readability checks (too many false negatives).
12601
12602 * util/grub-install.in: Remove readability checks.
12603 * util/grub-mkconfig.in: Likewise.
12604 * util/grub.d/10_hurd.in: Likewise.
12605 * util/grub.d/10_kfreebsd.in: Likewise.
12606 * util/grub.d/10_linux.in: Likewise.
12607 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
12608 way.
12609
2419f17a
VS
126102010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12611
12612 Enable acpi shutdown on all ACPI platforms.
12613
12614 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
12615 on coreboo, multiboot and EFI.
12616 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
12617 (grub_acpi_halt): Likewise.
12618 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
12619 (grub_cmd_halt): Don't call grub_acpi_halt directly.
12620 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
12621 * grub-core/lib/i386/halt.c (grub_halt)
12622 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
12623
0575c7c3
VS
126242010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12625
12626 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
12627 context.
12628
54ac3cd1
VS
126292010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12630
12631 * grub-core/video/efi_gop.c: Fix over-80-chars line.
12632 * grub-core/video/efi_uga.c: Likewise.
12633
b2a30ac5
VS
126342010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12635
12636 Filter devaliases and never open same device twice.
12637
12638 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
12639 (last_ihandle): Likewise.
12640 (ofdisk_hash_ent): New member shortest.
12641 (ofdisk_hash_add): Add canonical path too.
12642 (scan): New function.
12643 (grub_ofdisk_iterate): Iterate over hashed entries.
12644 (compute_dev_path): Don't add :0.
12645 (grub_ofdisk_open): Don't really open the disk.
12646 (grub_ofdisk_close): Avoid closing unrelated disk.
12647 (grub_ofdisk_read): Implement reopen logic.
12648 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
12649 New function.
12650 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
12651 New proto.
12652
fb53b340
VS
126532010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12654
12655 Fix sparc64.
12656
12657 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
12658 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
12659 right address. Add sparc64_ieee1275_ldflags.
12660 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
12661 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
12662 to grub_host_to_target_addr
12663 (load_image): Likewise.
12664
f452b040
VS
126652010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12666
12667 * grub-core/normal/completion.c (complete_file): Handle device
12668 containing slash.
12669 Fix based on patch by Doug Nazar.
12670
9b5b2541
VS
126712010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12672
12673 grub-mknetdir script.
12674
12675 * Makefile.util.def (grub-mknetdir): New module.
12676 * tests/util/grub-shell.in: Support boot=net
12677 * util/grub-mknetdir.in: New file.
12678
9d2be652
VS
126792010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12680
12681 videoinfo on non-vbe.
12682
12683 * grub-core/Makefile.core.def (vbeinfo): Removed.
12684 (vbetest): Removed.
12685 (videoinfo): New module.
12686 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
12687 * grub-core/commands/i386/pc/vbetest.c: Removed.
12688 * grub-core/commands/videoinfo.c: New file.
12689 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
12690 specification.
12691 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
12692 as vbetest.
12693 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
12694 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
12695 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
12696 mode_number. New parameter mode. All users updated.
12697 (grub_video_gop_iterate): New function.
12698 (grub_video_efi_gop): New member iterate.
12699 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
12700 (grub_vbe_set_video_mode): Remove setting useless fields.
12701 (vbe2videoinfo): New function.
12702 (grub_video_vbe_iterate): Likewise.
12703 (grub_video_vbe_setup): Use vbe2videoinfo.
12704 (grub_video_vbe_print_adapter_specific_info): New function.
12705 (grub_video_vbe_adapter): New fields iterate and
12706 print_adapter_specific_info.
12707 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
12708 All users updated.
12709 (grub_video_mode_info): New field mode_number.
12710 (grub_video_adapter): New fields iterate and
12711 print_adapter_specific_info.
12712
179503f5
TG
127132010-09-13 Tristan Gingold <gingold@free.fr>
127142010-09-13 Robert Millan <rmh.grub@aybabtu.com>
127152010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12716
12717 * grub-core/commands/efi/lsefisystab.c: New file.
12718 * grub-core/commands/efi/lssal.c: Likewise.
12719 * grub-core/Makefile.core.def (lsacpi): New module.
12720 (lsefisystab): Likewise.
12721 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
12722 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
12723 (grub_efi_sal_system_table): New struct.
12724 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
12725 (grub_efi_sal_system_table_memory_descriptor): Likewise.
12726 (grub_efi_sal_system_table_platform_features): Likewise.
12727 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
12728 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
12729 (grub_efi_sal_system_table_ap_wakeup): Likewise.
12730 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
12731
cf9827de
VS
127322010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12733
12734 Support explicit user claim that a device is BIOS-visible.
12735
12736 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
12737 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
12738 * grub-core/kern/emu/hostdisk.c
12739 (convert_system_partition_to_system_disk): Support mdX.
12740 (find_system_device): New parameter add. All users updated.
12741 (grub_util_biosdisk_is_present): New function.
12742 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
12743 proto.
12744
53f0eb1f
VS
127452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12746
12747 Search hints support.
12748
12749 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
12750 All users updated.
12751
b23ffd70
YB
127522010-09-13 Yves Blusseau <blusseau@zetam.org>
12753
12754 Bash completion script for util commands
12755
12756 * Makefile.am: Add util/bash-completion.d directory
12757 * configure.ac: Likewise.
12758 * util/bash-completion.d/Makefile.am: New file.
12759 * util/bash-completion.d/grub-completion.bash.in: Likewise.
12760
d547dc28
VS
127612010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12762
12763 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
12764 (print_backlog): set backlog_ucs4 and backlog_glyphs.
12765 Reported by: Yves Blusseau.
12766
2fc8ccb9
VS
127672010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12768
12769 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
12770 partition size and offset.
12771
d8a84076
VS
127722010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12773
12774 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
12775
84fb3b3d
VS
127762010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12777
12778 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
12779
768ec2e2
VS
127802010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12781
12782 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
12783 (grub_xvasprintf): Likewise.
12784
4870900f
VS
127852010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12786
12787 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
12788
faca6bec
VS
127892010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12790
12791 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
12792 args ending with NULL.
12793
127942010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
12795
12796 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
12797 pointer.
12798
3c70f225
SJ
127992010-09-11 Szymon Janc <szymon@janc.net.pl>
12800
12801 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
12802
4df7996d
VS
128032010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12804
12805 Shutdown using ACPI.
12806
12807 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
12808 * grub-core/commands/acpihalt.c: New file.
12809 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
12810 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
12811 (grub_acpi_halt): New proto.
12812 (GRUB_ACPI_SLP_EN): New const.
12813 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
12814 (GRUB_ACPI_OPCODE_*): New enum.
12815 (GRUB_ACPI_EXTOPCODE_*): Likewise.
12816
126b4c32
TG
128172010-09-11 Tristan Gingold <gingold@free.fr>
128182010-09-11 Robert Millan <rmh.grub@aybabtu.com>
128192010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12820
12821 * commands/lsacpi.c: New file.
12822 * grub-core/Makefile.core.def (lsacpi): New module.
12823 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
12824 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
12825 (grub_acpi_madt_entry_header): New struct.
12826 (grub_acpi_madt): Likewise.
12827 (grub_acpi_madt_entry_interrupt_override): Likewise.
12828 (grub_acpi_madt_entry_sapic): Likewise.
12829 (grub_acpi_madt_entry_lsapic): Likewise.
12830 (grub_acpi_madt_entry_platform_int_source): Likewise.
12831 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
12832 (PRIuGRUB_UINT32_T): Likewise.
12833 (PRIxGRUB_UINT64_T): Likewise.
12834
1aa4fe88
VS
128352010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12836
12837 Implement loading palette on ieee1275_fb.
12838
12839 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
12840 (have_setcolors): Likewise.
12841 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
12842 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
12843 (grub_video_ieee1275_set_palette): Implement.
12844
25761e13
VS
128452010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
128462010-09-11 Colin Watson <cjwatson@ubuntu.com>
12847
12848 * util/grub-install.in (grub_partition): New variable.
12849 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
12850 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
12851 Fixes a bug reported by Yves Blusseau.
12852
050abaea
VS
128532010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12854
12855 Fix emu on mipsel.
12856
12857 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
12858 =grub_cpu_flush_cache on all mips and not only yeeloong.
12859 * configure.ac (COND_mips): New conditional.
12860 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
12861 platforms.
12862 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
12863 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
12864 [GRUB_LINKER_HAVE_INIT]: New function.
12865 (grub_emu_post_init): Likewise.
12866 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
12867 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
12868 * include/grub/cache.h (_mips): Include mips/cache.h.
12869 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
12870 LVM and RAID prototypes.
12871 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
12872 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
12873 function.
12874
5ed7d816
CW
128752010-09-10 Colin Watson <cjwatson@ubuntu.com>
12876
12877 * util/grub-install.in: Don't try to verify core.img until after
12878 running grub-mkimage to create it.
12879
90367e04
RM
128802010-09-10 Robert Millan <rmh@gnu.org>
12881
12882 * util/grub.d/10_hurd.in: Add misc readability checks.
12883 * util/grub.d/10_kfreebsd.in: Likewise.
12884 * util/grub.d/10_linux.in: Likewise.
12885
c452fa66
CW
128862010-09-10 Colin Watson <cjwatson@ubuntu.com>
12887
12888 * util/grub-install.in: ${imgext} won't be defined here until the
12889 install branch is merged. For the meantime, only verify core.img on
12890 i386-pc and sparc64-ieee1275 platforms.
12891
c38fe9f4
RM
128922010-09-10 Robert Millan <rmh@gnu.org>
12893
12894 Solaris support in grub_find_zpool_from_dir(). Thanks
12895 Seth Goldberg for referring to getextmntent() facility.
12896
12897 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
12898 `sys/mkdev.h'.
12899 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
12900 `<sys/mnttab.h>'.
12901 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
12902 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
12903 method for finding zpool name.
12904
905f7773
CW
129052010-09-10 Colin Watson <cjwatson@ubuntu.com>
12906
12907 grub-fstest needs the host and hostfs modules while other utilities
12908 actively require those modules to be absent, so grub-fstest needs
12909 its own initialisation and finalisation code.
12910
12911 * Makefile.am (grub_fstest.pp): New target.
12912 (grub_fstest_init.lst): Likewise.
12913 (grub_fstest_init.c): Likewise.
12914 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
12915
fb90b546
RM
129162010-09-10 Robert Millan <rmh@gnu.org>
12917
12918 * configure.ac: Check for `struct statfs.f_fstypename' and
12919 `struct statfs.f_mntfromname'.
12920
12921 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
12922 kFreeBSD-specific code.
12923
66d4bea5
RM
129242010-09-10 Robert Millan <rmh@gnu.org>
12925
12926 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
12927 on ZFS. Now non-main filesystems are supported as / too.
12928
b6a690ee
CW
129292010-09-09 Colin Watson <cjwatson@ubuntu.com>
12930
12931 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
12932 and grub-core/disk/host.c to ...
12933 (grub-fstest): ... here. Having the host disk implementation
12934 present confuses grub-probe and other utility programs.
12935
12936 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
12937 when writing to a file, not when writing to stdout.
12938
8901b00c 129392010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
12940
12941 * tests/partmap_test.in: New test for partitions.
12942 * Makefile.util.def: Rules for new test.
12943
7bf45fdd
RM
129442010-09-09 Robert Millan <rmh@gnu.org>
12945
12946 * util/grub-probe.c (probe): Fix a pair of unhandled error
12947 conditions.
12948
4dfbc574
RM
129492010-09-09 Robert Millan <rmh@gnu.org>
12950
12951 Basic Btrfs support (detection and UUID).
12952
12953 * grub-core/fs/btrfs.c: New file.
12954 * Makefile.util.def (library): Register btrfs.c.
12955 * grub-core/Makefile.core.def: Likewise.
12956
6b8e78ae
RM
129572010-09-08 Robert Millan <rmh@gnu.org>
12958
12959 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
12960 with (optional) parameters to specify device and relative path.
12961 * util/grub-install.in: Use is_path_readable_by_grub() to
12962 verify readability of a few critical files.
12963 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
12964 verify readability of grub.cfg.new.
12965
27f21a8b
VS
129662010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
12967
12968 Split minix.mod into minix.mod and minix2.mod.
12969
12970 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
12971 * grub-core/Makefile.core.def (minix2): New module.
12972 * grub-core/fs/minix.c: Use definitions instead of runtime version
12973 checking.
12974 * grub-core/fs/minix2.c: New file.
12975
c0e53ea5
YB
129762010-09-08 Yves Blusseau <blusseau@zetam.org>
12977
12978 Add new --boot-directory option to replace --root-directory
12979
12980 * util/grub-install.in: Add new --boot-directory option
12981 * util/grub-reboot.in: Likewise.
12982 * util/grub-set-default.in: Likewise.
12983
b9fe6ea2
YB
129842010-09-08 Yves Blusseau <blusseau@zetam.org>
12985
12986 * util/grub-mkconfig.in: Use new variable.
12987
d87aedff
YB
129882010-09-08 Yves Blusseau <blusseau@zetam.org>
12989
12990 * configure.ac: Define some useful variables.
12991
e55e8495
VS
129922010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
12993
12994 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12995 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
12996 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
12997 Use terminfo and don't use cursor-on/cursor-off unless it's known
12998 to work.
12999 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
13000 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
13001
6fa6d675
CW
130022010-09-08 Colin Watson <cjwatson@ubuntu.com>
13003
13004 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
13005 starts with "(,", fill the drive containing the loaded image in
13006 between those two characters, but expect that a full partition
13007 specification including partition map names will follow.
13008
92f2aef0
RM
130092010-09-08 Robert Millan <rmh@gnu.org>
13010
13011 * configure.ac: Remove `--enable-grub-fstest' option.
13012 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
13013
13014 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
13015 `grub-fstest' instead of `grub-probe' for readability verification.
13016 * util/grub-probe.c (probe): Remove readability verification kludge.
13017
99fd620d
RM
130182010-09-08 Robert Millan <rmh@gnu.org>
13019
13020 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
13021 initializing `GRUB_FS'.
13022
058e30ac 130232010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
13024
13025 Not command (!) support to GRUB script.
13026
13027 * tests/grub_script_not.in: New test.
13028 * Makefile.util.def: Rules for new test.
13029
13030 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
13031 ! command as a special case.
13032 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
13033
b61d05ed 130342010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13035
058e30ac 13036 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
13037 grub_free.
b61d05ed 13038
4d69c786 130392010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13040
13041 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
13042
aa3119c4 130432010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13044
13045 * docs/grub.texi (Shell-like scripting): Documentation for break,
13046 continue, shift and return commands.
13047
db0f7e3d
VS
130482010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
13049
13050 Rename CD-ROM to cd on BIOS.
13051
13052 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
13053 "cd".
13054 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
13055
88b87c93
VS
130562010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13057
13058 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
13059 * util/grub-probe.c (main): Likewise.
13060 * util/i386/pc/grub-setup.c (main): Likewise.
13061 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
13062 Reported and debugged by: alexxy
13063
294f324d
VS
130642010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13065
13066 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
13067 diagnostic info.
13068
d7ee3441
JS
130692010-09-05 Jo Shields <directhex@apebox.org>
13070
13071 * util/grub.d/30_os-prober.in: Add missing classes.
13072
d7e06c1f
VS
130732010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13074
13075 * docs/grub.texi (Theme file format): Document new position format.
13076
fc157e53
VS
130772010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13078
13079 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
13080 a table. Use @code instead of @verbatim.
13081
506e9a1c
CB
130822010-09-05 Colin D Bennett <colin@gibibit.com>
13083
13084 Gfxmenu documentation.
13085
13086 * docs/grub.texi (Theme file format): New chapter.
13087
f0aff67c
SJ
130882010-09-05 Szymon Janc <szymon@janc.net.pl>
13089
13090 * grub-core/Makefile.core.def (xzio): New module.
13091 * grub-core/io/xzio.c: New file.
13092 * grub-core/lib/xzembed/xz.h: New file (from xembed).
13093 * grub-core/lib/xzembed/xz_config.h: Likewise.
13094 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
13095 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
13096 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
13097 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
13098 * grub-core/lib/xzembed/xz_private.h: Likewise.
13099 * grub-core/lib/xzembed/xz_stream.h: Likewise.
13100 * include/grub/file.h (grub_file_filter_id): New compression filter
13101 GRUB_FILE_FILTER_XZIO.
13102
82a85062
VS
131032010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13104
13105 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
13106 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
13107 size.
13108
3579415d
VS
131092010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13110
13111 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
13112 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
13113
5124ae6d
VS
131142010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13115
13116 Uncompressed checksum support.
13117
13118 * grub-core/commands/hashsum.c (options): Add option --uncompress.
13119 (check_list): New parameter uncompress.
13120 (grub_cmd_hashsum): Handle --uncompress.
13121
9aadb3d1
VS
131222010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13123
13124 Reintroduce testload.
13125
13126 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
13127 from here ...
13128 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
13129 (GRUB_MOD_INIT): New function.
13130 (GRUB_MOD_FINI): Likewise.
13131 * grub-core/Makefile.core.def (testload): New module.
13132
a17792c3
SJ
131332010-09-05 Szymon Janc <szymon@janc.net.pl>
13134
13135 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
13136 (uint8_t): New type.
13137 (uint16_t): Likewise.
13138 (uint32_t): Likewise.
13139 (uint64_t): Likewise.
13140
b81e40a3
SJ
131412010-09-05 Szymon Janc <szymon@janc.net.pl>
13142
13143 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
13144
fc2ef117
VS
131452010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13146
13147 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
13148 Made static.
13149 (grub_gzfile_open): Removed. All users updated.
13150 (GRUB_MOD_INIT): New function.
13151 (GRUB_MOD_FINI): Likewise.
13152 * grub-core/kern/file.c (grub_file_filters_all): New variable.
13153 (grub_file_filters_enabled): Likewise.
13154 (grub_file_open): Handle filters.
13155 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
13156 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
13157 * include/grub/file.h (grub_file_filter_id_t): New type.
13158 (grub_file_filter_t): Likewise.
13159 (grub_file_filters_all): New extern variable.
13160 (grub_file_filters_enabled): Likewise.
13161 (grub_file_filter_register): New inline function.
13162 (grub_file_filter_unregister): Likewise.
13163 (grub_file_filter_disable): Likewise.
13164 (grub_file_filter_disable_compression): Likewise.
13165 * include/grub/gzio.h: Removed.
13166
35ee15e0
BC
131672010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13168
13169 Filename expansion support for wildcards in GRUB script.
13170
13171 * tests/grub_script_expansion.in: New test.
13172 * Makefile.util.def: Rule for new test.
13173
13174 * grub-core/commands/wildcard.c: New file, implements filename
13175 expansion support for GRUB script.
13176 * grub-core/Makefile.core.def: Rule update for regexp.mod.
13177 * grub-core/script/argv.c: Cosmetic changes.
13178 * grub-core/script/execute.c (grub_script_arglist_to_argv):
13179 Refactored to perform wildcard expansion on arguments.
13180 * include/grub/script_sh.h (grub_script_wildcard_translator): New
13181 struct.
13182
13183 * tests/util/grub-shell.in: Fix quoting for read input.
13184
5f0c4aca
BC
131852010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13186
13187 Support for updating environment variables with matched substrings
13188 of regexp.
13189
13190 * tests/grub_cmd_regexp.in: New test.
13191 * Makefile.util.def: Rule for new test.
13192
13193 * grub-core/commands/regexp.c: New option -s to update environment
13194 variables with regexp matches.
13195
3759a35f
SJ
131962010-09-04 Szymon Janc <szymon@janc.net.pl>
13197
13198 * include/grub/file.h (grub_file): New member not_easly_seekable.
13199 (grub_file_seekable): New inline function.
13200 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
13201 easily seekable.
13202 (grub_gzio_open): Set not_easly_seekable.
13203 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
13204 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
13205
ed8c6dec
BC
132062010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13207
13208 Support for options to appear multiple times on cmdline.
13209
13210 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
13211 * grub-core/commands/extcmd.c: Support for repeatable option.
13212 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
13213 repeatable option support.
13214
13215 Refactor menuentry into a regular command.
13216
13217 * grub-core/commands/menuentry.c: New file, menuentry command
13218 implementation.
13219 * grub-core/Makefile.core.def: Rule update for normal.mod.
13220 * grub-core/normal/main.c: Moved menuentry creation to
13221 grub-core/commands/menuentry.c.
13222 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
13223 (grub_menu_execute_entry_real): Removed.
13224 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
13225 function.
13226 (grub_script_execute_menuentry): Removed.
13227 * grub-core/script/parser.y (menuentry): Removed.
13228 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
13229 * grub-core/script/yylex.l (menuentry): Removed.
13230 * include/grub/menu.h (grub_menu_init): New prototype.
13231 (grub_menu_fini): New prototype.
13232 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
13233 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
13234 (grub_script_execute_sourcecode): New prototype.
13235
dacd0cf0
BC
132362010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13237
13238 "return" command for GRUB script functions.
13239
13240 * tests/grub_script_return.in: New test.
13241 * Makefile.util.def: Rules for new test.
13242
13243 * grub-core/script/execute.c (grub_script_return): New function.
13244 * grub-core/script/main.c: Register/unregister return commaond.
13245 * include/grub/script_sh.h (grub_script_return): New prototype.
13246
52e72f9d
BC
132472010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13248
13249 "setparams" command to update positional parameters.
13250
13251 * tests/grub_script_setparams.in: New test.
13252 * Makefile.util.def: Rules for new test.
13253
13254 * grub-core/script/argv.c (grub_script_argv_make): New function.
13255 * grub-core/script/execute.c (replace_scope): New function.
13256 (grub_script_setparams): New function.
13257 * grub-core/script/lexer.c: Remove unused variables.
13258 * grub-core/script/main.c: Register/unregister setparams command.
13259 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
13260 (grub_script_setparams): New prototype.
13261
25b60c91
BC
132622010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13263
13264 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
13265 grub_free order.
13266
37e7bf68
BC
132672010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13268
13269 Support for passing block of commands as an argument to extcmds.
13270
13271 * Makefile.util.def: Rules for new test.
13272 * tests/grub_script_blockarg.in: New test.
13273 * grub-core/tests/test_blockarg.c: New file, block argument
13274 command used in the test.
13275
13276 * include/grub/extcmd.h (grub_extcmd_context): New struct.
13277 (grub_register_extcmd_prio): New function prototype.
13278 (grub_extcmd_dispatcher): New function prototype.
13279 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
13280 type.
13281 * include/grub/script_sh.h (struct grub_script): New members
13282 `children', `next_siblings' and `refcnt' for block arguments and
13283 reference counting.
13284 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
13285 (grub_script_arg): New member `script' for block argument.
13286 (grub_script_argv): New member `script' for block argument.
13287 (grub_parser_param): New member `scripts' for block argument.
13288 (grub_script_mem_free): New extern function prototype.
13289 (grub_script_ref): New function prototype.
13290 (grub_script_unref): New function prototype.
13291
13292 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
13293 extcmd form to support block arguments.
13294 * grub-core/script/argv.c: Block arguments support.
13295 * grub-core/script/execute.c: Likewise.
13296 * grub-core/script/lexer.c: Likewise.
13297 * grub-core/script/main.c: Likewise.
13298 * grub-core/script/script.c: Likewise.
13299 * grub-core/script/parser.y: Likewise. New `block' and `block0'
13300 non-terminals.
13301
13302 * grub-core/commands/acpi.c: Update extcmd implementations with
13303 grub_extcmd_context_t.
13304 * grub-core/commands/cat.c: Likewise.
13305 * grub-core/commands/echo.c: Likewise.
13306 * grub-core/commands/extcmd.c: Likewise.
13307 * grub-core/commands/hashsum.c: Likewise.
13308 * grub-core/commands/hdparm.c: Likewise.
13309 * grub-core/commands/help.c: Likewise.
13310 * grub-core/commands/hexdump.c: Likewise.
13311 * grub-core/commands/i386/cpuid.c: Likewise.
13312 * grub-core/commands/i386/pc/drivemap.c: Likewise.
13313 * grub-core/commands/i386/pc/halt.c: Likewise.
13314 * grub-core/commands/i386/pc/sendkey.c: Likewise.
13315 * grub-core/commands/iorw.c: Likewise.
13316 * grub-core/commands/keystatus.c: Likewise.
13317 * grub-core/commands/loadenv.c: Likewise.
13318 * grub-core/commands/ls.c: Likewise.
13319 * grub-core/commands/lspci.c: Likewise.
13320 * grub-core/commands/memrw.c: Likewise.
13321 * grub-core/commands/probe.c: Likewise.
13322 * grub-core/commands/search_wrap.c: Likewise.
13323 * grub-core/commands/setpci.c: Likewise.
13324 * grub-core/commands/sleep.c: Likewise.
13325 * grub-core/disk/loopback.c: Likewise.
13326 * grub-core/hello/hello.c: Likewise.
13327 * grub-core/loader/i386/bsd.c: Likewise.
13328 * grub-core/loader/xnu.c: Likewise.
13329 * grub-core/term/gfxterm.c: Likewise.
13330 * grub-core/term/serial.c: Likewise.
13331 * grub-core/tests/lib/functional_test.c: Likewise.
13332
888d1500
BC
133332010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13334
13335 Multi-line quoted strings support.
13336
13337 * grub-core/script/lexer.c (append_newline): Removed.
13338 (grub_script_lexer_yywrap): Refactored.
13339 (grub_script_lexer_init): Refactored.
13340 * grub-core/script/yylex.l (yywrap): New function.
13341 (grub_lexer_resplit): New function.
13342 (grub_lexer_unput): New function.
13343 * include/grub/script_sh.h (grub_lexer_param): New members, unput
13344 and resplit.
13345 * tests/grub_script_echo1.in: Added few more testcases.
13346
dda060dd
VS
133472010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
13348
13349 * grub-core/kern/misc.c: Don't add abort alias in utils.
13350 Reported by: echoline.
13351
6556eba9
BC
133522010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
13353
13354 Add missing files into "make dist" tarball for other platforms.
13355
13356 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
13357 * conf/Makefile.common (dist_noinst_DATA): New variable.
13358 * conf/Makefile.extra-dist: Added missing make dist files.
13359 * grub-core/Makefile.core.def: Likewise.
13360
c8e7bf5f
VS
133612010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
13362
13363 Compress grub_prefix.
13364
13365 * grub-core/boot/i386/pc/lnxboot.S: Use
13366 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
13367 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
13368 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
13369 GRUB_MACHINE_PREFIX_END. All users updated.
13370 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
13371 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
13372 + 0x40.
13373 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
13374 * util/grub-mkimage.c (image_target_desc): Change data_end to
13375 prefix_end. All users updated.
13376
a7c00cdb
VS
133772010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
13378
13379 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
13380 value.
13381 (grub_openbsd_boot): Likewise.
13382 (grub_netbsd_boot): Likewise.
13383 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
13384 (grub_xnu_boot): Likewise.
13385
9f915872
VS
133862010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13387
13388 * configure.ac: Clean LIBS variable after tests.
13389
efa1bee7
CW
133902010-09-02 Colin Watson <cjwatson@ubuntu.com>
13391
13392 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
13393
61d720e5
VS
133942010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13395
13396 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
13397 echo if libdevmapper will be used.
13398
ef8e0ec8
IT
133992010-09-02 Ian Turner <Ian.Turner@deshaw.com>
13400
13401 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
13402 constant for the same file.
13403
03e261d8
VS
134042010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13405
13406 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
13407
c2a4eba6
CW
134082010-09-02 Colin Watson <cjwatson@ubuntu.com>
13409
13410 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
13411 grub-core/*.pp.
13412
9056cbf3
CW
134132010-09-02 Colin Watson <cjwatson@ubuntu.com>
13414
13415 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
13416 required by the boot protocol.
13417
13418 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
13419 ebp and edi members.
13420 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
13421 state.ebp and state.edi.
13422 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
13423 %ebp and %edi according to grub_relocator32_ebp and
13424 grub_relocator32_edi respectively.
13425 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
13426 and state.edi.
13427
529cc99a
VS
134282010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13429
13430 Add i386-pc-pxe image target.
13431
13432 * util/grub-mkimage.c (image_target_desc): New enum value
13433 IMAGE_I386_PC_PXE.
13434 (image_targets): New target i386-pc-pxe.
13435 (generate_image): Handle i386-pc-pxe image.
13436
9a093920
VS
134372010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13438
13439 Fix grub_pxe_scan.
13440
13441 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
13442 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
13443 All users updated.
13444 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
13445 (grub_pxe_pxenv): Correct type.
13446
f9cefc4e
CW
134472010-09-01 Colin Watson <cjwatson@ubuntu.com>
13448
13449 * NEWS: Document most of the important changes since 1.98.
13450
4066f57f
CW
134512010-09-01 Colin Watson <cjwatson@ubuntu.com>
13452
13453 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
13454 generated manual page) a little.
13455
da2891f9
CW
134562010-09-01 Colin Watson <cjwatson@ubuntu.com>
13457
13458 * docs/grub.texi: Add myself as an author.
13459
ad717fae
VS
134602010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
13461
13462 * Makefile.util.def (libgrub.a): Add missing sunpc.
13463 Reported by: Seth Goldberg.
13464
eefe8abd
VS
134652010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13466
13467 Interrupt wrapping and code simplifications.
13468
9494ef9a
VS
13469 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
13470 x86_noieee1275 which are functionaly equivalent in this case.
13471 (grub-install): Make source on each platform explicit. Enable on
13472 all noemu.
13473 * gentpl.py (x86_efi_pc): Removed group.
13474 (x86_noefi): Likewise.
13475 (i386_noefi): Likewise.
13476 (x86_noieee1275): Likewise.
13477 (i386_noieee1275): Likewise.
13478 (i386_noefi_noieee1275): Likewise.
13479 (i386_pc_qemu_coreboot): Likewise.
13480 (i386_coreboot_multiboot): Likewise.
13481 (i386_pc_coreboot_multiboot_qemu): Likewise.
13482 (x86_noefi_mips): Likewise.
13483 (noieee1275): Likewise.
13484 (ieee1275_mips): Likewise.
13485 (noemu_noieee1275): Likewise.
13486 (cmos): New group.
13487 (usb): Likewise.
13488 (videoinkernel): Likewise.
13489 (videomodules): Likewise.
eefe8abd 13490 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
13491 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
13492 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
13493 include/grub/loader.h, include/grub/msdos_partition.h,
13494 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
13495 include/grub/machine/console.h, include/grub/machine/vga.h,
13496 include/grub/machine/vbe.h, include/grub/machine/init.h,
13497 include/grub/machine/kernel.h, include/grub/cpu/time.h,
13498 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 13499 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
13500 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
13501 * grub-core/Makefile.core.def (kernel): Explicit the source for
13502 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
13503 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
13504 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
13505 Use videoinkernel tag.
13506 (usb): Enable on all usb.
13507 (usbserial_common): Likewise.
13508 (usbserial_pl2303): Likewise.
13509 (usbserial_ftdi): Likewise.
13510 (uhci): Enable on all x86.
13511 (ohci): Enable on all pci.
13512 (cmostest): Enable on all CMOS.
13513 (acpi): Include commands/acpi.c on all platforms.
13514 (halt): Add relevant lib/*/halt.c.
13515 (hdparm): Enable on all pci.
13516 (lspci): Likewise.
13517 (usbtest): Enable on all usb.
13518 (ata): Enable on all pci.
13519 (ata_pthru): Likewise.
13520 (usbms): Enable on all usb.
13521 (usb_keyboard): Likewise.
13522 (font): Use tag videomodules.
13523 (bufio): Likewise.
13524 (datetime): Use tag cmos. Enable on all noemu.
13525 (mmap): Use tags common and x86.
13526 (gfxterm): Use tag videomodules.
13527 (bitmap): Likewise.
13528 (bitmap_scale): Likewise.
13529 (video_fb): Likewise.
13530 (video): Likewise.
13531 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
13532 adjust padding accordingly. All users updated.
13533 (grub_ohci_transaction): Fix bad format specification.
13534 (GRUB_MOD_INIT): Add asserts for struct size.
13535 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
13536 (grub_alloc_td): Likewise.
13537 (grub_free_queue): Likewise.
13538 (grub_uhci_transfer): Likewise.
13539 (grub_uhci_transaction): Fix bad format specification.
13540 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
13541 (grub_usb_bulk_readwrite): Likewise.
13542 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
13543 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
13544 Made static.
13545 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
13546 Made static.
13547 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
13548 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
13549 Transformed into C.
13550 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
13551 Moved from here ...
13552 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
13553 ... here. Transformed into C. Made static.
13554 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
13555 Moved from here ...
13556 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
13557 ... here. Transformed into C. Made static.
13558 * grub-core/kern/i386/pc/startup.S
13559 (grub_biosdisk_check_int13_extensions): Moved from here ...
13560 * grub-core/disk/i386/pc/biosdisk.c
13561 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
13562 Made static.
13563 * grub-core/kern/i386/pc/startup.S
13564 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
13565 * grub-core/disk/i386/pc/biosdisk.c
13566 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
13567 Transformed into C. Made static.
13568 * grub-core/kern/i386/pc/startup.S
13569 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
13570 * grub-core/disk/i386/pc/biosdisk.c
13571 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
13572 Transformed into C. Made static.
13573 * grub-core/kern/i386/pc/startup.S
13574 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
13575 * grub-core/disk/i386/pc/biosdisk.c
13576 (grub_biosdisk_get_diskinfo_standard): ... here.
13577 Transformed into C. Made static.
13578 * grub-core/kern/i386/pc/startup.S
13579 (grub_biosdisk_get_num_floppies): Moved from here ...
13580 * grub-core/disk/i386/pc/biosdisk.c
13581 (grub_biosdisk_get_num_floppies): ... here.
13582 Transformed into C. Made static.
13583 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
13584 New function.
13585 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
13586 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
13587 Transformed into C. Made static.
13588 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
13589 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
13590 Transformed into C. Made static.
13591 * grub-core/kern/i386/ieee1275/init.c: Removed.
13592 * grub-core/kern/i386/misc.S: Likewise.
13593 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
13594 Splitted from here ...
13595 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
13596 Transformed into C. Made static. All users updated.
13597 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
13598 Transformed into C. Made static. All users updated.
13599 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
13600 Moved from here...
13601 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
13602 Transformed into C. Made static. All users updated.
13603 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
13604 Moved from here...
13605 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
13606 Transformed into C. Made static. All users updated.
13607 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
13608 Removed (replaced by C version).
13609 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
13610 Moved from here...
13611 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
13612 Transformed into C. Made static.
13613 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
13614 Moved from here...
13615 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
13616 ... here. Transformed into C.
13617 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
13618 Moved from here...
13619 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
13620 ... here. Transformed into C.
13621 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
13622 Moved from here...
13623 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
13624 ... here. Transformed into C. Made static.
13625 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
13626 Moved from here...
13627 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
13628 ... here. Transformed into C.
21ed554b
VS
13629 * grub-core/kern/i386/pc/startup.S
13630 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
13631 * grub-core/video/i386/pc/vbe.c
13632 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
13633 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
13634 Moved from here...
13635 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
13636 ... here. Transformed into C.
13637 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
13638 Moved from here...
13639 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
13640 ... here. Transformed into C.
13641 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
13642 Moved from here...
13643 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
13644 ... here. Transformed into C.
13645 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
13646 Moved from here...
13647 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
13648 ... here. Transformed into C.
13649 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
13650 Moved from here...
13651 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
13652 ... here. Transformed into C. Made static.
13653 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
13654 Moved from here...
13655 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
13656 ... here. Transformed into C. Made static.
13657 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
13658 Moved from here...
13659 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
13660 ... here. Transformed into C. Made static.
13661 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
13662 pxe_rm_entry as third argument.
13663 (grub_bios_interrupt): New function.
13664 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
13665 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
13666 of calling grub_stop.
13667 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
13668 * grub-core/lib/efi/halt.c (grub_halt): ...here.
13669 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
13670 * grub-core/lib/emu/halt.c (grub_halt): ... here.
13671 * grub-core/lib/i386/halt.c: Moved from here ...
13672 * grub-core/lib/i386/halt.c: ... here.
13673 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
13674 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
13675 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
13676 grub_stop_floppy.
13677 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
13678 * include/grub/i386/coreboot/init.h: Removed.
13679 * include/grub/i386/multiboot/init.h: Likewise.
13680 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
13681 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
13682 * include/grub/i386/pc/int.h: New file.
13683 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
13684 (grub_pxe_scan): Removed.
13685 (grub_pxe_call): Update prototype.
13686 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
13687 prototypes.
13688 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
13689 * include/grub/i386/qemu/init.h: Removed.
13690 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
13691 noreturn.
13692 (grub_halt): Likewise.
13693 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
13694 (grub_reboot): Likewise.
13695 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
13696 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
13697 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
13698
215dd471
RM
136992010-08-30 Robert Millan <rmh@gnu.org>
13700
13701 * NEWS: Document addition of ZFS support in `grub-install' and
13702 `grub-mkconfig'.
13703
ebd65b82
BC
137042010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
13705
13706 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
13707 dprintf output.
13708
11721d19
VS
137092010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13710
13711 Remove leftover embedding of font objects.
13712
13713 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
13714 * util/grub-install.in (font): Removed.
13715 * util/grub-mkimage.c (generate_image): Remove font support. All users
13716 updated.
13717
37837d4e
VS
137182010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13719
13720 Remove leftover embedding of font objects.
13721
13722 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
13723 * util/grub-install.in (font): Removed.
13724 * util/grub-mkimage.c (generate_image): Remove font support. All users
13725 updated.
13726
b4c1aae0
VS
137272010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13728
13729 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 13730 Reported by: Ian Turner
b4c1aae0 13731
8920a08d
VS
137322010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13733
13734 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
13735 timeout to avoid indefinite boot stalling.
13736
f21db033
VS
137372010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13738
13739 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
13740 (grub_env_write_color_highlight): Likewise.
13741
9a9de209
VS
137422010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13743
13744 * grub-core/normal/term.c (print_more): Return to normal and not
13745 to standard state after printing "---MORE---".
13746
3dca01d7
VS
137472010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13748
13749 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
13750 Mask out the bit 0x80 since it has other meaning that specifiing color.
13751
0b986c40
VS
137522010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13753
13754 New relocator. Allows for more kernel support and more straightforward
13755 loader writing.
13756
13757 * Makefile.am (BOOTTARGET): New variable.
13758 (QEMU32): Likewise.
13759 (linux.init.x86_64): New target.
13760 (linux.init.i386): Likewise.
13761 (multiboot.elf): Likewise.
13762 (kfreebsd.elf): Likewise.
13763 (kfreebsd.aout): Likewise.
13764 (pc-chainloader.elf): Likewise.
13765 (pc-chainloader.bin): Likewise.
13766 (ntldr.elf): Likewise.
13767 (ntldr.bin): Likewise.
13768 (multiboot2.elf): Likewise.
13769 (kfreebsd.init.x86_64): Likewise.
13770 (kfreebsd.init.i386): Likewise.
13771 (knetbsd.init.i386): Likewise.
13772 (kopenbsd.init.i386): Likewise.
13773 (knetbsd.init.x86_64): Likewise.
13774 (kopenbsd.init.x86_64): Likewise.
13775 (linux-initramfs.i386): Likewise.
13776 (linux-initramfs.x86_64): Likewise.
13777 (kfreebsd-mfsroot.i386.img): Likewise.
13778 (knetbsd.image.i386): Likewise.
13779 (kopenbsd.image.i386): Likewise.
13780 (kopenbsd.image.x86_64): Likewise.
13781 (knetbsd.miniroot-image.i386.img): Likewise.
13782 (kfreebsd-mfsroot.x86_64.img): Likewise.
13783 (knetbsd.image.x86_64): Likewise.
13784 (knetbsd.miniroot-image.x86_64.img): Likewise.
13785 (kfreebsd-mfsroot.i386.gz): Likewise.
13786 (bootcheck-kfreebsd-i386): Likewise.
13787 (kfreebsd-mfsroot.x86_64.gz): Likewise.
13788 (bootcheck-kfreebsd-x86_64): Likewise.
13789 (knetbsd.miniroot-image.i386.gz): Likewise.
13790 (bootcheck-knetbsd-i386): Likewise.
13791 (bootcheck-kopenbsd-i386): Likewise.
13792 (bootcheck-kopenbsd-x86_64): Likewise.
13793 (knetbsd.miniroot-image.x86_64.gz): Likewise.
13794 (bootcheck-knetbsd-x86_64): Likewise.
13795 (bootcheck-linux-i386): Likewise.
13796 (bootcheck-linux-x86_64): Likewise.
13797 (bootcheck-linux16-i386): Likewise.
13798 (bootcheck-linux16-x86_64): Likewise.
13799 (bootcheck-multiboot): Likewise.
13800 (bootcheck-multiboot2): Likewise.
13801 (bootcheck-kfreebsd-aout): Likewise.
13802 (bootcheck-pc-chainloader): Likewise.
13803 (bootcheck-ntldr): Likewise.
13804 (CLEANFILES): Add new targets.
13805 (BOOTCHECKS): New variable.
13806 (.PHONY): Add bootchecks.
13807 (SUCCESSFUL_BOOT_STRING): New variable.
13808 (BOOTCHECK_TIMEOUT): Likewise.
13809 (bootcheck): New target
13810 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
13811 * configure.ac: Correct efiemu excuse.
13812 * docs/grub.texi (Supported kernels): New chapter.
13813 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
13814 include/grub/mm_private.h. Simplify inclusion of
13815 include/grub/boot.h, include/grub/loader.h
13816 and include/grub/msdos_partition.h
13817 (KERNEL_HEADER_FILES) [i386_coreboot]:
13818 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
13819 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
13820 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
13821 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
13822 include/grub/machine/loader.h.
13823 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
13824 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
13825 extra_dist.
13826 (pci.mod): Enable on i386-multiboot.
13827 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
13828 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
13829 i386-qemu.
13830 (relocator.mod): Rewritten.
13831 (aout.mod): Enable on all x86.
13832 (bsd.mod): Likewise.
13833 (ntldr.mod): New module.
13834 (linux.mod): Use loader/i386/linux.c on all x86.
13835 (xnu.mod): Enable on all x86.
13836 (vga_text.mod): disable on EFI and QEMU.
13837 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
13838 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
13839 * grub-core/efiemu/loadcore.c: Likewise.
13840 * grub-core/efiemu/main.c: Likewise.
13841 (grub_efiemu_exit_boot_services): Removed.
13842 (grub_efiemu_finish_boot_services): Likewise.
13843 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
13844 function.
13845 * grub-core/efiemu/i386/nocfgtables.c: New file.
13846 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
13847 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
13848 (grub_efi_finish_boot_services): Moved from here ...
13849 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
13850 Fille finish memory map and related data.
13851 (finish_mmap_buf): New variable.
13852 (grub_efi_uintn_t finish_mmap_size): Likewise.
13853 (grub_efi_uintn_t finish_key): Likewise.
13854 (grub_efi_uintn_t finish_desc_size): Likewise.
13855 (grub_efi_uint32_t finish_desc_version): Likewise.
13856 (grub_efi_is_finished): Likewise.
13857 (grub_efi_get_memory_map): Use saved memory map if EFI is already
13858 finished.
13859 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
13860 (grub_elf64_phdr_iterate): Likewise.
13861 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
13862 (grub_os_area_size): Likewise.
13863 (grub_machine_init): Don't reserve os area.
13864 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
13865 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
13866 * grub-core/kern/i386/loader.S: Removed.
13867 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
13868 (grub_os_area_size): Likewise.
13869 (grub_machine_init): Don't reserve os area.
13870 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
13871 Don't call grub_dl_unload_all.
13872 Don't include loader.S.
13873 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
13874 Declare the memory after _end as available.
13875 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 13876 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 13877 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
13878 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
13879 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
13880 * include/grub/mm_private.h (grub_mm_header): ... here.
13881 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
13882 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
13883 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
13884 (grub_mm_region): ..here. Removed addr. Added pre_size.
13885 All users updated.
13886 * grub-core/kern/mm.c (base): Renamed to ...
13887 (grub_mm_base): ... this. Made global.
13888 (grub_real_malloc): Alloc from end of region.
13889 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
13890 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
13891 * grub-core/kern/powerpc/cache_flush.S: ... here.
13892 * grub-core/lib/efi/relocator.c: New file.
13893 * grub-core/lib/i386/relocator.c: Rewritten.
13894 * grub-core/lib/i386/relocator16.S: New file.
13895 * grub-core/lib/i386/relocator32.S: Likewise.
13896 * grub-core/lib/i386/relocator64.S: Likewise.
13897 * grub-core/lib/i386/relocator_asm.S: Rewritten.
13898 * grub-core/lib/i386/relocator_common.S: New file.
13899 * grub-core/lib/ieee1275/relocator.c: Likewise.
13900 * grub-core/lib/mips/relocator.c: Rewritten.
13901 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
13902 stylistic adjustments.
13903 * grub-core/lib/powerpc/relocator.c: New file.
13904 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
13905 * grub-core/lib/relocator.c: Rewritten.
13906 * grub-core/lib/x86_64/relocator_asm.S: New file.
13907 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
13908 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
13909 (bsd_tag): New struct.
13910 (tags): New variable.
13911 (tags_last): Likewise.
13912 (netbsd_module): New struct.
13913 (netbsd_mods): New variable.
13914 (netbsd_mods_last): Likewise.
13915 (openbsd_opts): New parameter "serial".
13916 (OPENBSD_SERIAL_ARG): New definition.
13917 (netbsd_opts): New parameter "serial".
13918 (NETBSD_SERIAL_ARG): New definition.
13919 (grub_freebsd_add_meta): Reorganised into ...
13920 (grub_bsd_add_meta): ...this. All users updated.
13921 (grub_freebsd_add_mmap): Reorganised into ...
13922 (generate_e820_mmap): ...this...
13923 (grub_bsd_add_mmap): ...and this. All users updated.
13924 (grub_freebsd_list_modules): Use tags.
13925 (grub_netbsd_add_meta_module): New function.
13926 (grub_netbsd_list_modules): Likewise.
13927 (grub_freebsd_boot): Use relocator and finish EFI.
13928 (grub_openbsd_boot): Likewise.
13929 (grub_netbsd_setup_video): New function.
13930 (grub_netbsd_add_modules): Likewise.
13931 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
13932 and finish EFI.
13933 (grub_bsd_unload): Unload tags.
13934 (grub_bsd_load_aout): Use relocator.
13935 (grub_bsd_elf32_size_hook): New function.
13936 (grub_bsd_elf32_hook): Use relocator.
13937 (grub_bsd_elf64_size_hook): New function.
13938 (grub_bsd_elf64_hook): Use relocator.
13939 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
13940 (grub_bsd_load): Zero-out openbsd_ramdisk.
13941 (grub_bsd_load): Use relocator.
13942 (grub_cmd_openbsd): Support serial.
13943 (grub_cmd_netbsd): Support modules.
13944 (grub_cmd_freebsd_module): Use relocator.
13945 (grub_netbsd_module_load): New function.
13946 (grub_cmd_netbsd_module): Likewise.
13947 (grub_cmd_openbsd_ramdisk): Likewise.
13948 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
13949 kopenbsd_ramdisk.
13950 (GRUB_MOD_FINI): Unregister new commands.
13951 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
13952 (grub_freebsd_load_elfmodule_obj): Use relocator.
13953 (grub_freebsd_load_elfmodule): Likewise.
13954 (grub_freebsd_load_elf_meta): Likewise.
13955 (grub_netbsd_load_elf_meta): New function.
13956 (grub_openbsd_find_ramdisk): Likewise.
13957 * grub-core/loader/i386/bsd_helper.S: Removed.
13958 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
13959 * grub-core/loader/i386/bsd_trampoline.S: Removed.
13960 * grub-core/loader/i386/efi/linux.c: Likewise.
13961 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
13962 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
13963 (DEFAULT_VIDEO_MODE): Likewise.
13964 (real_mode_target): New variable.
13965 (prot_mode_target): Likewise.
13966 (initrd_mem_target): Likewise.
13967 (relocator): Likewise.
13968 (efi_mmap_buf): Likewise.
13969 (efi_mmap_size): Likewise.
13970 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
13971 (free_pages): Use relocator.
13972 (allocate_pages): Account for efi_mmap and use relocator. Return error.
13973 (grub_linux_setup_video): Return error.
13974 (grub_linux_trampoline_start): Removed.
13975 (grub_linux_trampoline_end): Likewise.
13976 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
13977 andd video parameters depending on firmware.
13978 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
13979 [GRUB_MACHINE_EFI]: Pass EFI parameters.
13980 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
13981 (grub_cmd_initrd): Use relocator.
13982 * grub-core/loader/i386/linux_trampoline.S: Removed.
13983 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
13984 (elf_sec_entsize): Likewise.
13985 (elf_sec_shstrndx): Likewise.
13986 (elf_sections): Likewise.
13987 (grub_multiboot_load): Use relocator.
13988 (grub_multiboot_get_mbi_size): Account for sections.
13989 (grub_multiboot_make_mbi): Use relocator and support sections.
13990 (grub_multiboot_add_elfsyms): New function.
13991 (grub_multiboot_free_mbi): Free sections.
13992 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
13993 (grub_linux_real_target): Likewise.
13994 (grub_linux_real_chunk): Likewise.
13995 (grub_linux16_prot_size): Likewise.
13996 (grub_linux16_boot): Use relocator.
13997 (grub_linux_unload): Unload relocator.
13998 (grub_cmd_linux): Use relocator.
13999 (grub_cmd_initrd): Likewise.
14000 * grub-core/loader/i386/pc/ntldr.c: New file.
14001 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
14002 Don't try to guess CPU frequency.
14003 (grub_xnu_set_video): Stretch bitmap.
14004 (grub_xnu_boot): Use relocator.
14005 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
14006 (grub_linux_unload): Free relocator.
14007 (grub_linux_load32): Use relocator.
14008 (grub_linux_load64): Likewise.
14009 (grub_cmd_initrd): Likewise.
14010 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
14011 (grub_multiboot_unload): Unload relocator.
14012 (grub_cmd_multiboot): Use relocator.
14013 (grub_cmd_module): Likewise.
14014 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
14015 Use relocator and support sections.
14016 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
14017 (elf_sec_entsize): Likewise.
14018 (elf_sec_shstrndx): Likewise.
14019 (elf_sections): Likewise.
14020 (grub_multiboot_load): Use relocator.
14021 (grub_multiboot_get_mbi_size): Account for sections.
14022 (grub_multiboot_make_mbi): Use relocator and support sections.
14023 (grub_multiboot_add_elfsyms): New function.
14024 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
14025 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
14026 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
14027 Prototype changed. All users updated.
14028 (grub_xnu_align_heap): Simplified.
14029 (grub_xnu_writetree_toheap): Likewise.
14030 (grub_xnu_unload): Unload relocator.
14031 (grub_cmd_xnu_kernel): Use relocator.
14032 (grub_cmd_xnu_kernel64): Likewise.
14033 (grub_xnu_register_memory): Simplified.
14034 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
14035 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
14036 EFI is finished.
14037 (grub_console_checkkey): Likewise.
14038 (grub_console_getkey): Likewise.
14039 (grub_console_getwh): Likewise.
14040 (grub_console_getxy): Likewise.
14041 (grub_console_gotoxy): Likewise.
14042 (grub_console_cls): Likewise.
14043 (grub_console_setcolorstate): Likewise.
14044 (grub_console_setcursor): Likewise.
14045 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
14046 * grub-core/tests/boot/kbsd.init-i386.S: New file.
14047 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
14048 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
14049 * grub-core/tests/boot/kernel-8086.S: Likewise.
14050 * grub-core/tests/boot/kernel-i386.S: Likewise.
14051 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
14052 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
14053 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
14054 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
14055 * grub-core/tests/boot/knetbsd.cfg: Likewise.
14056 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
14057 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
14058 * grub-core/tests/boot/linux.cfg: Likewise.
14059 * grub-core/tests/boot/linux.init-i386.S: Likewise.
14060 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
14061 * grub-core/tests/boot/linux16.cfg: Likewise.
14062 * grub-core/tests/boot/multiboot.cfg: Likewise.
14063 * grub-core/tests/boot/multiboot2.cfg: Likewise.
14064 * grub-core/tests/boot/ntldr.cfg: Likewise.
14065 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
14066 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
14067 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
14068 New definition.
14069 * include/grub/dl.h (grub_dl_unload_all): Removed.
14070 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
14071 (grub_efi_finish_boot_services): Change prototype.
14072 (grub_efi_is_finished): New variable.
14073 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
14074 Changed prototype.
14075 (grub_efiemu_finish_boot_services): Removed.
14076 (grub_machine_efiemu_init_tables): New prototype.
14077 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
14078 (grub_elf64_phdr_iterate): Likewise.
14079 * include/grub/i386/bsd.h: Include relocator.h.
14080 (freebsd_tag_header): New struct.
14081 (grub_openbsd_bios_mmap): Removed.
14082 (grub_unix_real_boot): Removed.
14083 (grub_freebsd_load_elfmodule32): Changed prototype.
14084 (grub_freebsd_load_elfmodule_obj64): Likewise.
14085 (grub_freebsd_load_elf_meta32): Likewise.
14086 (grub_freebsd_load_elf_meta64): Likewise.
14087 (grub_freebsd_add_meta): Removed.
14088 (grub_netbsd_load_elf_meta32): New prototype.
14089 (grub_netbsd_load_elf_meta64): Likewise.
14090 (grub_bsd_add_meta): Likewise.
14091 (grub_openbsd_ramdisk_descriptor): New struct.
14092 (grub_openbsd_find_ramdisk32): New prototype.
14093 (grub_openbsd_find_ramdisk64): Likewise.
14094 * include/grub/i386/coreboot/loader.h: Removed.
14095 * include/grub/i386/efi/loader.h: Likewise.
14096 * include/grub/i386/ieee1275/loader.h: Likewise.
14097 * include/grub/i386/linux.h (linux_kernel_header): Change void *
14098 to grub_uint32_t.
14099 * include/grub/i386/loader.h: Removed.
14100 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
14101 value.
14102 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
14103 (grub_phys_addr_t): New type.
14104 (grub_vtop): New inline function.
14105 (grub_map_memory): Likewise.
14106 (grub_unmap_memory): Likewise.
14107 * include/grub/i386/multiboot/loader.h: Removed.
14108 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
14109 (NETBSD_BTINFO_CONSOLE): New definition.
14110 (NETBSD_BTINFO_SYMTAB): Likewise.
14111 (NETBSD_BTINFO_MODULES): Likewise.
14112 (NETBSD_BTINFO_FRAMEBUF): Likewise.
14113 (grub_netbsd_bootinfo): New struct.
14114 (grub_netbsd_btinfo_common): Use explicit bitsize.
14115 (grub_netbsd_btinfo_mmap_entry): Removed.
14116 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
14117 (grub_netbsd_btinfo_bootdisk): New struct.
14118 (grub_netbsd_btinfo_symtab): Likewise.
14119 (grub_netbsd_btinfo_serial): Likewise.
14120 (grub_netbsd_btinfo_modules): Likewise.
14121 (grub_netbsd_btinfo_framebuf): Likewise.
14122 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
14123 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
14124 Likewise.
14125 (grub_openbsd_bootargs): Use explicit bitsize.
14126 (grub_openbsd_bootarg_console): New struct.
14127 (GRUB_OPENBSD_COM_MAJOR): New definition.
14128 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
14129 * include/grub/i386/pc/efiemu.h: Removed.
14130 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
14131 * include/grub/i386/qemu/loader.h: Removed.
14132 * include/grub/i386/relocator.h: Rewritten.
14133 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
14134 * include/grub/mips/memory.h: New file.
14135 * include/grub/mips/multiboot.h: Rewritten.
14136 * include/grub/mips/relocator.h: Rewritten.
14137 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
14138 (grub_vtop): New function.
14139 (grub_map_memory): Likewise.
14140 (grub_unmap_memory): Likewise.
14141 * include/grub/misc.h (ALIGN_DOWN): New definition.
14142 * include/grub/mm.h (grub_mm_check_real): New proto.
14143 (GRUB_MM_CHECK): New definition.
14144 * include/grub/mm_private.h: New file.
14145 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
14146 (grub_multiboot_get_mbi_size): Removed.
14147 (grub_multiboot_make_mbi): Change prottype.
14148 (grub_multiboot_set_accepts_video): New proto.
14149 (grub_multiboot_add_elfsyms): Likewise.
14150 (grub_multiboot_payload_eip): New variable.
14151 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
14152 New prototype.
14153 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
14154 New definition.
14155 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
14156 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
14157 * include/grub/powerpc/ieee1275/loader.h: Removed.
14158 * include/grub/powerpc/memory.h: New file.
14159 * include/grub/powerpc/relocator.h: Likewise.
14160 * include/grub/relocator.h: Likewise.
14161 * include/grub/relocator_private.h: Likewise.
14162 * include/grub/sparc64/ieee1275/loader.h: Removed.
14163 * include/grub/x86_64/memory.h: New file.
14164 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
14165 (grub_xnu_heap_malloc): Likewise.
14166 (grub_xnu_heap_real_start): Removed.
14167 (grub_xnu_heap_start): Likewise.
14168 (grub_xnu_relocator): New variable.
14169 (grub_xnu_heap_target_start): Likewise.
14170 * tests/util/grub-shell.in: Support non-pc.
14171 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 14172
5303b85d
VS
141732010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14174
14175 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
14176 on malloc error.
14177 (grub_bidi_logical_to_visual): Check that malloc succeded.
14178 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
14179 puts.
14180 (grub_xputs_normal): Likewise.
14181
d768d159
VS
141822010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14183
14184 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
14185 extra_dist.
14186
141872010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14188
14189 * grub-core/efiemu/runtime/efiemu.sh: Removed.
14190
5bf84df4
VS
141912010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14192
14193 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
14194
3626810e
VS
141952010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14196
14197 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
14198 dprintf.
14199
a7363f53
BC
142002010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
14201
14202 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
14203
902f75f6
VS
142042010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14205
14206 * grub-core/normal/term.c (print_more): Fix a memory leak.
14207 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
14208 (grub_xputs_normal): Likewise.
14209
3c707967
VS
142102010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14211
14212 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
14213 the begining of the string
14214
2053cc07
VS
142152010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14216
14217 * grub-core/script/script.c (grub_script_parse): Free parsed on
14218 failure.
14219
46422ebf
VS
142202010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14221
14222 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
14223 on failure.
14224
9e0fa3f6
VS
142252010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14226
14227 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
14228 return.
14229
3393cf16
VS
142302010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14231
14232 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
14233 (scroll_up): Fix a memory leak.
14234
b17540cb
VS
142352010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14236
14237 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
14238 errors.
14239
67140446
VS
142402010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
14241
14242 Handle USB pendrives exposed as floppies.
14243
14244 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
14245 floppy.
14246 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
14247 Check for partitions on all devices.
14248
e35e46fc
VS
142492010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14250
14251 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
14252 (readkey): Likewise.
14253
d24c6190
BC
142542010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
14255
14256 Multiple variable names support to "export" command.
14257
14258 * normal/context.c (grub_cmd_export): "export" command supports
14259 multiple variable names.
14260
04ddcc6a
ST
142612010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
14262
14263 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
14264 --target=drive output to Mach device name.
14265
0c8b61d8
BC
142662010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14267
14268 New Automake based build system for GRUB.
14269
14270 * ABOUT-NLS: New file.
14271 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
14272 in Makefile.util.def file.
14273 * Makefile.util.def: New file. Autogen build definitions file for
14274 GRUB host utils.
14275 * conf/Makefile.common: New file. Common variables for GRUB host
14276 utils and target modules.
14277 * conf/Makefile.extra-dist: New file. Extra files for make dist.
14278 * docs/Makefile.am: New file. Automake file for docs.
14279 * gentpl.py: New file. Python script to generate Autogen
14280 template.
14281 * grub-core/Makefile.am: New file. GRUB target modules' rules
14282 that doesn't fit in Makefile.core.def file.
14283 * grub-core/Makefile.core.def: New file. Autogen build
14284 definitions file for GRUB target modules.
14285 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
14286 specific setjmp.S file.
14287 * po/Makefile.am: New file.
14288
14289 * .bzrignore: New ignores.
14290 * INSTALL: New requirements, without Ruby.
14291 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
14292 * autogen.sh: Updated to invoke autogen as necessary.
14293 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
14294 and defines for Automake conditionals.
14295 * geninit.sh: Refactoring.
14296
14297 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
14298 necessary.
14299 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
14300 New prototype.
14301
14302 * include/grub/test.h: Fix functional test modules' naming.
14303 * grub-core/tests/example_functional_test.c: Fix test module name.
14304
14305 * util/misc.c: Hosted versions' of grub functions for libgrub.a
14306 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
14307 * util/grub-editenv.c: Likewise.
14308 * util/grub-fstest.c: Likewise.
14309 * util/grub-mkdevicemap.c: Likewise.
14310 * util/grub-mkfont.c: Likewise.
14311 * util/grub-mkimage.c: Likewise.
14312 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14313 * util/grub-probe.c: Likewise.
14314 * util/grub-script-check.c: Likewise.
14315 * util/i386/pc/grub-setup.c: Likewise.
14316 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14317
14318 * tests/util/grub-shell.in: Fix override directory path.
14319 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
14320 * util/import_gcry.py: Create Makefile.gcry.def file instead.
14321
14322 * util/lvm.c: Update #includes.
14323 * util/raid.c: Likewise.
14324 * util/resolve.c: Likewise.
14325 * grub-core/bus/emu/pci.c: Likewise.
14326 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
14327 * grub-core/lib/posix_wrap/string.h: Likewise.
14328 * grub-core/kern/emu/main.c: Likewise.
14329
14330 * grub-core/gensymlist.sh: New file. Script for generating kernel
14331 symbols file.
14332 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
14333
14334 * grub-core/gentrigtables.c: Fix unused variable warnings.
14335
14336 * Makefile.in: Removed.
14337 * conf/any-emu.rmk: Removed.
14338 * conf/common.rmk: Removed.
14339 * conf/i386-coreboot.rmk: Removed.
14340 * conf/i386-efi.rmk: Removed.
14341 * conf/i386-ieee1275.rmk: Removed.
14342 * conf/i386-multiboot.rmk: Removed.
14343 * conf/i386-pc.rmk: Removed.
14344 * conf/i386-qemu.rmk: Removed.
14345 * conf/i386.rmk: Removed.
14346 * conf/mips-yeeloong.rmk: Removed.
14347 * conf/mips.rmk: Removed.
14348 * conf/powerpc-ieee1275.rmk: Removed.
14349 * conf/sparc64-ieee1275.rmk: Removed.
14350 * conf/tests.rmk: Removed.
14351 * conf/x86-efi.rmk: Removed.
14352 * conf/x86_64-efi.rmk: Removed.
14353 * gendistlist.sh: Removed.
14354 * geninitheader.sh: Removed.
14355 * genkernsyms.sh.in: Removed.
14356 * genmk.rb: Removed.
14357 * gensymlist.sh.in: Removed.
14358 * mkinstalldirs: Removed.
14359 * boot: Moved ...
14360 * grub-core/boot: ... to here.
14361 * bus: Moved ...
14362 * grub-core/bus: ... to here.
14363 * commands: Moved ...
14364 * grub-core/commands: ... to here.
14365 * disk: Moved ...
14366 * grub-core/disk: ... to here.
14367 * efiemu: Moved ...
14368 * grub-core/efiemu: ... to here.
14369 * font: Moved ...
14370 * grub-core/font: ... to here.
14371 * fs: Moved ...
14372 * grub-core/fs: ... to here.
14373 * gencmdlist.sh: Moved ...
14374 * grub-core/gencmdlist.sh: ... to here.
14375 * genemuinit.sh: Moved ...
14376 * grub-core/genemuinit.sh: ... to here.
14377 * genemuinitheader.sh: Moved ...
14378 * grub-core/genemuinitheader.sh: ... to here.
14379 * genfslist.sh: Moved ...
14380 * grub-core/genfslist.sh: ... to here.
14381 * genhandlerlist.sh: Moved ...
14382 * grub-core/genhandlerlist.sh: ... to here.
14383 * genmoddep.awk: Moved ...
14384 * grub-core/genmoddep.awk: ... to here.
14385 * genmodsrc.sh: Moved ...
14386 * grub-core/genmodsrc.sh: ... to here.
14387 * genpartmaplist.sh: Moved ...
14388 * grub-core/genpartmaplist.sh: ... to here.
14389 * genparttoollist.sh: Moved ...
14390 * grub-core/genparttoollist.sh: ... to here.
14391 * genterminallist.sh: Moved ...
14392 * grub-core/genterminallist.sh: ... to here.
14393 * gentrigtables.c: Moved ...
14394 * grub-core/gentrigtables.c: ... to here.
14395 * genvideolist.sh: Moved ...
14396 * grub-core/genvideolist.sh: ... to here.
14397 * gettext: Moved ...
14398 * grub-core/gettext: ... to here.
14399 * gfxmenu: Moved ...
14400 * grub-core/gfxmenu: ... to here.
14401 * gnulib: Moved ...
14402 * grub-core/gnulib: ... to here.
14403 * hello: Moved ...
14404 * grub-core/hello: ... to here.
14405 * hook: Moved ...
14406 * grub-core/hook: ... to here.
14407 * io: Moved ...
14408 * grub-core/io: ... to here.
14409 * kern: Moved ...
14410 * grub-core/kern: ... to here.
14411 * lib: Moved ...
14412 * grub-core/lib: ... to here.
14413 * loader: Moved ...
14414 * grub-core/loader: ... to here.
14415 * mmap: Moved ...
14416 * grub-core/mmap: ... to here.
14417 * normal: Moved ...
14418 * grub-core/normal: ... to here.
14419 * partmap: Moved ...
14420 * grub-core/partmap: ... to here.
14421 * parttool: Moved ...
14422 * grub-core/parttool: ... to here.
14423 * script: Moved ...
14424 * grub-core/script: ... to here.
14425 * term: Moved ...
14426 * grub-core/term: ... to here
14427 * tests/example_functional_test.c: Moved ...
14428 * grub-core/tests/example_functional_test.c: ... to here.
14429 * tests/lib/functional_test.c: Moved ...
14430 * grub-core/tests/lib/functional_test.c: ... to here.
14431 * tests/lib/test.c: Moved ...
14432 * grub-core/tests/lib/test.c: ... to here.
14433 * video: Moved ...
14434 * grub-core/video: ... to here.
14435
645586e6
BC
144362010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14437
14438 Replace --enable-grub-emu-modules with grub-emu-lite.
14439
14440 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
14441 cache.S.
14442
14443 * include/grub/emu/misc.h (grub_emu_init): New prototype.
14444 * kern/emu/full.c: New file. For grub-emu specific initialization.
14445 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
14446 * kern/emu/main.c: Call initialization function grub_emu_init.
14447
14448 * Makefile.in: Include grub-emu-lite in install.
14449 * commands/parttool.c: Use grub_no_autoload to differentiate
14450 between grub-emu and grub-emu-lite.
14451 * include/grub/misc.h: New variable grub_no_autoload.
14452
14453 * conf/any-emu.rmk: New rules for grub-emu-lite.
14454 * configure.ac: Remove --enable-grub-emu-modules.
14455 * genmk.rb: Cleanup unnecessary rules.
14456 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
14457
14458 * normal/main.c: Don't load list files on grub-emu-lite.
14459 * util/misc.c (grub_arch_sync_caches): Removed.
14460
f86a4030
CW
144612010-08-23 Colin Watson <cjwatson@ubuntu.com>
14462
14463 * kern/mips/startup.S (grub_prefix): Update comment to refer to
14464 grub-mkimage rather than grub-mkelfimage.
14465 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
14466
06776944
VS
144672010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
14468
14469 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
14470 a key after CapsLock or NumLock. It's just a qemu bug.
14471
df262419
VS
144722010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
14473
14474 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
14475 needed by libusb wrapper.
14476
b40ea81b
ST
144772010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
14478
14479 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
14480
dee50575
VS
144812010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
14482
14483 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
14484 --nounzip is passed.
14485
fb1d7b79
VS
144862010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
14487
14488 USB hotunplugging and USB serial support.
14489
14490 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
14491 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
14492 (grub_uhci_transfer): Respect timeout and set *actual.
14493 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
14494 non-standard length.
14495 (grub_usb_device_attach): Autoload modules.
14496 (GRUB_MOD_INIT): Set grub_term_poll_usb.
14497 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
14498 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
14499 users updated.
14500 (grub_usb_add_hub): Fill nports and children.
14501 (attach_root_port): Receive hub instead of controller.
14502 All users updated. Fill hub->devices.
14503 (grub_usb_root_hub): Allocate hub->devices.
14504 (detach_device): New function.
14505 (poll_nonroot_hub): Fill children and detach devices.
14506 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
14507 actual arguments. All users updated.
14508 (grub_usb_bulk_read_extended): New function.
14509 * bus/usb/serial/common.c: New file.
14510 * bus/usb/serial/ftdi.c: Likewise.
14511 * bus/usb/serial/pl2303.c: Likewise.
14512 * commands/terminal.c (handle_command): Support wildcard.
14513 * commands/usbtest.c: Output "Unknown" instead of empty string.
14514 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
14515 (usbserial_common_mod_SOURCES): New variable.
14516 (usbserial_common_mod_CFLAGS): Likewise.
14517 (usbserial_common_mod_LDFLAGS): Likewise.
14518 (pkglib_MODULES): Add usbserial_pl2303.mod.
14519 (usbserial_pl2303_mod_SOURCES): New variable.
14520 (usbserial_pl2303_mod_CFLAGS): Likewise.
14521 (usbserial_pl2303_mod_LDFLAGS): Likewise.
14522 (pkglib_MODULES): Add usbserial_ftdi.mod.
14523 (usbserial_ftdi_mod_SOURCES): New variable.
14524 (usbserial_ftdi_mod_CFLAGS): Likewise.
14525 (usbserial_ftdi_mod_LDFLAGS): Likewise.
14526 (pkglib_MODULES): Add serial.mod.
14527 (serial_mod_SOURCES): New variable.
14528 (serial_mod_CFLAGS): Likewise.
14529 (serial_mod_LDFLAGS): Likewise.
14530 * conf/i386-pc.rmk: Likewise.
14531 * conf/mips-yeeloong.rmk: Likewise.
14532 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
14533 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
14534 * disk/usbms.c (first_available_slot): New variable.
14535 (grub_usbms_attach): Don't reuse free slots due to potential cache
14536 problems.
14537 * include/grub/serial.h: Moved to ..
14538 * include/grub/ns8250.h: ...this.
14539 * include/grub/serial.h: New file.
14540 * include/grub/term.h (grub_term_poll_usb): New variable.
14541 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
14542 readkey. All users updated.
14543 (grub_terminfo_output_state): Pass term to put.
14544 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
14545 (grub_usb_controller_dev): Add timeout and actual arguments to
14546 transfer. All users updated.
14547 (grub_usb_interface): New field detach_data.
14548 (grub_usb_device): New fields children and nports.
14549 (grub_usb_ep_type_t): New type.
14550 (grub_usb_get_ep_type): New function.
14551 (grub_usb_bulk_read_extended): Likewise.
14552 * include/grub/usbdesc.h (grub_usb_desc): New type.
14553 * include/grub/usbserial.h: New file.
14554 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
14555 * kern/term.c (grub_term_poll_usb): New variable.
14556 (grub_getkey): Call grub_term_poll_usb if set.
14557 (grub_checkkey): Likewise.
14558 (grub_getkeystatus): Likewise.
14559 * term/serial.c: Moved controller-specific parts to ...
14560 * term/ns8250.c: ... here.
14561 * term/serial.c: Mostly rewritten.
14562 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
14563 according to spec.
14564
21a313de
RM
145652010-08-20 Robert Millan <rmh@gnu.org>
14566
14567 Make kFreeBSD code more generic to support ext2fs as root, ufs as
14568 a separate module and maybe other interesting combinations.
14569
14570 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
14571 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
14572 (kfreebsd_entry): Add generic filesystem module load routine.
14573 Map GRUB `ext2' to kFreeBSD `ext2fs'.
14574
63c734a6
CW
145752010-08-20 Colin Watson <cjwatson@ubuntu.com>
14576
14577 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
14578 "numcenter" (I misunderstood the purpose of this entry).
14579 * docs/grub.texi (sendkey): Likewise.
14580
c4d16542
CW
145812010-08-20 Colin Watson <cjwatson@ubuntu.com>
14582
14583 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
14584 status flag options; simply omitting the option is equivalent and
14585 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
14586 (keysym_table): Rename "num5numlock" to "numlock".
14587 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
14588 can uniformly say that only the last of multiple `sendkey'
14589 invocations has any effect.
14590 * docs/grub.texi (sendkey): New section.
14591
93541d66
CW
145922010-08-19 Colin Watson <cjwatson@ubuntu.com>
14593
14594 * commands/i386/pc/sendkey.c (options): Fix three typos.
14595
b4ece5e1
VS
145962010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14597
14598 Implement sendkey support.
14599
14600 * commands/i386/pc/sendkey.c: New file.
14601 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
14602 (sendkey_mod_SOURCES): New variable.
14603 (sendkey_mod_CFLAGS): Likewise.
14604 (sendkey_mod_LDFLAGS): Likewise.
14605
51f1f5af
CW
146062010-08-18 Colin Watson <cjwatson@ubuntu.com>
14607
14608 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
14609 fix warnings from Autoconf.
14610
9da94e05
CW
146112010-08-18 Colin Watson <cjwatson@ubuntu.com>
14612
14613 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
14614 to avoid false positives with some assemblers that output things
14615 like "someprefix_func" as part of their output.
14616
729a0f2e
RM
146172010-08-15 Robert Millan <rmh@gnu.org>
14618
14619 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
14620 errors.
14621 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
14622 grub_get_libzfs_handle() errors.
14623
f3710e08
RM
146242010-08-14 Robert Millan <rmh@gnu.org>
14625
14626 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
14627 filesystem is not ZFS.
14628
7a3c13de
BC
146292010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14630
14631 Fix for misspelled color names defaulting to black/black (bug
14632 reported by Doug Nazar)
14633
14634 * include/grub/normal.h (grub_parse_color_name_pair): Add return
14635 status to prototype.
14636 * normal/color.c (grub_parse_color_name_pair): Return failure
14637 status.
14638 (grub_env_write_color_normal): Ignore bad color names.
14639 (grub_env_write_color_highlight): Likewise.
14640 * normal/main.c (GRUB_MOD_INIT): Set default color names.
14641
ab8ba50d
BC
146422010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14643
14644 "shift" command support to GRUB script.
14645
14646 * include/grub/script_sh.h (grub_script_shift): New prototype.
14647 * script/execute.c (grub_script_shift): New function.
14648 * script/main.c (grub_script_init): Register shift command.
14649 (grub_script_fini): Unregister shift command.
14650 * util/grub-script-check.c (grub_script_cmd_shift): New function.
14651
14652 * tests/grub_script_shift.in: New testcase.
14653 * conf/tests.rmk: Rules for new testcase.
14654
4d61999e
BC
146552010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14656
14657 "continue" command support to GRUB script.
14658
14659 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
14660 (grub_script_break): Continue support.
14661 * script/main.c (grub_script_init): Register continue command.
14662 (grub_script_fini): Unregister continue command.
14663
14664 * tests/grub_script_continue.in: New testcase.
14665 * conf/tests.rmk: Rules for new testcase.
14666
4df51e00
BC
146672010-08-12 BVK Chaitanya <bvk@dbook>
14668
14669 "break" command support to GRUB script.
14670
14671 * conf/common.rmk: Rule updates to grub-script-check.
14672 * include/grub/misc.h (grub_min): New function.
14673 * include/grub/script_sh.h (grub_script_init): New prototype.
14674 (grub_script_fini): New prototype.
14675 (grub_script_break): New prototype.
14676 * script/main.c (grub_script_init): New function.
14677 (grub_script_fini): New function.
14678 * script/execute.c (grub_script_break): New function.
14679 * normal/main.c: Calls to grub_script_{init,fini}.
14680 * util/grub-script-check.c (grub_script_break): New function.
14681
14682 * tests/grub_script_break.in: New testcase.
14683 * conf/tests.rmk: Rules for new test case.
14684
f12c8420
BC
146852010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14686
14687 Function parameters support to GRUB script.
14688
14689 * script/yylex.l (VARIABLE): Regular expression update.
14690 * script/function.c (grub_script_function_call): Moved ...
14691 * script/execute.c (grub_script_function_call): ... to here.
14692 (grub_script_execute_arglist_to_argv): Removed.
14693 (grub_script_arglist_to_argv): New function.
14694 * script/argv.c: New file.
14695 (grub_script_argv_free): New function.
14696 (grub_script_argv_next): Likewise.
14697 (grub_script_argv_append): Likewise.
14698 (grub_script_argv_split_append): Likewise.
14699 * include/grub/script_sh.h (grub_script_argv): New struct.
14700 (grub_script_argv_free): New function.
14701 (grub_script_argv_next): Likewise.
14702 (grub_script_argv_append): Likewise.
14703 (grub_script_argv_split_append): Likewise.
14704
14705 * conf/common.rmk (normal.mod): New source script/argv.c.
14706
14707 * tests/grub_script_echo1.in: More tests.
14708 * tests/grub_script_vars1.in: Likewise.
14709 * tests/grub_script_functions.in: New test case.
14710 * conf/tests.rmk: Rules for new testcase.
14711
8022b748
BC
147122010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14713
14714 Remove grub_script_cmdblock struct.
14715
14716 * include/grub/script_sh.h: Remove grub_script_cmdblock.
14717 * script/parser.y: Likewise.
14718 * script/execute.c: Rename cmdblock suffix to cmdlist.
14719 * script/script.c: Likewise.
14720 * util/grub-script-check.c: Likewise.
14721
79a6ba61
YB
147222010-08-11 Yves Blusseau <blusseau@zetam.org>
14723
14724 * .bzrignore: add grub-macho2img
14725
d04b9414
VS
147262010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
14727
14728 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
14729
f947ab49
VS
147302010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
14731
14732 Remove the dump of sm712 initialisation sequence.
14733
14734 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
14735 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
14736 (GRUB_VGA_IO_MISC_WRITE): Likewise.
14737 (GRUB_VGA_CR_*): Added many registers.
14738 (GRUB_VGA_SR_*): Likewise.
14739 (GRUB_VGA_GR_*): Likewise.
14740 (grub_vga_write_arx): New function.
14741 (grub_video_hw_config): New struct.
14742 (grub_vga_set_geometry): New function.
14743 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
14744 GRUB_PCI_CLASS_SUBCLASS_VGA.
14745 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
14746 * video/sm712.c (grub_sm712_write_reg): New function
14747 (grub_sm712_read_reg): Likewise.
14748 (grub_sm712_sr_write): Likewise.
14749 (grub_sm712_gr_write): Likewise.
14750 (grub_sm712_cr_write): Likewise.
14751 (grub_sm712_write_arx): Likewise.
14752 (grub_sm712_cr_shadow_write): Likewise.
14753 (grub_sm712_write_dda_lookup): Likewise.
14754 (grub_video_sm712_setup): Initialise the video rather then
14755 blindly replay the dump.
14756 (main) [TEST]: Add a routine to be able to compile as standalone for
14757 tests.
14758 * video/sm712_init.c (sm712_init): Removed.
14759 (sm712_sr_seq1): New array.
14760 (sm712_sr_seq2): Likewise.
14761
f0206638
VS
147622010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
14763
14764 * include/grub/vga.h: Add missing grub/pci.h include.
14765
2764da3b
YB
147662010-08-10 Yves Blusseau <blusseau@zetam.org>
14767
14768 * util/grub-macho2img.c (main): fix typo
14769
cf0c775e
VS
147702010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
14771
14772 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
14773 (grub_vga_gr_read): Likewise.
14774 (grub_vga_cr_write): Likewise.
14775 (grub_vga_cr_read): Likewise.
14776 (grub_vga_sr_write): Likewise.
14777 (grub_vga_sr_read): Likewise.
14778 (grub_vga_palette_read): Likewise.
14779 (grub_vga_palette_write): Likewise.
14780 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
14781 (grub_sm712_sr_read): New function.
14782 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
14783 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
14784
07f360e9
RM
147852010-08-09 Robert Millan <rmh@gnu.org>
14786
14787 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
14788 out unused variables on non-ZFS build.
14789
346c2072
RM
147902010-08-08 Robert Millan <rmh@gnu.org>
14791
14792 Fix path generation for sub-filesystems in ZFS.
14793
14794 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
14795 missing slash.
14796
71175420
RM
147972010-08-08 Robert Millan <rmh@gnu.org>
14798
14799 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
14800
0d8286f3
RM
148012010-08-08 Robert Millan <rmh@gnu.org>
14802
14803 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
14804 exist, issue a proper error message (rely on `ls' for translated
14805 strings).
14806
55dd2924
RM
148072010-08-08 Robert Millan <rmh@gnu.org>
14808
14809 Fix grub-probe invocation.
14810
14811 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
14812
d3dd9e80
RM
148132010-08-04 Robert Millan <rmh@gnu.org>
14814
14815 * configure.ac: Remove checks for getfsstat() and getmntany().
14816 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
14817 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
14818 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
14819 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
14820 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
14821 function.
14822 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
14823 via find_mount_point_from_dir() and getfsstat() / getmntany().
14824
0de22aa9
RM
148252010-08-04 Robert Millan <rmh@gnu.org>
14826
14827 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
14828 (grub_find_zpool_from_mount_point): Merge into ...
14829 (grub_find_zpool_from_dir): ... this.
14830 * kern/emu/misc.c: Likewise.
14831
14832 * kern/emu/misc.c
14833 (grub_make_system_path_relative_to_its_root): Replace
14834 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
14835 with grub_find_zpool_from_dir().
14836 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
14837
62858144
RM
148382010-08-04 Robert Millan <rmh@gnu.org>
14839
14840 Support OpenSolaris in ZFS device resolution.
14841
14842 * configure.ac: Check for getmntany().
14843 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
14844 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
14845 support.
14846
9dd6fd50
RM
148472010-08-03 Robert Millan <rmh@gnu.org>
14848
14849 Fix grub-emu build.
14850
14851 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
14852 * include/grub/emu/misc.h: ... here.
14853
14854 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
14855 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
14856
14857 * util/misc.c: Remove `<grub/util/libzfs.h>'.
14858 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
14859 (grub_get_libzfs_handle): Move to ...
14860 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
14861 (grub_get_libzfs_handle): ... here.
14862
c9f7ff97
BC
148632010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
14864
14865 * script/execute.c (grub_script_execute_cmdline): Check for NULL
14866 as command name case.
14867
a870a783
CW
148682010-08-02 Colin Watson <cjwatson@ubuntu.com>
14869
14870 * disk/raid.c (insert_array): Select unique numbers for named arrays
14871 as well, for use as keys in the disk cache.
14872
c7db243b
RM
148732010-08-01 Robert Millan <rmh@gnu.org>
14874
14875 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
14876 kFreeBSD device name, except on ZFS where the filesystem label is
14877 used.
14878 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
14879 `/boot/zfs/zpool.cache'.
14880 Set mountfrom kernel variable using ${kfreebsd_device}.
14881
f7abdefb
RM
148822010-08-01 Robert Millan <rmh@gnu.org>
14883
14884 Make it even harder to use uninitialized `libzfs_handle' (and
14885 make the interface a bit simpler).
14886
14887 * include/grub/util/misc.h (grub_util_init_libzfs)
14888 (libzfs_handle): Remove.
14889 (grub_get_libzfs_handle): New prototype.
14890
14891 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
14892 attribute.
14893 (grub_util_init_libzfs): Remove.
14894 (grub_get_libzfs_handle): New function.
14895
14896 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
14897 grub_get_libzfs_handle() to obtain a libzfs handle instead of
14898 accessing `libzfs_handle' directly.
14899
c882acc0
RM
149002010-08-01 Robert Millan <rmh@gnu.org>
14901
14902 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
14903 (grub_find_zpool_from_mount_point): New function prototypes.
14904
14905 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
14906 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
14907
14908 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
14909 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
14910 `static' attribute.
14911
14912 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
14913 finding zpool from mount point into ...
14914 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
14915
14916 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
14917 requested path is part of a ZFS pool, use
14918 grub_find_zpool_from_mount_point() to detect its filesystem name,
14919 and generate a path with `/fsname@path' syntax.
14920
8bfe31d8
CW
149212010-08-01 Colin Watson <cjwatson@ubuntu.com>
14922
14923 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
14924 (void) rather than () so that this is a proper prototype.
14925
553df63d
VS
149262010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14927
14928 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
14929
8687cf07
VS
149302010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14931
14932 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
14933 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
14934
ea9be8ea
CW
149352010-08-01 Colin Watson <cjwatson@ubuntu.com>
14936
14937 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
14938
6eea041a
CW
149392010-08-01 Colin Watson <cjwatson@ubuntu.com>
14940
14941 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
14942
2cfb45df
CW
149432010-08-01 Colin Watson <cjwatson@ubuntu.com>
14944
14945 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
14946 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
14947 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
14948 disable gfxpayload.
14949 (Shell-like scripting): Add real content.
14950 (Serial terminal): Suggest `terminal_input serial; terminal_output
14951 serial' rather than putting the two commands on separate lines,
14952 since console input will be inoperative after the first command.
14953 (menuentry): Document --class, --users, and --hotkey options.
14954 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
14955 Vladimir Serbinenko).
14956
7decd202
VS
149572010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
149582010-08-01 Colin Watson <cjwatson@ubuntu.com>
14959
14960 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
14961
c882acc0
RM
149622010-08-01 Robert Millan <rmh@gnu.org>
14963
14964 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
14965 (grub_find_zpool_from_mount_point): New function prototypes.
14966
14967 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
14968 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
14969
14970 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
14971 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
14972 `static' attribute.
14973
14974 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
14975 finding zpool from mount point into ...
14976 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
14977
14978 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
14979 requested path is part of a ZFS pool, use
14980 grub_find_zpool_from_mount_point() to detect its filesystem name,
14981 and generate a path with `/fsname@path' syntax.
14982
deb0caa3
RM
149832010-08-01 Robert Millan <rmh@gnu.org>
14984
14985 Prevent accidental use of uninitialized libzfs_handle.
14986
14987 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
14988 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
14989 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
14990
ce04ef47
CW
149912010-08-01 Colin Watson <cjwatson@ubuntu.com>
14992
14993 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
14994 util/grub.d/10_linux.in). Fixes Debian bug #591093.
14995
ebf53056
RM
149962010-08-01 Robert Millan <rmh@gnu.org>
14997
14998 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 14999
3710bb6b
RM
150002010-07-31 Robert Millan <rmh@gnu.org>
15001
15002 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
15003
8072efeb
RM
150042010-07-31 Robert Millan <rmh@gnu.org>
15005
15006 * kern/emu/misc.c: Add missing license header.
15007
3169f4c7
RM
150082010-07-31 Robert Millan <rmh@gnu.org>
15009
15010 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
15011
15012 * include/grub/util/libnvpair.h: Include `<config.h>'.
15013 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
15014 declaring libnvpair prototypes ourselves.
15015 * include/grub/util/libzfs.h: Include `<config.h>'.
15016 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
15017 declaring libzfs prototypes ourselves.
15018
15019 (libzfs_handle): Moved to ...
15020 * include/grub/util/misc.h (libzfs_handle): ... here.
15021 Include `<grub/util/libzfs.h>'.
15022
c9a00aee
RM
150232010-07-30 Robert Millan <rmh@gnu.org>
15024
15025 * include/grub/emu/misc.h: Add missing license header.
15026
a184f9c8
RM
150272010-07-30 Robert Millan <rmh@gnu.org>
15028
15029 Enable `grub-probe -t device' resolution on ZFS.
15030
15031 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
15032 * include/grub/util/libnvpair.h: New file.
15033 * include/grub/util/libzfs.h: New file.
15034
15035 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
15036 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
15037 `<grub/util/libnvpair.h>'.
15038 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
15039
15040 (find_mount_point_from_dir): New static function.
15041 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
15042 function.
15043 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
15044 find_root_device_from_libzfs() before ressorting to find_root_device().
15045
15046 * include/grub/util/misc.h (grub_util_init_libzfs): New function
15047 prototype.
15048 * util/misc.c: Include `<grub/util/libzfs.h>'.
15049 (grub_util_init_libzfs): New function.
15050 [HAVE_LIBZFS] (libzfs_handle): New global variable.
15051 [HAVE_LIBZFS] (fini_libzfs): New static function.
15052 (grub_util_init_libzfs): New function.
15053 * util/grub-probe.c (main): Call grub_util_init_libzfs().
15054
f7790cdd
RM
150552010-07-30 Robert Millan <rmh@gnu.org>
15056
15057 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
15058 (xmalloc, xrealloc, xstrdup, xasprintf): Add
15059 `warn_unused_result' attribute.
15060 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
15061 (grub_xasprintf, grub_xvasprintf): Likewise.
15062 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
15063
0806b63c
RM
150642010-07-29 Robert Millan <rmh@gnu.org>
15065
15066 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
15067 (probe): Handle `PRINT_FS_LABEL'.
15068 (main): Handle `-t fs_label'.
15069
9f841f5c
RM
150702010-07-29 Robert Millan <rmh@gnu.org>
15071
15072 * configure.ac: Remove grub-mkisofs checks.
15073
46371121
VS
150742010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
15075
15076 * util/ieee1275/grub-install.in: Don't use empty grub_device.
15077 Reported by: Lennart Sorensen.
15078
150792010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15080
15081 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
15082 prior to terminal_input/terminal_output separation. It's been over 1.5
15083 years and those versions weren't widely deployed.
15084
a9600892
CW
150852010-07-22 Colin Watson <cjwatson@ubuntu.com>
15086
15087 * disk/raid.c (insert_array): Don't count named arrays when looking
15088 for unused array numbers.
697e053c 15089 Reported and tested by: Michael Guntsche.
a9600892 15090
c03507df
CW
150912010-07-20 Colin Watson <cjwatson@ubuntu.com>
15092
15093 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
15094 implementation of this so that grub-emu links again, with a note
15095 that this should support hotplugging in the future.
15096
b26f1c11
CW
150972010-07-20 Colin Watson <cjwatson@ubuntu.com>
15098
15099 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
15100
efc9d7f1
CW
151012010-07-20 Colin Watson <cjwatson@ubuntu.com>
15102
15103 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
15104 handle on failure.
15105 (grub_loopback_close): Remove empty function.
15106 (grub_loopback_dev): Remove close method.
15107
dd8ff5c9
CW
151082010-07-20 Colin Watson <cjwatson@ubuntu.com>
15109
15110 Disable EFI cursor when the EFI console becomes inactive.
15111
15112 * term/efi/console.c (grub_efi_console_init): New function.
15113 (grub_efi_console_fini): New function.
15114 (grub_console_term_output): Register init and fini methods.
15115
5e3bec67
VS
151162010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15117
15118 * tests/util/grub-shell-tester.in: Remove bashism and declare as
15119 sh script.
15120
afaec079
VS
151212010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15122
15123 * disk/loopback.c (grub_loopback): Replace filename with file.
15124 (delete_loopback): Handle new semantics.
15125 (grub_cmd_loopback): Likewise.
15126 (grub_loopback_iterate): Likewise.
15127 (grub_loopback_close): Likewise.
15128
a6a11f3c
VS
151292010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15130
15131 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
15132 with -p "".
15133 Reported by: Tito Keitel.
15134
64a638b0
VS
151352010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15136
15137 * docs/grub.texi (Naming convention): Document new naming convention.
15138
ab8ba957
VS
151392010-07-20 Vadim Solomin <vadic052@gmail.com>
151402010-07-20 Colin Watson <cjwatson@ubuntu.com>
15141
15142 Generate device.map in something closer to the old ordering.
15143
15144 * util/deviceiter.c (struct device): New declaration.
15145 (compare_file_names): Rename to ...
15146 (compare_devices): ... this. Sort by kernel name in preference to
15147 the stable by-id name, but keep the latter as a fallback comparison.
15148 Update header comment.
15149 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
15150 of `struct device' rather than of plain file names.
15151
a29d6a4b
TF
151522010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
15153
15154 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
15155 on i386.
15156
39d824e8
VS
151572010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15158
15159 * commands/acpi.c (setup_common_tables): Use sizeof instead of
15160 hardcoding size.
15161 (setv1table): Likewise.
15162
f058276b
FZ
151632010-07-20 Colin Watson <cjwatson@ubuntu.com>
15164
15165 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
15166 removing the homehost if present.
15167 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
15168 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
15169 removing the homehost if present.
15170 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
15171 if possible.
15172 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
15173
15174 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
15175 parameter. Set its pointer target to 0.
15176 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
15177 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
15178 `data_offset' value from the superblock for 1.x metadata.
15179 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
15180 data on the device.
15181 (insert_array): Record the start sector of data on the device.
15182 (grub_raid_register): Pass start_sector parameters to
15183 grub_raid_list->detect and insert_array.
15184 * include/grub/raid.h (struct grub_raid_array): Add start_sector
15185 member.
15186 (struct grub_raid): Add start_sector parameter to `detect'.
15187
15188 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
15189 __attribute__ ((packed)), leaving a comment.
15190 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
15191 (grub_mdraid_detect_09): ... here and ...
15192 (grub_mdraid_detect_1x): ... here.
15193
151942010-07-20 Peter Henn <peter.henn@web.de>
15195
15196 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
15197 chunk size and disk size, which are already given as sector counts
15198 as distinct from the 0.90 units. Fetch the correct device number
15199 from the role table instead of using the table index.
15200
152012010-07-20 Felix Zielcke <fzielcke@z-51.de>
15202
15203 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
15204 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
15205 (WriteMostly1): New macro.
15206 Set array->name to NULL for metadata format 0.90. Add support for
15207 metadata 1.x. Fix some comments.
15208 * disk/raid.c (): Add support for name based RAID arrays. Fix a
15209 few comments.
15210 * util/getroot.c (grub_util_get_grub_dev): Add support for
15211 /dev/md/name style devices.
15212
4b761da9
CW
152132010-07-20 Colin Watson <cjwatson@ubuntu.com>
15214
15215 * .bzrignore: Ignore 20_linux_xen.
15216
5771289a
CW
152172010-07-17 Colin Watson <cjwatson@ubuntu.com>
15218
15219 * util/import_unicode.py: Remove unnecessary imports.
15220
5dab68df
AN
152212010-07-17 Aleš Nesrsta <starous@volny.cz>
15222
15223 Hotplugging and USB hub support.
15224
15225 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
15226 (grub_ohci): Likewise.
15227 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
15228 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
15229 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
15230 (GRUB_OHCI_CTRL_EDS): Likewise.
15231 (GRUB_OHCI_BULK_EDS): Likewise.
15232 (GRUB_OHCI_TDS): Likewise.
15233 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
15234 (grub_ohci_ed_phys2virt): New function.
15235 (grub_ohci_virt_to_phys): Likewise.
15236 (grub_ohci_td_phys2virt): Likewise.
15237 (grub_ohci_td_virt2phys): Likewise.
15238 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
15239 attachment.
15240 (grub_ohci_find_ed): New function.
15241 (grub_ohci_alloc_td): Likewise.
15242 (grub_ohci_free_td): Likewise.
15243 (grub_ohci_free_tds): Likewise.
15244 (grub_ohci_transfer): Use previously allocated memory.
15245 (grub_ohci_portstatus): Reset status changed bit.
15246 (grub_ohci_detect_dev): Supply status changed.
15247 (grub_ohci_fini_hw): Free memory.
15248 (grub_ohci_restore_hw): Reallocate memory.
15249 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
15250 Reset status change.
15251 (grub_uhci_detect_dev): Supply status_change.
15252 * bus/usb/usb.c (attach_hooks): New var.
15253 (grub_usb_device_attach): New function.
15254 (grub_usb_register_attach_hook_class): Likewise.
15255 (grub_usb_unregister_attach_hook_class): Likewise.
15256 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
15257 (grub_usb_add_hub): Reset connection changed bit.
15258 (attach_root_port): New function.
15259 (grub_usb_root_hub): Likewise.
15260 (poll_nonroot_hub): Likewise.
15261 (grub_usb_poll_devices): Likewise.
15262 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
15263 * disk/usbms.c (grub_usbms_open): Use device hooks.
15264 (grub_usbms_iterate) :Poll devices.
15265 (grub_usbms_finddevs): Split into ...
15266 (grub_usbms_attach): ... this ...
15267 (grub_usbms_attach): ... and this.
15268 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
15269 in detect_dev.
15270 (grub_usb_interface): New fields attached and detach_hook.
15271 (grub_usb_attach_hook_class): New type.
15272 (grub_usb_attach_desc): New struct.
15273 (grub_usb_register_attach_hook_class): New function.
15274 (grub_usb_unregister_attach_hook_class): Likewise.
15275 (grub_usb_poll_devices): Likewise.
15276 (grub_usb_device_attach): Likewise.
15277 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
15278 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
15279
3222efaf
VS
152802010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15281
15282 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
15283 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
15284 delta determination style. Works with most NetBSD partitions too.
15285
139b714a
VS
152862010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15287
15288 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
15289 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
15290
986aad56
VS
152912010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15292
15293 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
15294
99be513c
AB
152952010-07-14 Anton Blanchard <anton@samba.org>
15296
15297 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
15298 ET_DYN files.
15299
18075f62
GS
153002010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15301
15302 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
15303
8d9a5b15
GS
153042010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15305
15306 * kern/partition.c (grub_partition_check_containment): New function to
15307 check that a partition is physically contained in a parent. Since
15308 offsets are relative (and non-negative), this reduces to checking that
15309 the partition ends before its parent.
15310 (grub_partition_map_probe): Discard out-of-range sub-partitions.
15311 (grub_partition_iterate): Likewise.
15312 * include/grub/partition.h (grub_partition_map): Slightly more detailed
15313 comments.
15314 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
15315 partitions that start before their parent, and add debug printfs.
15316
19563c25
CW
153172010-07-13 Colin Watson <cjwatson@ubuntu.com>
15318
15319 * Makefile.in (.SUFFIX): Spell correctly, as ...
15320 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
15321 bare module name without `.mod', e.g. `test') tried to invoke a
15322 Modula-2 compiler.
15323
1a1f1e67
CW
153242010-07-13 Colin Watson <cjwatson@ubuntu.com>
15325
15326 * README: Point to the Info manual.
15327
811b0dca
JS
153282010-07-13 Jiro SEKIBA <jir@unicus.jp>
15329
15330 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
15331 2nd superblock position from partition size.
15332
e4f4eafc
CW
153332010-07-10 Colin Watson <cjwatson@ubuntu.com>
15334
15335 * Makefile.in (MAINTAINER_CLEANFILES): Remove
15336 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
15337 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
15338 outputs.
15339
4274c30f
VS
153402010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15341
15342 Restructure SCSI .id handling.
15343 Reported and tested by: Aleš Nesrsta.
15344
15345 * disk/ata.c (grub_atapi_close): Removed. All users updated.
15346 (grub_atapi_dev): Changed .name to "ata". New field .id.
15347 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
15348 (grub_usbms_dev): New field .id.
15349 * disk/scsi.c (grub_scsi_iterate): Generate name.
15350 (grub_scsi_open): Parse name.
15351 * include/grub/scsi.h (grub_make_scsi_id): New function.
15352 (grub_scsi_dev): Change iterate and open to number instead of naming
15353 busses. All users updated.
15354 (grub_scsi): Remove name. Add .bus.
15355
5bc24388
VS
153562010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15357
15358 * commands/help.c (grub_cmd_help): Fix a typo.
15359
249975ba
VS
153602010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15361
15362 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
15363 Reported and tested by: Colin Watson.
15364
3eaac1a1
VS
153652010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15366
15367 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
15368 in this context.
15369
becce1b1
VS
153702010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15371
15372 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
15373
f7bf0918
CW
153742010-07-07 Colin Watson <cjwatson@ubuntu.com>
15375
15376 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
15377 indentation.
15378
0b0f9620
CW
153792010-07-06 Colin Watson <cjwatson@ubuntu.com>
15380
15381 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
15382 and disk/raid6_recover.c.
15383 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15384 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
15385
1e545469
CW
153862010-07-06 Colin Watson <cjwatson@ubuntu.com>
15387
15388 * term/gfxterm.c (repaint_schedulded): Rename to ...
15389 (repaint_scheduled): ... this. Update all callers.
15390 (repaint_was_schedulded): Rename to ...
15391 (repaint_was_scheduled): ... this. Update all callers.
15392
5357687a
CW
153932010-07-06 Colin Watson <cjwatson@ubuntu.com>
15394
15395 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
15396 which we expect to be handled by upper layers.
15397
29d7e783
BC
153982010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
15399
15400 * bus/usb/usbhub.c: #include time.h header.
15401
37582066
CW
154022010-07-06 Colin Watson <cjwatson@ubuntu.com>
15403
15404 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
15405 entry_name also for entries without stat blocks (e.g. ".."); fixes
15406 corruption of the first entry in a directory.
15407
c8c06953
CW
154082010-07-06 Colin Watson <cjwatson@ubuntu.com>
15409
15410 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
15411 after setting gfxterm as the active terminal. GRUB_BACKGROUND
15412 doesn't work otherwise.
15413
e75056f1
CW
154142010-07-05 Colin Watson <cjwatson@ubuntu.com>
15415
15416 * docs/grub.texi (Features): Update list of supported file systems.
15417 (GNU/Linux): Update for GRUB 2.
15418 (Serial terminal): Remove mention of --disable-serial, which was a
15419 GRUB Legacy configure option. Update instructions to use
15420 `terminal_input' and `terminal_output' rather than `terminal'.
15421 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
15422 configuration' and `Installing GRUB using grub-install'.
15423 (Menu entry editor): Update for GRUB 2.
15424 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
15425 Document new -a, -u, and -v options.
15426 (initrd): New section.
15427 (initrd16): New section.
15428 (linux): New section.
15429 (linux16): New section.
15430 (search): The `var' argument to `--set' is optional.
15431 (GRUB only offers a rescue shell): Go into a little more detail on
15432 drive ordering.
15433
5cf69151
CW
154342010-07-05 Colin Watson <cjwatson@ubuntu.com>
15435
15436 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
15437
e3f90044
CW
154382010-07-05 Colin Watson <cjwatson@ubuntu.com>
15439
15440 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
15441 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
15442
38d8f4f3
CW
154432010-07-05 Colin Watson <cjwatson@ubuntu.com>
15444
15445 * util/i386/pc/grub-setup.c (setup): Rename prefix to
15446 install_prefix, in line with install_dos_part and install_bsd_part.
15447 Add new prefix variable, which is copied to install_prefix after
15448 comparing core.img in memory with the one read from disk in the
15449 no-embedding case, and use that rather than overwriting
15450 install_prefix immediately when installing to a partition.
15451 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
15452 Bicakci.
15453
57ebd41e
GS
154542010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
15455
15456 * configure.ac: Avoid == in test command, it's not portable.
15457 * util/grub.d/30_os-prober.in: Likewise.
15458
cb7f64b2
CW
154592010-07-04 Colin Watson <cjwatson@ubuntu.com>
15460
15461 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
15462
6b654bb0
GS
154632010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
15464
15465 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
15466 multiple (top-level) partmaps.
15467
72a2026d
VS
154682010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15469
15470 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 15471 Reported by: Tino Keitel.
72a2026d 15472
df3eb88f
VS
154732010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15474
15475 Bidi and diacritics support.
15476
15477 * Makefile.in (widthspec.bin): New target.
15478 (widthspec.h): Likewise.
15479 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
15480 * autogen.sh: Generate unidata.c.
15481 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
15482 * commands/ls.c (grub_ls_list_devices): Likewise.
15483 (grub_ls_list_files): Likewise.
15484 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
15485 (grub_mini_cmd_lsmod): Likewise.
15486 * commands/read.c: Likewise.
15487 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
15488 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
15489 * lib/arg.c (grub_arg_show_help): Likewise.
15490 * lib/crypto.c (grub_password_get): Likewise.
15491 * normal/auth.c (grub_username_get): Likewise.
15492 * normal/misc.c (grub_normal_print_device_info): Likewise.
15493 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
15494 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
15495 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
15496 (normal/charset.c_DEPENDENCIES): New variable.
15497 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
15498 (pkglib_MODULES): Remove charset.mod.
15499 (charset_mod_SOURCES): Removed.
15500 (charset_mod_CFLAGS): Likewise.
15501 (charset_mod_LDFLAGS): Likewise.
15502 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
15503 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
15504 and term/tparm.c.
15505 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15506 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15507 (kernel_img_HEADERS): Add terminfo.h.
15508 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
15509 Fill ->font. Reverse ascii bitmaps.
15510 (grub_font_get_xheight): New function.
15511 * font/font.c (grub_font_get_string_width): Moved from here ...
15512 * gfxmenu/font.c (grub_font_get_string_width): ... here.
15513 * font/font.c (grub_font_draw_string): Moved from here ...
15514 * gfxmenu/font.c (grub_font_draw_string): ... here.
15515 * font/font.c (grub_font_dup_glyph): New function.
15516 (grub_font_blit_glyph): Likewise.
15517 (grub_font_blit_glyph_mirror): Likewise.
15518 (blit_comb): Likewise.
15519 (grub_font_construct_dry_run): Likewise.
15520 (grub_font_get_constructed_device_width): Likewise.
15521 (grub_font_construct_glyph): Likewise.
15522 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
15523 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
15524 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
15525 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
15526 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
15527 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
15528 (grub_font_get_xheight): New proto.
15529 (grub_font_get_constructed_device_width): Likewise.
15530 (grub_font_construct_glyph): Likewise.
15531 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
15532 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
15533 * include/grub/font.h (grub_font_draw_string): Moved from here ...
15534 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
15535 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
15536 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
15537 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
15538 (grub_console_getcharwidth): Likewise.
15539 * include/grub/misc.h (grub_xputs): New proto.
15540 (grub_puts): Inlined.
15541 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
15542 (grub_normal_get_line_counter): Removed.
15543 (grub_install_newline_hook): Likewise.
15544 (grub_normal_get_char_counter): New proto.
15545 (grub_normal_reset_more): Likewise.
15546 (grub_xputs_normal): Likewise.
15547 * include/grub/powerpc/ieee1275/console.h: Removed.
15548 * include/grub/sparc64/ieee1275/console.h: Likewise.
15549 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
15550 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
15551 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
15552 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
15553 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
15554 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
15555 (grub_term_input): Pass reference to self. All users updated.
15556 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
15557 Pass reference to self. New fields normal_color, highlight_color and
15558 data. All users updated.
15559 (grub_putchar): Removed.
15560 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
15561 (grub_unicode_estimate_width): New function.
15562 (grub_term_getcharwidth): Add defaults.
15563 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
15564 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
15565 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
15566 (grub_cls): Remove EXPORT_FUNC.
15567 (grub_setcolorstate): Inline.
15568 (grub_newline_hook): Removed.
15569 * include/grub/terminfo.h: Rewritten. All users updated.
15570 * include/grub/unicode.h: New file.
15571 * include/grub/video.h (grub_video_signed_rect): New type.
15572 * kern/emu/console.c (grub_console_highlight_color): Removed.
15573 (grub_console_normal_color): Likewise.
15574 (grub_console_standard_color): Made static.
15575 (grub_ncurses_putchar): Remove mapping.
15576 (grub_ncurses_getcharwidth): Removed.
15577 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
15578 (grub_ncurses_setcolor): Removed.
15579 (grub_ncurses_getcolor): Likewise.
15580 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
15581 (grub_console_putchar): ... this.
15582 (grub_console_putchar): Handle argument difference.
15583 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
15584 console_init_early and console_init_lately.
15585 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
15586 * kern/misc.c (grub_puts): Removed.
15587 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
15588 (grub_vsnprintf_real): Remove str = NULL support.
15589 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
15590 * normal/charset.c (grub_utf8_to_ucs4): ... here.
15591 * kern/term.c (grub_putcode): Renamed to ...
15592 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
15593 (grub_putchar): Removed.
15594 (grub_xputs_dumb): New function.
15595 (grub_xputs): New variable.
15596 * lib/charset.c: Move from here ...
15597 * normal/charset.c: ... to here.
15598 (grub_ucs4_to_utf8): New function.
15599 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
15600 (join_types): New variable.
15601 (unpack_join): New function.
15602 (bidi_types): New variable.
15603 (unpack_bidi): New function.
15604 (get_bidi_type): Likewise.
15605 (get_join_type): Likewise.
15606 (is_mirrored): Likewise.
15607 (grub_unicode_get_comb_type): Likewise.
15608 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
15609 (is_type_after): Likewise.
15610 (grub_unicode_aglomerate_comb): Likewise.
15611 (bidi_line_wrap): Likewise.
15612 (grub_bidi_line_logical_to_visual): Likewise.
15613 (grub_bidi_logical_to_visual): Likewise.
15614 (grub_unicode_mirror_code): Likewise.
15615 (grub_unicode_shape_code): Likewise.
15616 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
15617 Don't use grub_putchar.
15618 * normal/main.c (grub_normal_init_page): Use grub_putcode.
15619 (grub_normal_reader_init): Likewise.
15620 (grub_xputs_saved): New variable.
15621 (GRUB_MOD_INIT): Set grub_xputs.
15622 (GRUB_MOD_FINI): Restore grub_xputs.
15623 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
15624 (menu_init): Avoid printing gfxmenu error.
15625 (show_menu): Use grub_normal_get_char_counter.
15626 * normal/menu_entry.c (update_screen): Fix out-of-array.
15627 (complete): Avoid NULL dereferencing.
15628 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
15629 * normal/menu_text.c (print_spaces): Removed.
15630 (grub_print_ucs4): Likewise.
15631 (grub_print_message_indented): Use grub_print_ucs4.
15632 (print_message): Use grub_putcode.
15633 (print_entry): Hanlde diacritics.
15634 * normal/term.c (term_state): New type.
15635 (grub_more_lines): Removed.
15636 (term_states): New variable.
15637 (grub_normal_line_counter): Renamed to ..
15638 (grub_normal_char_counter): ...this. All users updated.
15639 (grub_normal_get_line_counter): Renamed to ...
15640 (grub_normal_get_char_counter): ... this.
15641 (grub_normal_reset_more): New function.
15642 (process_newline): Removed.
15643 (print_more): New function.
15644 (grub_install_newline_hook): Removed.
15645 (map_code): New function.
15646 (grub_puts_terminal): Use grub_print_ucs4.
15647 (putglyph): New function.
15648 (putcode_real): Likewise.
15649 (grub_putcode): Use putcode_real.
15650 (get_maxwidth): New function.
15651 (get_startwidth): Likewise.
15652 (print_ucs4_terminal): Likewise.
15653 (find_term_state): Likewise.
15654 (put_glyphs_terminal): Likewise.
15655 (print_backlog): Likewise.
15656 (print_ucs4_real): Likewise.
15657 (grub_print_ucs4): Likewise.
15658 (grub_xputs_normal): Likewise.
15659 * term/efi/console.c (grub_console_putchar): Output diacritics.
15660 (grub_console_getcharwidth): Removed.
15661 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
15662 * term/gfxterm.c (clear_char): Free chars.
15663 (scroll_up): Avoid leaking memory.
15664 (grub_gfxterm_putchar): Support diacritics.
15665 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
15666 * term/i386/pc/console.c (grub_console_term_output): Declare as
15667 GRUB_TERM_CODE_TYPE_VGA.
15668 * term/i386/pc/vga.c (grub_vga_term): Declare as
15669 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
15670 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
15671 GRUB_TERM_CODE_TYPE_VGA.
15672 * term/i386/vga_common.c (map_char): Removed.
15673 (grub_console_putchar): Likewise.
15674 (grub_console_getcharwidth): Likewise.
15675 * term/ieee1275/ofconsole.c: Simplify using terminfo.
15676 (colors): Reordered to match terminfo.
15677 (grub_ofconsole_normal_color): Removed.
15678 (grub_ofconsole_writeesc): Likewise.
15679 (grub_ofconsole_highlight_color): Likewise.
15680 (grub_ofconsole_getcharwidth): Likewise.
15681 (grub_ofconsole_setcolorstate): Likewise.
15682 (grub_ofconsole_setcolor): Likewise.
15683 (grub_ofconsole_getcolor): Likewise.
15684 (grub_ofconsole_readkey): Renamed to ...
15685 (readkey): ... this. Remove escape sequence handling. Return -1 on no
15686 key.
15687 (grub_ofconsole_checkkey): Removed.
15688 (grub_ofconsole_getkey): Likewise.
15689 (grub_ofconsole_getxy): Likewise.
15690 (grub_ofconsole_gotoxy): Likewise.
15691 (grub_ofconsole_cls): Likewise.
15692 (grub_ofconsole_refresh): Likewise.
15693 (grub_ofconsole_terminfo_input): New struct.
15694 (grub_ofconsole_terminfo_output): Likewise.
15695 (grub_ofconsole_term_input): Use terminfo.
15696 (grub_ofconsole_term_output): Likewise.
15697 (grub_console_init): Split into ...
15698 (grub_console_init_early): ...this and ...
15699 (grub_console_init_lately): ...this. Use terminfo.
15700 (grub_ofconsole_putchar): Renamed to ...
15701 (put): ... this. Remove mapping.
15702 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
15703 * term/serial.c: Simplify using terminfo.
15704 (xpos): Removed.
15705 (ypos): Likewise.
15706 (keep_track): Likewise.
15707 (registered): Likewise.
15708 (input_buf): Likewise.
15709 (npending): Likewise.
15710 (serial_translate_key_sequence): Likewise.
15711 (fill_input_buf): Likewise.
15712 (grub_serial_checkkey): Likewise.
15713 (grub_serial_getkey): Likewise.
15714 (grub_serial_getxy): Likewise.
15715 (grub_serial_gotoxy): Likewise.
15716 (grub_serial_putchar): Likewise.
15717 (grub_serial_cls): Likewise.
15718 (grub_serial_setcolorstate): Likewise.
15719 (grub_serial_setcursor): Likewise.
15720 (serial_hw_init): Use serial_hw_fetch.
15721 (grub_serial_terminfo_input): New variable.
15722 (grub_serial_terminfo_output): Likewise.
15723 (grub_serial_term_input): Use terminfo.
15724 (grub_serial_term_output): Likewise.
15725 * term/terminfo.c (putstr): Use put.
15726 (grub_terminfo_all_free): New function
15727 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
15728 (grub_terminfo_output_register): New function.
15729 (grub_terminfo_output_unregister): Likewise.
15730 (grub_terminfo_getxy): Likewise.
15731 (grub_terminfo_readkey): Likewise.
15732 (grub_terminfo_checkkey): Likewise.
15733 (grub_terminfo_getkey): Likewise.
15734 (grub_terminfo_input_init): Likewise.
15735 (print_terminfo): Likewise.
15736 (grub_cmd_terminfo): Handle encoding.
15737 (grub_terminfo_gotoxy): Track position.
15738 (grub_terminfo_cls): Likewise.
15739 (grub_terminfo_putchar): Likewise.
15740 (grub_terminfo_setcolorstate): Handle colors
15741 (grub_terminfo_cursor_on): This ...
15742 (grub_terminfo_cursor_off): ... and this merged into ...
15743 (grub_terminfo_setcursor): ... this.
15744 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
15745 * unicode/ArabicShaping.txt: New file (imported from Unicode).
15746 * unicode/BidiMirroring.txt: Likewise.
15747 * unicode/UnicodeData.txt: Likewise.
15748 * unicode/COPYING: Likewise.
15749 * util/grub-editenv.c (grub_putchar): Removed.
15750 (grub_xputs_real): New function.
15751 (grub_xputs): New variable.
15752 * util/grub-fstest.c (grub_putchar): Removed.
15753 (grub_xputs_real): New function.
15754 (grub_xputs): New variable.
15755 * util/grub-mkdevicemap.c (grub_putchar): Removed.
15756 (grub_xputs_real): New function.
15757 (grub_xputs): New variable.
15758 * util/grub-probe.c (grub_putchar): Removed.
15759 (grub_xputs_real): New function.
15760 (grub_xputs): New variable.
15761 * util/grub-script-check.c (grub_putchar): Removed.
15762 (grub_xputs_real): New function.
15763 (grub_xputs): New variable.
15764 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
15765 (grub_xputs_real): New function.
15766 (grub_xputs): New variable.
15767 * util/import_unicode.py: New file.
15768 * util/grub-mkfont.c (ft_errmsgs): New array.
15769 (grub_glyph_info): Make bitmap a pointer.
15770 (file_formats): New type WIDTH_SPEC.
15771 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
15772 (options): Add width-spec.
15773 (help): Likewise.
15774 (add_char): Renamed to ...
15775 (add_glyph): ... this.
15776 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
15777 (glyph_replace): New type.
15778 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
15779 (add_char): New function.
15780 (add_subst): Likewise.
15781 (process_cursive): Likewise.
15782 (add_font): Handle GSUB.
15783 (write_font_width_spec): New function.
15784 (main): Sort glyphs.
15785 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
15786 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
15787 * kern/term.c (grub_cls): Moved from here...
15788 * normal/term.c (grub_cls): ... here.
15789
50f0bcda
CW
157902010-07-02 Colin Watson <cjwatson@ubuntu.com>
15791
15792 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
15793 suitable for using within the format argument of printf when
15794 converting grub_size_t.
15795 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
15796 "x" to convert grub_size_t arguments.
15797
40372103
VS
157982010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15799
15800 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
15801 too long captions.
15802 (list_get_minimal_size): Take selection box into account.
15803
942a10c7
VS
158042010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15805
15806 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
15807 NULL font.
15808
2bdb2892
CW
158092010-07-02 Colin Watson <cjwatson@ubuntu.com>
15810
15811 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
15812 devices when iterating over /dev/disk/by-id; they will be handled
15813 later if appropriate, which they aren't always (e.g. LVM).
15814
e03ed6c1
CW
158152010-07-02 Colin Watson <cjwatson@ubuntu.com>
15816
15817 * include/grub/misc.h (grub_reboot): Declare as noreturn.
15818 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
15819 fails.
15820 (grub_halt): Likewise.
15821 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
15822 reset-all fails.
15823 (grub_halt): Don't return, even if all of shut-down, power-off, and
15824 poweroff fail.
15825
47695765
CW
158262010-07-02 Colin Watson <cjwatson@ubuntu.com>
15827
15828 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
15829 arguments, not three.
15830
507736c8
CW
158312010-07-02 Colin Watson <cjwatson@ubuntu.com>
15832
15833 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
15834 * util/grub.d/10_linux.in: Use it to check for LVM, so that
15835 LVM-on-RAID is handled correctly.
15836
e3c8cd37
CW
158372010-07-02 Colin Watson <cjwatson@ubuntu.com>
15838
15839 * docs/grub.texi (Changes from GRUB Legacy): New section.
15840 (Future): Fix typo.
15841
8d4a2fec
CW
158422010-07-02 Colin Watson <cjwatson@ubuntu.com>
15843
15844 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
15845 grub.d/README accidentally ends up executable for one reason or
15846 another. Ignore it.
15847
1c4827be
VS
158482010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15849
15850 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
15851 (gpt_partition_map_iterate): Support non-512B sectors.
15852
d9a0c941
VS
158532010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15854
15855 * kern/efi/init.c (grub_efi_init): Disable watchdog.
15856 Tested by: Seth Goldberg.
15857
48f27e87
VS
158582010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15859
15860 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
15861 Properly align mbi.
15862 Reported by: Seth Goldberg.
15863
b0c4f956
VS
158642010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
15865
15866 * util/grub-mkrescue.in: Avoid module duplication.
15867
105a2e8c
SF
158682010-07-01 Sean Finney <seanius@seanius.net>
15869
15870 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
15871
5944958c
SF
158722010-07-01 Sean Finney <seanius@seanius.net>
15873
15874 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
15875
158762010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
15877
15878 * disk/lvm.c (grub_lvm_checkvalue): New function.
15879 (grub_lvm_check_flag): Likewise.
15880
b79889ba
RM
158812010-07-01 Robert Millan <rmh@gnu.org>
15882
15883 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
15884 Support 'p' as partition separator on kernel of FreeBSD (used
15885 with GPT labels).
15886 (grub_util_biosdisk_get_grub_dev): Likewise.
15887
ec1d04f1
VS
158882010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
15889
15890 Yeeloong firmware port.
15891
15892 * boot/mips/yeeloong/fwstart.S: New file.
15893 * bus/cs5536.c (gpiodump): New const.
15894 (set_io_space): New function.
15895 (set_iod): Likewise.
15896 (set_p2d): Likewise.
15897 (grub_cs5536_init_geode): Likewise.
15898 * commands/mips/yeeloong/lsspd.c: New file.
15899 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
15900 (serial_mod_SOURCES): New variable.
15901 (serial_mod_CFLAGS): Likewise.
15902 (serial_mod_LDFLAGS): Likewise.
15903 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
15904 term/terminfo.c and term/tparm.c.
15905 (pkglib_IMAGES): Add fwstart.img.
15906 (fwstart_img_SOURCES): New variable.
15907 (fwstart_img_CFLAGS): Likewise.
15908 (fwstart_img_ASFLAGS): Likewise.
15909 (fwstart_img_LDFLAGS): Likewise.
15910 (fwstart_img_FORMAT): Likewise.
15911 (pkglib_MODULES): Add lsspd.mod.
15912 (lsspd_mod_SOURCES): New variable.
15913 (lsspd_mod_CFLAGS): Likewise.
15914 (lsspd_mod_LDFLAGS): Likewise.
15915 (pkglib_MODULES): Add halt.mod.
15916 (halt_mod_SOURCES): New variable.
15917 (halt_mod_CFLAGS): Likewise.
15918 (halt_mod_LDFLAGS): Likewise.
15919 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
15920 (serial_mod_SOURCES): Removed.
15921 (serial_mod_CFLAGS): Likewise.
15922 (serial_mod_LDFLAGS): Likewise.
15923 * disk/ata.c (check_device): New function.
15924 (grub_ata_device_initialize): Use check_device.
15925 (grub_ata_iterate): Recheck devices.
15926 (grub_ata_open): Likewise.
15927 (grub_atapi_iterate): Likewise.
15928 (grub_atapi_open): Likewise.
15929 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
15930 (GRUB_ATA_CH1_PORT1): Likewise.
15931 (GRUB_ATA_CH0_PORT2): Likewise.
15932 (GRUB_ATA_CH1_PORT2): Likewise.
15933 * include/grub/mips/loongson.h: New file.
15934 * include/grub/mips/yeeloong/ec.h: Likewise.
15935 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
15936 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
15937 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
15938 * include/grub/misc.h (grub_halt): Declare as noreturn.
15939 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
15940 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
15941 (UART_ENABLE_FIFO_TRIGGER1): New definition.
15942 (UART_ENABLE_DTRRTS): Likewise.
15943 (UART_ENABLE_MODEM): Removed.
15944 (UART_ENABLE_OUT2): New const.
15945 * include/grub/term.h (grub_term_register_input_active): New function.
15946 (grub_term_register_output_active): Likewise.
15947 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
15948 argument.
15949 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
15950 (init_pci): New function.
15951 (grub_machine_init): Execute platform init when firmware. Init serial.
15952 (grub_halt): Implement.
15953 (grub_exit): Likewise.
15954 (grub_reboot): Likewise.
15955 * term/serial.c (serial_hw_init): Update macros.
15956 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
15957 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
15958 (image_targets): New target mipsel-yeeloong-flash.
15959 (generate_image): Support IMAGE_YEELOONG_FLASH.
15960 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
15961 (grub_video_sm712_setup): Init card.
15962 (grub_video_sm712_set_palette): Removed.
15963 * video/sm712_init.c: New file.
15964
ff4a70d2
CW
159652010-06-30 Colin Watson <cjwatson@ubuntu.com>
15966
15967 * Makefile.in (install-local): Temporarily prepend $(builddir) to
15968 PATH when running help2man and then run it on the unadorned
15969 executable names, rather than passing $(builddir)/* paths to
15970 help2man. This avoids the build directory ending up in generated
15971 manual pages.
15972
1246efeb
CW
159732010-06-29 Colin Watson <cjwatson@ubuntu.com>
15974
15975 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
15976 to avoid accidents when debugging with 'sh -x'.
15977 * util/grub-mkrescue.in: Likewise.
15978 * util/grub.d/00_header.in: Likewise.
15979 * util/grub.d/10_hurd.in: Likewise.
15980 * util/grub.d/10_kfreebsd.in: Likewise.
15981 * util/grub.d/10_linux.in: Likewise.
15982 * util/grub.d/10_netbsd.in: Likewise.
15983 * util/grub.d/10_windows.in: Likewise.
15984 * util/grub.d/20_linux_xen.in: Likewise.
15985 * util/grub.d/30_os-prober.in: Likewise.
15986 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15987
1ba9b889
CW
159882010-06-29 Colin Watson <cjwatson@ubuntu.com>
15989
15990 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
15991 last character in the buffer.
15992 Reported by: Vladimir Serbinenko.
15993
dccaf99d
RM
159942010-06-29 Robert Millan <rmh@gnu.org>
15995
15996 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
15997 (Command-line and menu entry commands): Document `badram' command.
15998
d500ed12
RM
159992010-06-28 Robert Millan <rmh@gnu.org>
16000
16001 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
16002 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
16003 command using ${GRUB_BADRAM} as parameter.
16004
20bc84a6
CW
160052010-06-28 Colin Watson <cjwatson@ubuntu.com>
16006
16007 * docs/grub.texi (Device map): New section.
16008 (Themes): New section (stub).
16009 * Makefile.in (docs/grub.info): The info documentation now builds
16010 without errors. Make sure it stays that way.
16011
4045dee1
VS
160122010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16013
16014 Use normal parser for menu entries.
16015 Reported by: Thomas Frauendorfer
16016
16017 * include/grub/parser.h (grub_parser_execute): Don't export.
16018 * normal/menu.c (grub_menu_execute_entry_real): New function.
16019 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
16020
bca58c7b
CW
160212010-06-28 Colin Watson <cjwatson@ubuntu.com>
16022
16023 * docs/grub.texi (Embedded configuration): New section (replacing
16024 old "Preset Menu" stub).
16025 (Images): New section.
16026 (configfile): Note that any menu entries defined in `file' are shown
16027 immediately.
16028
dec53e63
JT
160292010-06-28 Josh Triplett <josh@joshtriplett.org>
16030
16031 * mmap/i386/pc/mmap_helper.S: Set CF on return.
16032
c06e40f7
CW
160332010-06-28 Colin Watson <cjwatson@ubuntu.com>
16034
16035 * util/grub-install.in: Add --debug-image= option.
16036
cb88052b
CW
160372010-06-28 Colin Watson <cjwatson@ubuntu.com>
16038
16039 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
16040 possible on Linux.
16041
16042 * util/deviceiter.c (check_device): Rename to ...
16043 (check_device_readable_unique): ... this. Update all callers.
16044 Maintain and check a list of which devices (by canonicalized name)
16045 have already been seen.
16046 (clear_seen_devices): New function.
16047 (compare_file_names) [__linux__]: New function.
16048 (grub_util_iterate_devices): Clear the list of seen devices on exit
16049 and (just in case) on entry.
16050 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
16051 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
16052 seen-devices list, superseded by general code in check_device.
16053
bbe34652
CW
160542010-06-28 Colin Watson <cjwatson@ubuntu.com>
16055
16056 * commands/cat.c (options): New variable.
16057 (grub_cmd_cat): Parse options. If the --dos option is given, print
16058 DOS-style "\r\n" line endings as simple newlines (Debian bug
16059 #586358).
16060 (GRUB_MOD_INIT): Use extcmd.
16061 (GRUB_MOD_FINI): Likewise.
16062 * docs/grub.texi (cat): Document --dos.
16063
412e09f3
VS
160642010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16065
16066 XEN with Linux grub-mkconfig support.
16067
16068 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
16069 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
16070 GRUB_CMDLINE_XEN_DEFAULT.
16071 * util/grub.d/20_linux_xen.in: New file.
16072
53f3ef38 160732010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
16074
16075 Initialise VGA video on qemu ourselves.
16076
16077 * boot/i386/qemu/boot.S: Don't call 0xc000.
16078 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
16079 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
16080 (kernel_img_HEADERS): Add pci.h.
16081 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
16082 * configure.ac: Force unifont on qemu and yeeloong.
16083 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
16084 (grub_vga_palette_write): Use correct register.
16085 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
16086 Call grub_qemu_init_cirrus.
16087 * kern/i386/qemu/init.c: New file.
16088 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
16089
16090 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
16091
c75be4fb
PR
160922010-06-26 Pavel Roskin <proski@gnu.org>
16093
16094 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
16095 13.
16096
d8034603
CW
160972010-06-26 Colin Watson <cjwatson@ubuntu.com>
16098
16099 * docs/grub.texi (Simple configuration): Explain that
16100 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
16101 set to `true' to disable their respective recovery entries, not
16102 merely set.
16103
3fa06487
CW
161042010-06-26 Colin Watson <cjwatson@ubuntu.com>
16105
16106 Make the `source' command slightly faster.
16107
16108 * normal/main.c (grub_normal_execute): Don't re-read list files when
16109 nested.
16110
e9b29642
CW
161112010-06-23 Colin Watson <cjwatson@ubuntu.com>
16112
16113 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
16114 field position and mask size to red fields from mode_info, not
16115 green.
16116 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
16117 Remove redundant tag->common.framebuffer_type assignment.
16118 Reported by: Seth Goldberg.
16119
e726542f
CW
161202010-06-23 Colin Watson <cjwatson@ubuntu.com>
16121
16122 Sync up other versions of the Linux loader with Robert Millan's
16123 change of 2010-01-09, "Make loader output a bit more user-friendly".
16124
16125 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
16126 grub_dprintf().
16127 (grub_cmd_linux): Likewise.
16128 (grub_cmd_initrd): Likewise.
16129 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
16130 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16131
d6e98a17
CW
161322010-06-21 Colin Watson <cjwatson@ubuntu.com>
16133
16134 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
16135 larger than MEMORY_MAP_SIZE.
16136
14d3f08e
BC
161372010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
16138
16139 Fix parallel build.
16140
16141 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
16142 dependency.
16143 * script/parser.y: #include grub_script.tab.h header.
16144
4f9613a3
VS
161452010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16146
16147 Support >3GiB and <16MiB RAM in i386-qemu.
16148
16149 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
16150 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
16151 (grub_lower_mem): Removed.
16152 (grub_upper_mem): Likewise.
16153 (mem_size): Made static.
16154 (above_4g): New variable.
16155 (grub_machine_mmap_init): Detect small mem_size and above_4g.
16156 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
16157 support.
16158
05e51879
VS
161592010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16160
16161 Cirrus 5446 and Bochs video cards support.
16162
16163 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
16164 video_bochs.mod
16165 (video_cirrus_mod_SOURCES): New variable.
16166 (video_cirrus_mod_CFLAGS): Likewise.
16167 (video_cirrus_mod_LDFLAGS): Likewise.
16168 (video_bochs_mod_SOURCES): Likewise.
16169 (video_bochs_mod_CFLAGS): Likewise.
16170 (video_bochs_mod_LDFLAGS): Likewise.
16171 * include/grub/vga.h: New file.
16172 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
16173 (grub_video_fb_set_page_t): New type.
16174 (grub_video_fb_setup): New prototype.
16175 (grub_video_fb_swap_buffers): Likewise.
16176 (grub_video_fb_get_info_and_fini): Likewise.
16177 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
16178 (CRTC_DATA_PORT): Likewise.
16179 (CRTC_CURSOR): Likewise.
16180 (CRTC_CURSOR_ADDR_HIGH): Likewise.
16181 (CRTC_CURSOR_ADDR_LOW): Likewise.
16182 (CRTC_CURSOR_DISABLE): Likewise.
16183 (update_cursor): Use grub_vga_cr_write.
16184 (grub_vga_text_setcursor): Likewise.
16185 * video/bochs.c: New file.
16186 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
16187 (palette): Likewise.
16188 (palette_size): Likewise.
16189 (framebuffer): New variable.
16190 (grub_video_fb_init): Use 'framebuffer'.
16191 (grub_video_fb_fini): Likewise.
16192 (grub_video_fb_get_info): Likewise.
16193 (grub_video_fb_get_palette): Likewise.
16194 (grub_video_fb_set_palette): Likewise.
16195 (grub_video_fb_set_viewport): Likewise.
16196 (grub_video_fb_get_viewport): Likewise.
16197 (grub_video_fb_map_color): Likewise.
16198 (grub_video_fb_map_rgb): Likewise.
16199 (grub_video_fb_map_rgba): Likewise.
16200 (grub_video_fb_unmap_color): Likewise.
16201 (grub_video_fb_unmap_color_int): Likewise.
16202 (grub_video_fb_fill_rect): Likewise.
16203 (grub_video_fb_blit_bitmap): Likewise.
16204 (grub_video_fb_blit_render_target): Likewise.
16205 (grub_video_fb_scroll): Likewise.
16206 (grub_video_fb_create_render_target): Likewise.
16207 (grub_video_fb_doublebuf_blit_init): Likewise.
16208 (grub_video_fb_set_active_render_target): Handle doublebuffering.
16209 (doublebuf_pageflipping_update_screen): New function.
16210 (doublebuf_pageflipping_init): Likewise.
16211 (grub_video_fb_setup): Likewise.
16212 (grub_video_fb_swap_buffers): Likewise.
16213 (grub_video_fb_get_info_and_fini): Likewise.
16214 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
16215 All users updated.
16216 (doublebuf_pageflipping_commit): Restructured into ...
16217 (doublebuf_pageflipping_set_page): ... this.
16218 (doublebuf_pageflipping_update_screen): Removed.
16219 (doublebuf_pageflipping_init): Likewise.
16220 (double_buffering_init): Likewise.
16221 (grub_video_vbe_setup): Use grub_video_fb_setup.
16222 (grub_video_vbe_swap_buffers): Removed.
16223 (grub_video_vbe_set_active_render_target): Likewise.
16224 (grub_video_vbe_get_active_render_target): Likewise.
16225 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
16226 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
16227 grub_video_fb_set_active_render_target and
16228 grub_video_fb_get_active_render_target.
16229 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
16230 (SEQUENCER_DATA_PORT): Likewise.
16231 (MAP_MASK_REGISTER): Likewise.
16232 (CRTC_ADDR_PORT): Likewise.
16233 (CRTC_DATA_PORT): Likewise.
16234 (START_ADDR_HIGH_REGISTER): Likewise.
16235 (START_ADDR_LOW_REGISTER): Likewise.
16236 (GRAPHICS_ADDR_PORT): Likewise.
16237 (GRAPHICS_DATA_PORT): Likewise.
16238 (READ_MAP_REGISTER): Likewise.
16239 (INPUT_STATUS1_REGISTER): Likewise.
16240 (INPUT_STATUS1_VERTR_BIT): Likewise.
16241 (get_map_mask): Use grub_vga_sr_read.
16242 (set_map_mask): Use grub_vga_sr_write.
16243 (set_read_map): Use grub_vga_gr_write.
16244 (set_start_address): Use grub_vga_cr_write.
16245 * video/sm712.c (framebuffer): Remove leftover fields.
16246
4321c64a
CW
162472010-06-20 Colin Watson <cjwatson@ubuntu.com>
16248
16249 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
16250 setting GRUB_VIDEO_BACKEND. Make it available as a user override
16251 instead. Replace the gfxterm backend check with a check that
16252 ${GRUB_PREFIX}/video.lst is non-empty.
16253 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
16254 again.
16255 (load_video): New generated function. Call it before loading
16256 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
16257 * util/grub.d/10_linux.in (linux_entry): Call load_video.
16258 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
16259 * docs/grub.texi (Simple configuration): Document
16260 GRUB_VIDEO_BACKEND.
16261
162622010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16263
16264 Use video functions in linux and xnu loaders.
16265
16266 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
16267 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
16268 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
16269 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
16270 loader/i386/pc/linux.c.
16271 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
16272 (find_line_len): Removed.
16273 (find_framebuf): Likewise.
16274 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
16275 * loader/i386/efi/xnu.c: Removed.
16276 * loader/i386/pc/xnu.c: Moved from here...
16277 * loader/i386/xnu.c: ...here.
16278
16279 Enable priorities in video drivers.
16280
16281 * include/grub/video.h (grub_video_adapter_prio_t): New type.
16282 (grub_video_adapter): New field prio.
16283 (grub_video_register): Respect prio when inserting.
16284 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
16285 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
16286 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
16287 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
16288 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
16289 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
16290 * video/sm712.c (grub_video_sm712_adapter): Likewise.
16291
16292 Fix SDL driver ID.
16293
16294 * include/grub/video.h (grub_video_driver_id_t): New value
16295 GRUB_VIDEO_DRIVER_SDL.
16296 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
16297
7d24e434
CW
162982010-06-17 Colin Watson <cjwatson@ubuntu.com>
16299
16300 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
16301 argument to printf.
16302 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16303
c88a83f6
CW
163042010-06-17 Colin Watson <cjwatson@ubuntu.com>
16305
16306 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
16307 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16308
094dfb69
CW
163092010-06-17 Colin Watson <cjwatson@ubuntu.com>
16310
16311 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
16312 directly, and recommend grub-install instead.
16313 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16314
2164da6b
CW
163152010-06-17 Colin Watson <cjwatson@ubuntu.com>
16316
16317 Fix i386-pc prefix handling with nested partitions (Debian bug
16318 #585068). Note that the case where the core image is booted using
16319 multiboot and relocated from its original location still requires
16320 more work.
16321
16322 * kern/i386/pc/init.c (make_install_device): If the prefix starts
16323 with "(,", fill the boot drive in between those two characters, but
16324 expect that a full partition specification including partition map
16325 names will follow.
16326 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
16327 specified, write a prefix without the drive name but including a
16328 full partition specification.
16329
044e2e60
CW
163302010-06-16 Colin Watson <cjwatson@ubuntu.com>
16331
16332 * util/grub-mkconfig.in: Ignore non-option arguments, for
16333 compatibility with older versions (before 2010-06-12) which did the
16334 same. In particular, this makes it easier to ship an update-grub
16335 wrapper which is compatible with that used with GRUB Legacy (Debian
16336 bug #586056).
16337
5591324f
GS
163382010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16339
16340 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
16341 for manual page generation.
16342
662e24d5
GS
163432010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16344
16345 * po/POTFILES: Remove leftover commands/handler.c.
16346
8d70754e
CW
163472010-06-14 Colin Watson <cjwatson@ubuntu.com>
16348
16349 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
16350 left this script non-functional.
16351
41160e2e
CW
163522010-06-14 Colin Watson <cjwatson@ubuntu.com>
16353
16354 * docs/man/grub-emu.h2m: New file.
16355
b5309cc1
CW
163562010-06-13 Colin Watson <cjwatson@ubuntu.com>
16357
16358 * docs/grub.texi (Commands): Document reduced command set in rescue
16359 mode.
16360 (cpuid): New section.
16361
fcb2d090
GS
163622010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
16363
16364 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
16365 new partition naming style.
16366 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
16367
96e5c556
BC
163682010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
16369
16370 Add "-o grub.iso" like cmdline options support.
16371
16372 * util/grub-install.in: Improve cmdline option parsing.
16373 * util/grub-mkconfig.in: Likewise.
16374 * util/grub-mkrescue.in: Likewise.
16375 * util/grub-reboot.in: Likewise.
16376 * util/grub-set-default.in: Likewise.
16377 * util/i386/efi/grub-install.in: Likewise.
16378 * util/ieee1275/grub-install.in: Likewise.
16379 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16380
c16be99b
CW
163812010-06-12 Colin Watson <cjwatson@ubuntu.com>
16382
16383 * .bzrignore: Ignore 41_custom.
16384
ce08a9fb
TS
163852010-06-12 Thomas Schmitt <scdbackup@gmx.net>
16386
16387 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
16388
7beac90c
CW
163892010-06-12 Colin Watson <cjwatson@ubuntu.com>
16390
16391 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
16392 prototype declarations.
16393
16394 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
16395 generating fs, partmap, and video lists.
16396 * include/grub/fs.h (grub_fs_register): Omit prototype if
16397 GRUB_LST_GENERATOR is defined.
16398 * include/grub/partition.h (grub_partition_map_register): Likewise.
16399 * include/grub/video.h (grub_video_register): Likewise.
16400
1c8f0f8d
JM
164012010-06-12 Javier Martín <lordhabbit@gmail.com>
16402
16403 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
16404
a6085973
TS
164052010-06-12 Thomas Schmitt <scdbackup@gmx.net>
16406
16407 * util/grub-mkrescue.in: Support --xorriso argument.
16408
25c56d29
VS
164092010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16410
16411 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
16412 Suggested by: Thomas Schmitt.
16413
e03e4b24
VS
164142010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16415
16416 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
16417 Suggested by: Thomas Schmitt.
16418
57711df6
VS
164192010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16420
16421 custom.cfg support.
16422
16423 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
16424 * util/grub.d/41_custom.in: New file.
16425
ee62c427
CW
164262010-06-12 Colin Watson <cjwatson@ubuntu.com>
16427
16428 * util/grub-mkrescue.in (make_image): Remove sh module, which has
16429 been merged back into normal.
16430
283af07a
CW
164312010-06-11 Colin Watson <cjwatson@ubuntu.com>
16432
16433 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
16434 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
16435
56a0d956
CW
164362010-06-11 Colin Watson <cjwatson@ubuntu.com>
16437
16438 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
16439 when generating manual pages.
16440 * docs/man/grub-bin2h.h2m: New file.
16441 * docs/man/grub-editenv.h2m: New file.
16442 * docs/man/grub-fstest.h2m: New file.
16443 * docs/man/grub-install.h2m: New file.
16444 * docs/man/grub-macho2img.h2m: New file.
16445 * docs/man/grub-mkconfig.h2m: New file.
16446 * docs/man/grub-mkdevicemap.h2m: New file.
16447 * docs/man/grub-mkfont.h2m: New file.
16448 * docs/man/grub-mkimage.h2m: New file.
16449 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
16450 * docs/man/grub-mkrelpath.h2m: New file.
16451 * docs/man/grub-mkrescue.h2m: New file.
16452 * docs/man/grub-ofpathname.h2m: New file.
16453 * docs/man/grub-pe2elf.h2m: New file.
16454 * docs/man/grub-probe.h2m: New file.
16455 * docs/man/grub-reboot.h2m: New file.
16456 * docs/man/grub-script-check.h2m: New file.
16457 * docs/man/grub-set-default.h2m: New file.
16458 * docs/man/grub-setup.h2m: New file.
16459
3a37e322
VS
164602010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
16461
16462 Use FOR_* macros instead of *_iterate whenever possible.
16463
16464 * commands/handler.c: Removed.
16465 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
16466 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
16467 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16468 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
16469 (grub_probe_SOURCES): Remove kern/parser.c.
16470 (util/grub-script-check.c_DEPENDENCIES): Removed.
16471 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
16472 and grub_script_check_init.c.
16473 (grub_script_check_init.lst): Removed.
16474 (grub_script_check_init.h): Likewise.
16475 (grub_script_check_init.c): Likewise.
16476 (pkglib_MODULES): Remove handler.mod and sh.mod.
16477 (handler_mod_SOURCES): Removed.
16478 (handler_mod_CFLAGS): Likewise.
16479 (handler_mod_LDFLAGS): Likewise.
16480 (normal_mod_SOURCES): Remove normal/handler.c.
16481 Add script/main.c, script/script.c, script/execute.c,
16482 script/function.c, script/lexer.c, grub_script.tab.c
16483 and grub_script.yy.c.
16484 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16485 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16486 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
16487 (grub_setup_SOURCES): Remove kern/parser.c.
16488 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16489 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
16490 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
16491 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16492 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16493 (grub_setup_SOURCES): Remove kern/parser.c.
16494 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16495 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
16496 * include/grub/command.h (grub_command_iterate): Removed.
16497 (FOR_COMMANDS): New macro.
16498 * include/grub/dl.h (grub_dl): New member next.
16499 (grub_dl_iterate): Removed.
16500 (grub_dl_head): New variable declaration.
16501 (FOR_DL_MODULES): New macro.
16502 * include/grub/fs.h: Include list.h.
16503 (grub_fs): Make next first element.
16504 (grub_fs_list): New variable declaration.
16505 (grub_fs_register): Make inline.
16506 (grub_fs_unregister): Likewise.
16507 (grub_fs_iterate): Removed.
16508 (FOR_FILESYSTEMS): New macro.
16509 * include/grub/handler.h: Removed.
16510 * include/grub/list.h (grub_list_hook_t): Removed.
16511 (grub_list_test_t): Likewise.
16512 (grub_list_pop): Likewise.
16513 (grub_list_iterate): Likewise.
16514 (grub_list_insert): Likewise.
16515 (FOR_LIST_ELEMENTS): New macro.
16516 * include/grub/parser.h (grub_parser_class): Removed.
16517 (grub_parser_register): Likewise.
16518 (grub_parser_unregister): Likewise.
16519 (grub_parser_get_current): Likewise.
16520 (grub_parser_set_current): Likewise.
16521 (grub_register_rescue_parser): Likewise.
16522 (grub_rescue_parse_line): New function.
16523 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
16524 * include/grub/script_sh.h (grub_script_function_list): New variable
16525 declaration.
16526 (FOR_SCRIPT_FUNCTIONS): New macro.
16527 (grub_script_function_iterate): Removed.
16528 (grub_normal_parse_line): New prototype.
16529 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
16530 (FOR_DISABLED_TERM_INPUTS): Likewise.
16531 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
16532 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
16533 * include/grub/video.h (grub_video_adapter): Move 'next' to first
16534 element.
16535 (grub_video_register): Inline.
16536 (grub_video_unregister): Likewise.
16537 (grub_video_adapter_list): New variable declaration.
16538 (grub_video_iterate): Removed.
16539 (FOR_VIDEO_ADAPTERS): New macro.
16540 * kern/dl.c (grub_dl_list): Removed. All users updated.
16541 (grub_dl_iterate): Removed.
16542 * kern/fs.c (grub_fs_list): Make global.
16543 (grub_fs_register): Removed.
16544 (grub_fs_unregister): Likewise.
16545 (grub_fs_iterate): Likewise.
16546 * kern/handler.c: Removed.
16547 * kern/list.c (grub_list_pop): Removed.
16548 (grub_list_iterate): Likewise.
16549 (grub_list_insert): Likewise.
16550 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
16551 (grub_prio_list_insert): Don't use grub_list_insert.
16552 * kern/main.c (grub_register_rescue_parser): Don't call
16553 grub_register_rescue_parser.
16554 * kern/parser.c (grub_parser_class): Removed.
16555 (grub_parser_execute): Use grub_rescue_parse_line.
16556 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
16557 (grub_rescue_parser): Removed.
16558 (grub_register_rescue_parser): Likewise.
16559 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
16560 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
16561 (grub_auth_check_authentication): Likewise.
16562 * normal/completion.c (iterate_command): Removed.
16563 (grub_normal_do_completion): Use FOR_COMMANDS.
16564 * normal/handler.c: Removed.
16565 * normal/main.c (read_config_file): Remove parser changing.
16566 (grub_normal_execute): Don't call read_handler_list.
16567 (grub_normal_read_line_real): Statically allocate prompt.
16568 (grub_cmdline_run): Use grub_normal_parse_line.
16569 (GRUB_MOD_FINI): Don't call free_handler_list.
16570 * normal/menu_entry.c (run): Likewise.
16571 * script/function.c (grub_script_function_list): Make global.
16572 (grub_script_function_iterate): Removed.
16573 * script/main.c (grub_normal_parse_line): Make global.
16574 (grub_sh_parser): Removed.
16575 (GRUB_MOD_INIT): Likewise.
16576 (GRUB_MOD_FINI): Likewise.
16577 * tests/lib/functional_test.c (grub_functional_test): Use
16578 FOR_LIST_ELEMENTS.
16579 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
16580 (grub_test_run): Use FOR_LIST_ELEMENTS.
16581 * tests/lib/unit_test.c (main): Likewise.
16582 * util/deviceiter.c (grub_util_iterate_devices): Don't use
16583 grub_list_pop.
16584 * util/grub-fstest.c (grub_term_input_class): Removed.
16585 (grub_term_output_class): Likewise.
16586 * util/grub-probe.c: Likewise.
16587 * util/i386/pc/grub-setup.c: Likewise.
16588 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16589 * util/grub-script-check.c (main): Don't call grub_init_all and
16590 grub_fini_all.
16591 * video/video.c (grub_video_adapter_list): Make global.
16592 (grub_video_register): Removed.
16593 (grub_video_unregister): Likewise.
16594 (grub_video_iterate): Likewise.
16595
6289c3a7
VS
165962010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
16597
16598 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
16599 reported by Henrique Ferreiro.
16600
91460247
RM
166012010-06-09 Robert Millan <rmh@gnu.org>
16602
16603 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
16604 ones, when both are available.
16605
0ea7c4f9
GS
166062010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16607
16608 Make --version uniform and avoid hard-coded program name.
16609
16610 * util/grub-mkimage.c (main): Use `program_name' instead of
16611 hard-coded string.
16612 * util/i386/pc/grub-setup.c (main): Likewise.
16613 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
16614 * util/grub-install.in: Save the basename of $0 in $self, and use the
16615 latter in informational messages. Use the same format for --version
16616 as the binary programs.
16617 * util/grub-mkconfig.in: Likewise.
16618 * util/grub-mkrescue.in: Likewise.
16619 * util/grub-reboot.in: Likewise.
16620 * util/grub-set-default.in: Likewise.
16621 * util/i386/efi/grub-install.in: Likewise.
16622 * util/ieee1275/grub-install.in: Likewise.
16623 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16624
e8a6f3b6
GS
166252010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16626
16627 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
16628 embedding area. Use <= instead of == when checking for non-emptiness.
16629
f4d095d7
GS
166302010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16631
16632 * configure.ac: Add `.' to the directories searched for unifont.
16633
50e532ca
CW
166342010-06-08 Colin Watson <cjwatson@ubuntu.com>
16635
16636 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
16637 grub_script.yy.h.
16638
d39f3dec
CW
166392010-06-08 Colin Watson <cjwatson@ubuntu.com>
16640
16641 * docs/grub.texi (History): Expand to cover GRUB 2.
16642 (Serial terminal): Refer to `terminal_input' and `terminal_output'
16643 commands, not `terminal'.
16644 (serial): Likewise.
16645 (terminal_input): New section.
16646 (terminal_output): New section.
16647 (uppermem): New section (stub).
16648 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
16649
6ef0ddb4
CW
166502010-06-08 Colin Watson <cjwatson@ubuntu.com>
16651
16652 * docs/grub.texi (Security): Menu entries are unrestricted by
16653 default, not restricted to superusers as I had previously thought.
16654 Reword to account for this.
16655
e0f4c438
CW
166562010-06-07 Colin Watson <cjwatson@ubuntu.com>
16657
16658 * kern/emu/misc.c (device_mapper_null_log): New function.
16659 (grub_device_mapper_supported): New function.
16660 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
16661 prototype.
16662 * kern/emu/hostdisk.c (find_partition_start): Check whether
16663 device-mapper is supported before trying to use it.
16664 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
16665
da908200
CW
166662010-06-07 Colin Watson <cjwatson@ubuntu.com>
16667
16668 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
16669 (File name syntax): Likewise.
16670 (help): --all is no longer supported in GRUB 2. Be more precise
16671 about pattern matching.
16672
fb55c3ac
CW
166732010-06-07 Colin Watson <cjwatson@ubuntu.com>
16674
16675 * normal/completion.c (grub_normal_do_completion): When completing
16676 arguments to "set" and the current word contains an equals sign,
16677 skip to after the equals sign before starting completion.
16678
258c2573
CW
166792010-06-07 Colin Watson <cjwatson@ubuntu.com>
16680
16681 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
16682
ee75515e
CW
166832010-06-07 Colin Watson <cjwatson@ubuntu.com>
16684
16685 * docs/grub.texi (Network): New section.
16686 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
16687 `(nd)' as in GRUB Legacy.
16688 (pxe_unload): New section.
16689
a6a700aa
CW
166902010-06-07 Colin Watson <cjwatson@ubuntu.com>
16691
16692 * docs/grub.texi (Troubleshooting): `echo' is not usually available
16693 in the rescue shell, so recommend using `set' instead. Thanks,
16694 Jordan Uggla.
16695
4003dd38
CW
166962010-06-07 Colin Watson <cjwatson@ubuntu.com>
16697
16698 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
16699 (password): New section.
16700 (password_pbkdf2): New section.
16701 (search): New section.
16702 (Security): New section.
16703 (Troubleshooting): New section, currently very incomplete.
16704 (Invoking grub-mkpasswd-pbkdf2): New section.
16705 (Internals): New section, currently very incomplete.
16706
e1cbcc40
CW
167072010-06-07 Colin Watson <cjwatson@ubuntu.com>
16708
16709 * util/grub.d/00_header.in: Add some more quoting (of
16710 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
16711 work again.
16712 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
16713
db8fa1ad
CW
167142010-06-07 Colin Watson <cjwatson@ubuntu.com>
16715
16716 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
16717 to `count', fixing variable shadowing that broke the -c option.
16718
167192010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
16720
16721 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
16722 in case they contain spaces.
16723
f28a9212
CW
167242010-06-04 Colin Watson <cjwatson@ubuntu.com>
16725
16726 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
16727 "part_" to partmap module names, in line with grub-install.
16728 Reported by: Jindřich Makovička (Debian bug #584426).
16729
9cdfe32f
CW
167302010-06-04 Colin Watson <cjwatson@ubuntu.com>
16731
16732 * util/grub-mkimage.c: Make target-related error messages slightly
16733 more helpful; -O talks about "format". Explicitly point to the use
16734 of -O if no target is specified.
16735 Reported by: Didier Raboud (Debian bug #584415).
16736
795b593a
CW
167372010-06-03 Colin Watson <cjwatson@ubuntu.com>
16738
16739 * INSTALL: Document several build requirements for optional features
16740 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
16741
9d9b5833
GS
167422010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
16743
16744 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
16745 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
16746 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
16747
0819fec8
CW
167482010-06-02 Colin Watson <cjwatson@ubuntu.com>
16749
16750 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
16751 Thanks to Jordan Uggla for spotting this.
16752
49396b4f
VS
167532010-06-02 Aleš Nesrsta <starous@volny.cz>
16754
16755 Finally make USB usable.
16756
16757 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
16758 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
16759 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
16760 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
16761 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
16762 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
16763 (GRUB_OHCI_FSMPS): Likewise.
16764 (GRUB_OHCI_PERIODIC_START): Likewise.
16765 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
16766 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
16767 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
16768 (GRUB_OHCI_SET_PORT_RESET): Likewise.
16769 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
16770 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
16771 (grub_ohci_transaction): Likewise.
16772 (grub_ohci_transfer): Improve condition detection algorithms.
16773 Handle toggle property. Program the transactions correctly.
16774 Improve error handling. Various important fixups.
16775 (grub_ohci_portstatus): Put register writes in right order.
16776 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
16777 (grub_uhci_transfer): Don't show "failed" message on success.
16778 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
16779 array.
16780 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
16781 determine its size.
16782 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
16783 before initialization is completed. Use IN direction for empty
16784 transfers. Use last_trans and compute toggle.
16785 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
16786 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
16787 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
16788 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
16789 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
16790 (grub_usb_device): Increase toggle to 256.
16791 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
16792 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
16793 GRUB_USBMS_SUBCLASS_SFF8070.
16794 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
16795 (grub_scsi_inquiry): New member page and alloc_length.
16796 (grub_scsi_request_sense): New structure.
16797 (grub_scsi_request_sense_data): Likewise.
16798 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
16799 control.
16800 * disk/scsi.c (grub_scsi_request_sense): New function.
16801 (grub_scsi_test_unit_ready): Likewise.
16802 (grub_scsi_inquiry): Fill new fields.
16803 (grub_scsi_read_capacity): Likewise.
16804 (grub_scsi_read10): Add request sense at the end.
16805 (grub_scsi_read12): Likewise.
16806 (grub_scsi_write10): Likewise.
16807 (grub_scsi_write12): Likewise.
16808 (grub_scsi_open): Add Test Unit Ready.
16809 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
16810 Support additional subclasses. Con't clear halt yet. Activate the
16811 proper config. Calculate LUNs correctly.
16812 (grub_usbms_transfer): Various important fixups.
16813
168142010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
16815
16816 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
16817 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
16818 (grub_ohci_fini_hw): New function.
16819 (grub_ohci_restore_hw): Likewise.
16820 (GRUB_MOD_INIT(ohci)): Register preboot hook.
16821 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
16822 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
16823
168242010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
16825
16826 Dedicated DMA allocations.
16827
16828 * bus/pci.c (grub_memalign_dma32): New function
16829 (grub_dma_free): Likewise.
16830 (grub_dma_get_virt): Likewise.
16831 (grub_dma_get_phys): Likewise.
16832 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
16833 (grub_ohci_pci_iter): Use dma32_alloc.
16834 (grub_ohci_transfer): Likewise.
16835 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
16836 (grub_usb_bulk_readwrite): Likewise.
16837 * include/grub/pci.h: Add declarations.
16838
168392010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
16840
16841 CS5536 support.
16842
16843 * bus/cs5536.c: New file.
16844 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
16845 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
16846 (cs5536_mod_SOURCES): New variable.
16847 (cs5536_mod_CFLAGS): Likewise.
16848 (cs5536_mod_LDFLAGS): Likewise.
16849 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
16850 machine/pci.h.
16851 (kernel_img_SOURCES): Add bus/cs5536.c.
16852 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
16853 usb_keyboard.mod.
16854 (usb_mod_SOURCES): New variable.
16855 (usb_mod_CFLAGS): New variable.
16856 (usb_mod_LDFLAGS): New variable.
16857 (usbtest_mod_SOURCES): New variable.
16858 (usbtest_mod_CFLAGS): New variable.
16859 (usbtest_mod_LDFLAGS): New variable.
16860 (ohci_mod_SOURCES): New variable.
16861 (ohci_mod_CFLAGS): New variable.
16862 (ohci_mod_LDFLAGS): New variable.
16863 (usbms_mod_SOURCES): New variable.
16864 (usbms_mod_CFLAGS): New variable.
16865 (usbms_mod_LDFLAGS): New variable.
16866 (usb_keyboard_mod_SOURCES): New variable.
16867 (usb_keyboard_mod_CFLAGS): New variable.
16868 (usb_keyboard_mod_LDFLAGS): New variable.
16869 * include/grub/smbus.h: New file.
16870 * include/grub/cs5536.h: New file.
16871
0b35b2a9
CW
168722010-06-02 Colin Watson <cjwatson@ubuntu.com>
16873
16874 * util/grub.d/00_header.in: Add safety check to make sure that
16875 ${locale_dir} exists before trying to probe it.
16876
ca0afd5b
CW
168772010-06-02 Colin Watson <cjwatson@ubuntu.com>
16878
16879 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
16880 per the GNU Coding Standards; this is now too obscure to be worth
16881 documenting.
16882 (QNX): Likewise.
16883 (chainloader): Remove cross-reference to `SCO UnixWare'.
16884
1c41aa78
CW
168852010-06-02 Colin Watson <cjwatson@ubuntu.com>
16886
16887 * docs/grub.texi (Chain-loading): New section.
16888 (DOS/Windows): New section, borrowed from GRUB Legacy with details
16889 adjusted for GRUB 2.
16890 (SCO UnixWare): Likewise.
16891 (QNX): Likewise.
16892 (chainloader): Add reference to `Block list syntax'.
16893 (drivemap): New section.
16894 (parttool): New section.
16895
bb8ea0f5
CW
168962010-06-02 Colin Watson <cjwatson@ubuntu.com>
16897
16898 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
16899 the grub shell'.
16900 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
16901 (Installing GRUB using grub-install): Remove reference to the grub
16902 shell; mention `grub-mkimage' and `grub-setup' instead.
16903 (Invoking grub-install): Likewise.
16904 (Interface): Add reference to `Menu entry editor'.
16905 (serial): Remove `--device' option.
16906
288dd6ed
CW
169072010-06-02 Colin Watson <cjwatson@ubuntu.com>
16908
16909 * docs/grub.texi (Configuration): New section, documenting
16910 configuration file generation using grub-mkconfig. I've left a slot
16911 for documenting the full shell scripting format but have not yet
16912 started on writing that up.
16913 (Invoking grub-mkconfig): New section.
16914
34c9f0e9
CW
169152010-06-02 Colin Watson <cjwatson@ubuntu.com>
16916
16917 * docs/grub.texi (direntry): Remove grub-terminfo reference.
16918 (GNU GRUB manual): Likewise.
16919 (General commands): Update description of `terminfo' for GRUB 2.
16920
9121567e
CW
169212010-06-02 Colin Watson <cjwatson@ubuntu.com>
16922
16923 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
16924 (GRUB_MOD_INIT): Fix capitalisation.
16925 * docs/grub.texi (Command-line and menu entry commands): Document
16926 gettext and gptsync commands.
16927
ab631611
CW
169282010-06-02 Colin Watson <cjwatson@ubuntu.com>
16929
16930 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
16931 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
16932
bde4a9ac
CW
169332010-06-01 Colin Watson <cjwatson@ubuntu.com>
16934
16935 Add btrfs probing support, currently only in the single-device case.
16936
16937 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
16938 function.
16939 (grub_guess_root_device): Call find_root_device_from_mountinfo
16940 before looking in /dev.
16941
b1d17e10
VS
169422010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16943
16944 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
16945 GRUB_DISK_SIZE_UNKNOWN.
16946 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
16947
dfbfe004
JS
169482010-05-31 Jiro SEKIBA <jir@unicus.jp>
16949
16950 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
16951 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
16952 corrupted or not synced properly.
16953
c2ffc8e9
VS
169542010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16955
16956 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
16957 Reported by: Seth Goldberg.
16958
56293166
VS
169592010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16960
16961 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
16962 addition of dest.
16963 Reported by: Seth Goldberg.
16964
7620e7de
VS
169652010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16966
16967 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
16968 Reported by: Seth Goldberg.
16969
c837af3f
VS
169702010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
16971
16972 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
16973 64-bit address as signed on MIPS.
16974
c7c75cf4
CW
169752010-05-28 Colin Watson <cjwatson@ubuntu.com>
16976
16977 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
16978 to the empty string.
16979
fa4b8490
BC
169802010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
16981
16982 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
16983
16984 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
16985 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
16986 * kern/misc.c (__enable_execute_stack): Disable on
16987 GRUB_MACHINE_EMU.
16988
a33075b9
CW
169892010-05-28 Colin Watson <cjwatson@ubuntu.com>
16990
16991 Make grub-probe work with symbolic links under /dev/mapper as well
16992 as with real block devices. The Linux world seems to be (at best)
16993 in transition here, and GRUB shouldn't get caught in the middle.
16994
16995 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
16996 /dev/mapper.
16997
d8708134
CW
169982010-05-27 Colin Watson <cjwatson@ubuntu.com>
16999
17000 * util/grub-script-check.c (main): Ensure defined behaviour on empty
17001 input files (in which case exit zero).
17002
db2102a0
CW
170032010-05-27 Colin Watson <cjwatson@ubuntu.com>
17004
17005 * kern/emu/misc.c (canonicalize_file_name): realpath can still
17006 return NULL for various reasons even if it has a maximum-length
17007 buffer: for example, there might be a symlink loop, or the path
17008 might exceed PATH_MAX. If this happens, return NULL.
17009
5fdba519
RM
170102010-05-27 Robert Millan <rmh@gnu.org>
17011
17012 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
17013 partmap module to handle cross-partmap setups.
17014 Reported by Orestes Mas. Gràcies!
17015
d1d368e4
CW
170162010-05-27 Colin Watson <cjwatson@ubuntu.com>
17017
17018 * util/grub-mkrescue.in: Initialise override_dir rather than
17019 assuming that it's unset or empty in the environment.
17020
95ac3c73
GS
170212010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
17022
17023 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
17024 variable index into p_index to suppress a warning with -Wshadow.
17025
7d8c0213
BC
170262010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
17027
17028 * INSTALL: Added flex >= 2.5.35 requirement.
17029
db4d5813
VS
170302010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17031
17032 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
17033
f24f4300
VS
170342010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17035
17036 cmostest support.
17037
17038 * commands/i386/cmostest.c: New file.
17039 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
17040 (cmostest_mod_SOURCES): New variable.
17041 (cmostest_mod_CFLAGS): Likewise.
17042 (cmostest_mod_LDFLAGS): Likewise.
17043 * conf/i386-pc.rmk: Likewise.
17044 * docs/grub.texi (Vendor power-on keys): New section.
17045 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
17046 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
17047 and GRUB_BUTTON_CMOS_ADDRESS.
17048 * util/grub.d/00_header.in: Handle powering-on by separate button.
17049
ad603f61
VS
170502010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17051
17052 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
17053 Removed drawing_scrollbar argument. All users updated
17054 Fixes #29792.
17055 Reported by Jo Shields
17056
3ecb080a
VS
170572010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17058
17059 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
17060 buffer since gfxterm handles double repaint.
17061
5f2316c1
VS
170622010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17063
17064 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
17065 * term/gfxterm.c (real_scroll): Likewise.
17066
9a25f885
VS
170672010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17068
17069 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
17070 before calling BIOS.
17071
39fbb79a
VS
170722010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17073
17074 * include/grub/i18n.h: Always enable grub_gettext.
17075
228cfa97
VS
170762010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17077
17078 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
17079 partition naming style.
17080
21717c8f
CW
170812010-05-21 Colin Watson <cjwatson@ubuntu.com>
17082
17083 * util/grub-mkconfig.in: Fix handling of -o so that it works when
17084 not the first option.
17085
c0f48e65
CW
170862010-05-20 Colin Watson <cjwatson@ubuntu.com>
17087
17088 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
17089
96779aec
CW
170902010-05-20 Colin Watson <cjwatson@ubuntu.com>
17091
17092 * util/misc.c: Move inclusion of <limits.h> to ...
17093 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
17094
fa9d256e
GS
170952010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
17096
17097 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
17098 Fix merge error in NetBSD code.
17099 (find_partition_start) [__NetBSD__]: Likewise.
17100
123b7a85
BC
171012010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
17102
17103 Fix grub-mkrescue usage unit testing.
17104
17105 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
17106
74276c0d
CF
171072010-05-18 Christian Franke <franke@computer.org>
17108
17109 * util/grub.d/10_windows.in: Use path names instead of
17110 drive letters to prevent warning from Cygwin 1.7.
17111 Add drivemap command to menuentry if needed.
17112
c4f7b523
ST
171132010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
17114
17115 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
17116 gnumach and gnumach.gz.
17117
95b97950
VS
171182010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17119
17120 * include/grub/i18n.h (gettext): Inline instead of using #define.
17121 (grub_gettext): Likewise.
17122 (_): Likewise.
17123
01b8d2d7
VS
171242010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17125
17126 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
17127 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
17128 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
17129 (main): Add a slash after pkglibdirroot.
17130
654e1d1e
VS
171312010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17132
17133 * util/grub-install.in: Add missing "in" keyword.
17134
26966aeb
VS
171352010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17136
17137 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
17138 Reported by: Seth Goldberg.
17139
75006747
VS
171402010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17141
17142 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
17143
74cbf5bd
CW
171442010-05-18 Colin Watson <cjwatson@ubuntu.com>
17145
17146 * configure.ac: Check for Linux device-mapper support.
17147
17148 * util/hostdisk.c (device_is_mapped): New function.
17149 (find_partition_start): New function, partly broken out from
17150 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
17151 device-mapper support added.
17152 (linux_find_partition): Use find_partition_start.
17153 (convert_system_partition_to_system_disk): Add `st' argument.
17154 Support Linux /dev/mapper/* devices if device-mapper support is
17155 available; only DM-RAID devices are understood at present.
17156 (find_system_device): Add `st' argument. Pass it to
17157 convert_system_partition_to_system_disk.
17158 (grub_util_biosdisk_get_grub_dev): Pass stat result to
17159 find_system_device and convert_system_partition_to_system_disk. Use
17160 find_partition_start.
17161
17162 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
17163 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
17164 * util/deviceiter.c [__linux__]: Define MINOR.
17165 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
17166 * util/mkdevicemap.c (grub_putchar): New function.
17167 (grub_getkey): New function.
17168 (grub_refresh): New function.
17169 (main): Set debug=all if -v -v is used.
17170
355b51e9
CW
171712010-05-18 Colin Watson <cjwatson@ubuntu.com>
17172
17173 Fix build with non-GNU libcs.
17174
17175 * util/misc.c (canonicalize_file_name): Move to ...
17176 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
17177 grub_make_system_path_relative_to_its_root.
17178
7fb5c25f
CW
171792010-05-18 Colin Watson <cjwatson@ubuntu.com>
17180
17181 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
17182 we handle finding grub-mkimage. Default to finding grub-mkimage in
17183 ${bindir} with program_transform_name applied, and provide a
17184 --grub-mkimage option to override this.
17185
1d3293d6
VS
171862010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17187
17188 Remove grub-mkisofs.
17189
17190 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
17191 (grub_mkisofs_SOURCES): Removed.
17192 (grub_mkisofs_CFLAGS): Removed.
17193 * util/mkisofs/defaults.h: Removed.
17194 * util/mkisofs/eltorito.c: Likewise.
17195 * util/mkisofs/exclude.h: Likewise.
17196 * util/mkisofs/hash.c: Likewise.
17197 * util/mkisofs/include/: Likewise.
17198 * util/mkisofs/include/fctldefs.h: Likewise.
17199 * util/mkisofs/include/mconfig.h: Likewise.
17200 * util/mkisofs/include/prototyp.h: Likewise.
17201 * util/mkisofs/include/statdefs.h: Likewise.
17202 * util/mkisofs/iso9660.h: Likewise.
17203 * util/mkisofs/joliet.c: Likewise.
17204 * util/mkisofs/match.c: Likewise.
17205 * util/mkisofs/match.h: Likewise.
17206 * util/mkisofs/mkisofs.c: Likewise.
17207 * util/mkisofs/mkisofs.h: Likewise.
17208 * util/mkisofs/msdos_partition.h: Likewise.
17209 * util/mkisofs/multi.c: Likewise.
17210 * util/mkisofs/name.c: Likewise.
17211 * util/mkisofs/rock.c: Likewise.
17212 * util/mkisofs/tree.c: Likewise.
17213 * util/mkisofs/write.c: Likewise.
17214
5dde9afe
VS
172152010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17216
17217 Unify grub-mkimage accross platforms.
17218
17219 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
17220 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
17221 (grub_mkelfimage_SOURCES): Removed.
17222 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
17223 (util/grub-mkimage.c_DEPENDENCIES): .. this.
17224 (bin_UTILITIES): Add grub-mkimage.
17225 (grub_mkimage_SOURCES): New variable.
17226 (kernel_img_HEADERS): Remove machine/kernel.h.
17227 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
17228 (pkglib_PROGRAMS): Add kernel.img.
17229 (kernel_img_HEADERS): Add machine/kernel.h.
17230 (kernel_img_FORMAT): Removed.
17231 (bin_UTILITIES): Remove grub-mkimage.
17232 (grub_mkimage_SOURCES): Removed.
17233 (grub_mkimage_CFLAGS): Likewise.
17234 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17235 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
17236 (pkglib_PROGRAMS): Add kernel.img.
17237 (bin_UTILITIES): Remove grub-mkimage.
17238 (grub_mkimage_SOURCES): Removed.
17239 (grub_mkimage_CFLAGS): Likewise.
17240 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17241 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
17242 (pkglib_PROGRAMS): Add kernel.img.
17243 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
17244 (pkglib_PROGRAMS): Add kernel.img.
17245 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
17246 (grub_mkimage_SOURCES): Removed.
17247 (grub_mkimage_CFLAGS): Likewise.
17248 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17249 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
17250 (pkglib_PROGRAMS): Add kernel.img.
17251 (bin_UTILITIES): Remove grub-mkimage.
17252 (grub_mkimage_SOURCES): Removed.
17253 (grub_mkimage_CFLAGS): Likewise.
17254 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17255 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
17256 (grub_mkimage_SOURCES): Removed.
17257 (grub_mkimage_CFLAGS): Likewise.
17258 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17259 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
17260 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
17261 (grub_pe32_optional_header): ... this.
17262 (grub_pe64_optional_header): ... and this. All users updated.
17263 (GRUB_PE32_PE32_MAGIC): Split into ..
17264 (GRUB_PE32_PE32_MAGIC): .. this.
17265 (GRUB_PE32_PE64_MAGIC): .. and this.
17266 (GRUB_PE32_SIGNATURE_SIZE): New definition.
17267 * include/grub/elf.h (PT_GNU_STACK): New definition.
17268 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
17269 * include/grub/i386/efi/kernel.h: Likewise.
17270 * include/grub/i386/kernel.h: Likewise.
17271 * include/grub/i386/pc/kernel.h: Likewise.
17272 * include/grub/i386/qemu/boot.h: Likewise.
17273 * include/grub/mips/kernel.h: Likewise.
17274 * include/grub/mips/qemu-mips/kernel.h: Likewise.
17275 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17276 * include/grub/powerpc/kernel.h: Likewise.
17277 * include/grub/sparc64/ieee1275/boot.h: Likewise.
17278 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17279 * include/grub/sparc64/kernel.h: Likewise.
17280 * include/grub/x86_64/efi/kernel.h: Likewise.
17281 * include/grub/x86_64/kernel.h: Likewise.
17282 * include/grub/offsets.h: New file.
17283 * include/grub/kernel.h (grub_module_info): Split into ...
17284 (grub_module_info32): ... this.
17285 (grub_module_info64): ... and this.
17286 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
17287 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
17288 (grub_boot_blocklist): Moved from here ...
17289 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
17290 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
17291 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
17292 * include/grub/types.h (grub_target_to_host16): Removed.
17293 (grub_target_to_host32): Likewise.
17294 (grub_target_to_host64): Likewise.
17295 (grub_host_to_target16): Likewise.
17296 (grub_host_to_target32): Likewise.
17297 (grub_host_to_target64): Likewise.
17298 (grub_host_to_target_addr): Likewise.
17299
17300 Support grub-mkrescue for efi, coreboot and qemu.
17301
17302 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
17303 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
17304 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
17305 * util/grub-mkrawimage.c: Moved from here ...
17306 * util/grub-mkimage.c: ... here. All users updated.
17307 (ALIGN_ADDR): Use image_target.
17308 (TARGET_NO_FIELD): New const.
17309 (image_target_desc): New type.
17310 (image_targets): New array.
17311 (grub_target_to_host64): Use image_target.
17312 (grub_target_to_host32): Likewise.
17313 (grub_target_to_host16): Likewise.
17314 (grub_host_to_target64): Likewise.
17315 (grub_host_to_target32): Likewise.
17316 (grub_host_to_target16): Likewise.
17317 (grub_host_to_target_addr): Likewise.
17318 (generate_image): Handle multiimage.
17319 (main): Require -O parameter. All users updated.
17320 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
17321 util/efi/grub-mkimage.c
17322 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
17323 New option --rom-directory.
17324 Use xorriso.
17325 * util/i386/efi/grub-mkimage.c: Removed.
17326 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
17327 (grub_target_to_host32): Likewise.
17328 (grub_target_to_host64): Likewise.
17329 (grub_host_to_target16): Likewise.
17330 (grub_host_to_target32): Likewise.
17331 (grub_host_to_target64): Likewise.
17332 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
17333 (grub_target_to_host32): Likewise.
17334 (grub_target_to_host64): Likewise.
17335 (grub_host_to_target16): Likewise.
17336 (grub_host_to_target32): Likewise.
17337 (grub_host_to_target64): Likewise.
17338
f4fc97d0
BC
173392010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
17340
17341 Source tree is reorganized for emu build.
17342
17343 * include/grub/util/console.h: Move from here...
17344 * include/grub/emu/console.h: ...to here.
17345 * include/grub/util/getroot.h: Move from here...
17346 * include/grub/emu/getroot.h: ...to here.
17347 * include/grub/util/hostdisk.h: Move from here...
17348 * include/grub/emu/hostdisk.h: ...to here.
17349 * util/console.c: Move from here...
17350 * kern/emu/console.c: ...to here.
17351 * util/getroot.c: Move from here...
17352 * kern/emu/getroot.c: ...to here.
17353 * util/grub-emu.c: Move from here...
17354 * kern/emu/main.c: ...to here.
17355 * util/hostdisk.c: Move from here...
17356 * kern/emu/hostdisk.c: ...to here.
17357 * util/hostfs.c: Move from here...
17358 * kern/emu/hostfs.c: ...to here.
17359 * util/mm.c: Move from here...
17360 * kern/emu/mm.c: ...to here.
17361 * util/pci.c: Move from here...
17362 * bus/emu/pci.c: ...to here.
17363 * util/sdl.c: Move from here...
17364 * video/emu/sdl.c: ...to here.
17365 * util/time.c: Move from here...
17366 * kern/emu/time.c: ...to here.
17367 * util/usb.c: Move from here...
17368 * bus/usb/emu/usb.c: ...to here.
17369
17370 * include/grub/emu/misc.h: New header for grub-emu functions.
17371 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
17372
17373 * conf/any-emu.rmk: Rule updates for above renames.
17374 * conf/common.rmk: Likewise.
17375 * conf/i386-pc.rmk: Likewise.
17376 * conf/i386-qemu.rmk: Likewise.
17377 * conf/mips.rmk: Likewise.
17378 * conf/sparc64-ieee1275.rmk: Likewise.
17379 * conf/x86-efi.rmk: Likewise.
17380
17381 * disk/lvm.h: #include updates for above renames.
17382 * util/grub-mkrelpath.c: Likewise.
17383 * util/grub-probe.c: Likewise.
17384 * util/i386/pc/grub-setup.c: Likewise.
17385 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17386 * kern/emu/console.c: Likewise.
17387 * kern/emu/getroot.c: Likewise.
17388 * kern/emu/hostdisk.c: Likewise.
17389 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
17390
17391 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
17392 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
17393 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
17394 * util/misc.c: Remove grub-emu functions.
17395
cced9145
VS
173962010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17397
17398 Fix gfxmenu crash.
17399 Reported by: Thorsten Grützmacher.
17400
17401 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
17402 timeout hook.
17403 (circprog_set_property): Register and unregister timeout hook.
17404 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
17405 (label_destroy): Free template. and unregister hook.
17406 (label_set_state): New function.
17407 (label_set_property): Handle templates and hooks.
17408 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
17409 timeout hook.
17410 (progress_bar_set_property): Register and unregister timeout hook.
17411 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
17412 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
17413 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
17414 (update_timeout_visit): Removed.
17415 (update_timeouts): New function.
17416 (redraw_timeouts): Likewise.
17417 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
17418 (grub_gfxmenu_clear_timeout): Likewise.
17419 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
17420 (grub_gfxmenu_timeout_notify): Likewise.
17421 (grub_gfxmenu_timeout_notifications): New external variable.
17422 (grub_gfxmenu_timeout_register): New function.
17423 (grub_gfxmenu_timeout_unregister): Likewise.
17424
c6e5caab
VS
174252010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17426
17427 Transform (broken) vga terminal into (working) vga video driver.
17428
17429 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
17430 video/i386/pc/vga.c.
17431 * include/grub/video.h (grub_video_driver_id):
17432 Add GRUB_VIDEO_DRIVER_VGA.
17433 * term/i386/pc/vga.c: Renamed to ...
17434 * video/i386/pc/vga.c: ...this
17435 (DEBUG_VGA): Removed.
17436 (CHAR_WIDTH): Likewise.
17437 (CHAR_HEIGHT): Likewise.
17438 (TEXT_WIDTH): Likewise.
17439 (TEXT_HEIGHT): Likewise.
17440 (DEFAULT_FG_COLOR): Likewise.
17441 (DEFAULT_BG_COLOR): Likewise.
17442 (colored_char): Likewise.
17443 (xpos): Likewise.
17444 (ypos): Likewise.
17445 (cursor_state): Likewise.
17446 (fg_color): Likewise.
17447 (bg_color): Likewise.
17448 (text_buf): Likewise.
17449 (page): Likewise.
17450 (font): Likewise.
17451 (framebuffer): New variable.
17452 (set_read_map): Disabled.
17453 (setup): New variable.
17454 (is_target): Likewise.
17455 (grub_vga_mod_init): Likewise.
17456 (grub_vga_mod_fini): Likewise.
17457 (check_vga_mem): Likewise.
17458 (write_char): Likewise.
17459 (write_cursor): Likewise.
17460 (scroll_up): Likewise.
17461 (grub_vga_putchar): Likewise.
17462 (grub_vga_getcharwidth): Likewise.
17463 (grub_vga_getwh): Likewise.
17464 (grub_vga_getxy): Likewise.
17465 (grub_vga_gotoxy): Likewise.
17466 (grub_vga_cls): Likewise.
17467 (grub_vga_setcolorstate): Likewise.
17468 (grub_vga_setcursor): Likewise.
17469 (grub_video_vga_init): New function.
17470 (grub_video_vga_setup): Likewise.
17471 (grub_video_vga_fini): Likewise.
17472 (update_target): Likewise.
17473 (grub_video_vga_blit_bitmap): Likewise.
17474 (grub_video_vga_blit_render_target): Likewise.
17475 (grub_video_vga_set_active_render_target): Likewise.
17476 (grub_video_vga_get_active_render_target): Likewise.
17477 (grub_video_vga_swap_buffers): Likewise.
17478 (grub_video_vga_set_palette): Likewise.
17479 (grub_video_vga_get_info_and_fini): Likewise.
17480 (grub_vga_term): Removed.
17481 (grub_video_vga_adapter): New variable.
17482 (GRUB_MOD_INIT): Register a video driver instead of terminal.
17483 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
17484
2bf61a98
VS
174852010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17486
17487 * video/readers/jpeg.c: Indented.
17488
09ddcd11
VS
174892010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17490
17491 Various jpeg cleanups.
17492
17493 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
17494 (grub_jpeg_decode_quan_table): Use sizeof.
17495 (grub_jpeg_decode_du): Use ARRAY_SIZE.
17496
e5507505
PH
174972010-05-05 Peter Hurley <No e-mail available> (tiny change)
17498
17499 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
17500 tables. Ignore non-last ac bit.
17501 (grub_jpeg_decode_quan_table): Likewise.
17502
7e720a9b
VS
175032010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17504
17505 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
17506 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
17507 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17508 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
17509 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
17510 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
17511
a7fc080b
VS
175122010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17513
17514 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
17515 error.
17516
2bf6012d
VS
175172010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17518
17519 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
17520
265d68cd
VS
175212010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
17522
17523 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
17524 condition.
17525
175262010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
17527
17528 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
17529 part.
17530
265d68cd 175312010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
17532
17533 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
17534 pointers.
17535
265d68cd 175362010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
17537
17538 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
17539
d1b61374
CF
175402010-05-01 Christian Franke <franke@computer.org>
17541
17542 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
17543 Remove broken Cygwin path conversion.
17544 * util/misc.c: [__CYGWIN__] Add include and define.
17545 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
17546 for Cygwin 1.7.
17547 (make_system_path_relative_to_its_root): Simplify loop, replace early
17548 return by break.
17549 [__CYGWIN__] Add conversion to win32 path.
17550 Include "/" case in trailing slash removal.
17551
3558c6e9
VS
175522010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17553
17554 * kern/main.c (grub_load_config): Fix copy-pasted comment.
17555 Reported by: Seth Goldberg
17556
f5f3ff93
VS
175572010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17558
17559 * commands/help.c (grub_cmd_help): Fix a typo.
17560 Reported by: Seth Goldberg
17561
d8b5cd40
VS
175622010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17563
17564 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
17565 name and add N_.
17566 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
17567 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
17568 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
17569 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
17570 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
17571 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
17572 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
17573 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
17574 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
17575 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17576 * normal/context.c (GRUB_MOD_INIT): Likewise.
17577 * normal/main.c (GRUB_MOD_INIT): Likewise.
17578 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
17579 * term/serial.c (GRUB_MOD_INIT): Likewise.
17580 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
17581
88c14915
VS
175822010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17583
17584 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
17585 extra == 0.
17586
165134bc
VS
175872010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17588
17589 * commands/iorw.c: New file.
17590 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
17591 (iorw_mod_SOURCES): New variable.
17592 (iorw_mod_CFLAGS): Likewise.
17593 (iorw_mod_LDFLAGS): Likewise.
17594
c5ac9b32
VS
175952010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17596
17597 Hotkey support
17598
17599 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
17600 * normal/main.c (hotkey_aliases): New variable.
17601 (grub_normal_add_menu_entry): Parse "--hotkey".
17602 * normal/menu_text.c (run_menu): Handle hotkeys.
17603
ce60689c
VS
176042010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17605
17606 * kern/i386/coreboot/init.c (grub_machine_init): Call
17607 grub_machine_mmap_init on qemu.
17608
0359d006
VS
176092010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17610
17611 * boot/i386/qemu/boot.S: Add a missing .code16.
17612
7819a456
VS
176132010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17614
17615 Use LBIO on coreboot.
17616
17617 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
17618 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
17619 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
17620 New declaration.
17621 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
17622 grub_machine_mmap_init on coreboot.
17623 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
17624 GRUB_LINUXBIOS_MEMBER_LINK.
17625 (grub_machine_mmap_iterate): Fix declaration.
17626 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
17627
7210dca9
VS
176282010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17629
17630 Split coreboot and multiboot ports.
17631
17632 * conf/i386-multiboot.rmk: New file.
17633 * configure.ac: Add multiboot port.
17634 * include/grub/i386/multiboot/boot.h: New file.
17635 * include/grub/i386/multiboot/console.h: Likewise.
17636 * include/grub/i386/multiboot/init.h: Likewise.
17637 * include/grub/i386/multiboot/kernel.h: Likewise.
17638 * include/grub/i386/multiboot/loader.h: Likewise.
17639 * include/grub/i386/multiboot/memory.h: Likewise.
17640 * include/grub/i386/multiboot/serial.h: Likewise.
17641 * include/grub/i386/multiboot/time.h: Likewise.
17642 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
17643 * loader/multiboot.c: Likewise.
17644 * loader/multiboot_mbi2.c: Likewise.
17645 * util/grub-mkrescue.in: Generate multiboot rescue.
17646
6f8aaf68
VS
176472010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17648
3080f7a7
VS
17649 * kern/parser.c (grub_parser_execute): Cope with read-only config.
17650
176512010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17652
17653 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
17654
17655 * commands/terminal.c (abstract_terminal): New struct.
17656 (handle_command): New function. Based on grub_cmd_terminal_input.
17657 (grub_cmd_terminal_input): Use handle_command.
17658 (grub_cmd_terminal_output): Use handle_command.
17659
a8ebb841
BC
176602010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
17661
17662 Fix comment handling.
17663
17664 * tests/grub_script_comments.in: New testcase.
17665 * conf/tests.rmk: Rules for new testcase.
17666 * script/yylex.l: Updated flex rules.
17667
bb06ba08
ST
176682010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
17669
17670 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
17671 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
17672 if argc is 1.
bb06ba08 17673
cc9d2425
VS
176742010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
17675
17676 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
17677 autogen issues.
17678
460d8402
CF
176792010-04-26 Christian Franke <franke@computer.org>
17680
17681 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
17682 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
17683 (grub_get_prefix): Remove function.
17684 * util/grub-emu.c (main): Replace grub_get_prefix () call by
17685 make_system_path_relative_to_its_root ().
17686 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
17687
553c01f9
CF
176882010-04-24 Christian Franke <franke@computer.org>
17689
17690 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
17691 (kernel_img_LDFLAGS): Remove -static-libgcc.
17692
2aec1692
CF
176932010-04-24 Christian Franke <franke@computer.org>
17694
17695 * configure.ac: Do not CHECK_BSS_START_SYMBOL
17696 and CHECK_END_SYMBOL if grub-emu is built.
17697 Unset TARGET_OBJ2ELF if grub-emu is built
17698 without module support.
17699
f67dc308
JS
177002010-04-24 Jiro SEKIBA <jir@unicus.jp>
17701
17702 Nilfs2 support.
17703
17704 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
17705 (grub_fstest_SOURCES): Likewise.
17706 (pkglib_MODULES): Add nilfs2.mod.
17707 (nilfs2_mod_SOURCES): New variable.
17708 (nilfs2_mod_CFLAGS): Likewise.
17709 (nilfs2_mod_LDFLAGS): Likewise.
17710 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
17711 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
17712 * fs/nilfs2.c: New file.
17713
4ba8d354
VS
177142010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
17715
17716 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
17717 is not supported.
17718
0d2c20c6
GS
177192010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
17720
17721 Add grub-mkconfig support for NetBSD.
17722
17723 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
17724 * util/grub-mkconfig.in: export new NetBSD specific variables.
17725 * po/POTFILES-shell: added 10_netbsd.in.
17726 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
17727
bc4a2d83
BC
177282010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
17729
17730 Fix emu build with grub-emu-pci and grub-emu-modules.
17731
17732 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
17733 functions.
17734 * include/grub/libpciaccess.h: New file.
17735 * conf/any-emu.rmk: Update kernel headers for emu build.
17736
f48c87aa
VS
177372010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17738
17739 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
17740
18959385
VS
177412010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17742
17743 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
17744
0037de3f
VS
177452010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17746
17747 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
17748 Retrieve chosen/bootpath if bootpath isn't hardcoded.
17749 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
17750 util/ieee1275/ofpath.c.
17751 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
17752 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
17753 * include/grub/sparc64/ieee1275/boot.h
17754 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
17755 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
17756 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
17757 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
17758 const char *.
17759 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
17760 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
17761 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
17762 install.
17763
38e55e90
GS
177642010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
17765
17766 * util/grub-mkconfig.in: Corrected two == equality tests.
17767 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
17768 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
17769 expect a number appended to it.
17770 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
17771 expects a number appended to it.
17772
a9e6ff28
VS
177732010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17774
17775 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
17776
0b830b8f
VS
177772010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17778
17779 * util/hostdisk.c (make_device_name): Change to new partition naming.
17780
0973daeb
VS
177812010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
17782
17783 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
17784
460d8402 177852010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
17786
17787 * Makefile.in: Add missing localedir setting.
17788
0b456309
CW
177892010-04-14 Colin Watson <cjwatson@ubuntu.com>
17790
17791 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
17792 mistake in r2156. Noticed by Anthony Fok.
17793
17794 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
17795 @localedir@.
17796 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
17797
08f46d62
BC
177982010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
17799
17800 Fix a spurious, uninitialized variable warning.
17801
17802 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
17803 Initialize variable, shdr.
17804 (grub_freebsd_load_elfmodule): Likewise.
17805 (grub_freebsd_load_elf_meta): Likewise.
17806
8c4a72d4
BC
178072010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
17808
17809 Fix for escaped dollar in double quoted strings.
17810
17811 * script/yylex.l: Updated flex rules.
17812 * conf/tests.rmk: Rule for new testcase.
17813 * tests/grub_script_dollar.in: New testcase.
17814
ce44826e
CPE
178152010-04-13 Carles Pina i Estany <carles@pina.cat>
178162010-04-13 Colin Watson <cjwatson@ubuntu.com>
17817
17818 Enclose all translated strings in grub.cfg in single quotes, and
17819 escape them appropriately (Ubuntu bug #552921).
17820
17821 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
17822 * util/grub.d/10_hurd.in: Use it.
17823 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
17824 * util/grub.d/10_linux.in (linux_entry): Likewise.
17825
4b0cd8f8
VS
178262010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17827
17828 Fix cygwin compilation.
17829
17830 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
17831 * include/grub/misc.h (__register_frame_info)
17832 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
17833 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
17834 * kern/misc.c (__register_frame_info)
17835 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
17836 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
17837
01fcf061
VS
178382010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17839
17840 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
17841
5d04b11e
VS
178422010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17843
17844 Unify libgcc processing.
17845
17846 * Makefile.in (kernel_img_LDFLAGS): New variable.
17847 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
17848 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
17849 overwriting.
17850 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
17851 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
17852 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
17853 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
17854 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
17855 overwriting. Remove -lgcc and -static-libgcc
17856 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
17857 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
17858 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
17859 (kernel_img_LDFLAGS): Append instead of overwriting.
17860 Remove -lgcc and -static-libgcc
17861 * conf/sparc64-ieee1275.rmk: Likewise.
17862 * include/grub/powerpc/libgcc.h: Move to ...
17863 * include/grub/libgcc.h: .. this.
17864 * include/grub/libgcc.h: Don't export most of the function on x86.
17865 (__bswapsi2): New export.
17866 (__bswapdi2): Likewise.
17867 * include/grub/mips/libgcc.h: Removed.
17868 * include/grub/sparc64/libgcc.h: Likewise.
17869
b7f3ac29
VS
178702010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17871
17872 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
17873 disk_info_msg (conflicts with gettexting into languages with cases).
17874
2c7031b1
GS
178752010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
17876
17877 Add grub-probe support for NetBSD.
17878
17879 * util/getroot.c (find_root_device): Convert block device to
17880 character device on NetBSD.
17881 * util/probe.c (probe): Require character device on NetBSD.
17882 * util/hostdisk.c: NetBSD specific headers.
17883 (configure_device_driver): new function to tune device driver
17884 parameters (currently only for NetBSD floppy driver).
17885 (grub_util_biosdisk_open): NetBSD specific code (get disk size
17886 via disklabel ioctl).
17887 (open_device): call configure_device_driver on NetBSD.
17888 (convert_system_partition_to_system_disk): NetBSD specific code.
17889 (device_is_wholedisk): Likewise.
17890 (grub_util_biosdisk_get_grub_dev): Likewise.
17891 (make_device_name): Fixed a typo in bsd_part_str.
17892 * configure.ac: check for opendisk() and getrawpartition() on
17893 NetBSD and set LIBUTIL.
17894 * Makefile.in: add LIBUTIL to LIBS.
17895
f516290c
BC
178962010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
17897
17898 Documentation fix.
17899
17900 * util/grub-script-check.c: Better help message.
17901
d8dcc0df
BC
179022010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
17903
17904 Fix FreeBSD build.
17905
17906 * configure.ac: Flex version check.
17907 * conf/common.rmk: Add -Wno-error to sh.mod.
17908 * script/yylex.l: Remove all #pragma.
17909
6734334a
VS
179102010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17911
17912 * include/grub/util/misc.h (canonicalise_file_name): Add missing
17913 prototype.
17914 Reported by: Seth Goldberg.
17915
daea6abd
VS
179162010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17917
17918 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
17919 Rename "module" to "module2".
17920 Reported by: Seth Goldberg.
17921
f2fd9d2b
VS
179222010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17923
17924 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
17925 EXPORT_FUNC.
17926 Reported by: Seth Goldberg.
17927
be124579
VS
179282010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17929
17930 * lib/posix_wrap/locale.h: Add missing file.
17931 Reported by: Seth Goldberg.
17932
ef5da797
VS
179332010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17934
17935 grub-emu module load support.
17936
17937 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
17938 NO_DYNAMIC_MODULES switched to this.
17939 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
17940 (CFLAGS): Likewise.
17941 * conf/any-emu.rmk: Generate symlist.
17942 (kernel_img_HEADERS): Add util/datetime.h.
17943 (kernel_img_HEADERS) [sdl]: Add sdl.h.
17944 (kernel_img_HEADERS) [libusb]: Add libusb.h.
17945 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
17946 kern/$(target_cpu)/cache.S.
17947 * configure.ac (grub-emu-modules): New option.
17948 * genmk.rb: Handle multiple source lists.
17949 * include/grub/sdl.h: New file.
17950 * include/grub/libusb.h: Likewise.
17951 * util/grub-emu.c (main): Hanle (host) root.
17952 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
17953 GRUB_ERR_UNKNOWN_DEVICE.
17954 * util/misc.c: Move mm functions to ...
17955 * util/mm.c: ... here. All users updated.
17956
47822096
VS
179572010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17958
17959 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
17960 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
17961 missing files.
17962 (maintainer-clean): Remove libgcrypt-grub.
17963
5d7e7445
VS
179642010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17965
17966 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
17967
25f4e252
EC
179682010-04-09 EFI Coder <eficoder@hotmail.com>
17969
17970 * normal/menu_text.c (print_message): Clean up the message and show
17971 the Fn information when on EFI
17972 * term/efi/console.c (grub_console_checkkey): Add F4 support.
17973
027de555
VS
179742010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17975
17976 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
17977 All users updated.
17978 * normal/crypto.c (read_crypto_list): Likewise.
17979 * normal/dyncmd.c (read_command_list): Likewise.
17980 * normal/term.c (read_terminal_list): Likewise.
17981 * normal/main.c (read_lists): Use explicit prefix.
17982 (read_lists_hook): Use read_lists.
17983 (grub_normal_execute): Likewise.
17984
47779711
VS
179852010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17986
17987 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
17988 Reported by: Thomas Schmitt.
17989 Add -no-emul-boot to grub-mkisofs parameters.
17990
1118c32e
VS
179912010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
17992
17993 * font/font.c: Indented.
17994
7d652447
BC
179952010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
17996
17997 Elif support to GRUB script (by Deepak Vankadaru).
17998
17999 * tests/grub_script_if.in: New testcase.
18000 * conf/tests.rmk: Rule for new testcase.
18001 * script/parser.y: Grammar rules for elif.
18002
34bb22df
BC
180032010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18004
18005 While and until loops support to GRUB script.
18006
18007 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
18008 (grub_script_create_cmdwhile): New function prototype.
18009 (grub_script_execute_cmdwhile): New function prototype.
18010 * script/execute.c (grub_script_execute_cmdwhile): New function.
18011 * script/parser.y (command): New commands.
18012 (whilecmd): New grammar rule.
18013 (untilcmd): New grammar rule.
18014 * script/script.c (grub_script_create_cmdwhile): New function.
18015 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
18016 function.
18017
18018 * tests/grub_script_while1.in: New testcase.
18019 * conf/tests.rmk: Rule for new testcase.
18020
e215d8e0
VS
180212010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18022
18023 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
18024 as *.jpg.
18025
d7c43ba1
MV
180262010-04-09 Mario Vazquez <mariovazq@gmail.com>
18027
18028 GRUB_BACKGROUND support.
18029
18030 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
18031 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
18032
d64795c0
VS
180332010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18034
18035 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 18036 Idea by: Mario Vazquez
d64795c0
VS
18037
18038 * util/grub.d/00_header.in: Load pf2 and image modules.
18039
f267f83a
VS
180402010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18041
18042 grub-mkconfig multiple terminal support.
18043
18044 * util/grub-mkconfig.in: Handle multiple terminals correctly.
18045 * util/grub.d/00_header.in: Likewise.
18046
b7841ceb
VS
180472010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18048
18049 * Makefile.in: Specify files explicitly instead of using $< and $@ since
18050 we use cd $(srcdir).
18051
df60998c
CW
180522010-04-08 Colin Watson <cjwatson@ubuntu.com>
18053
18054 * util/grub.d/10_linux.in: Only use the first word of
18055 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
18056 spaces in GRUB_DISTRIBUTOR.
18057 * util/grub.d/10_kfreebsd.in: Likewise.
18058 * util/grub.d/10_hurd.in: Likewise.
18059
fa09c82e
BC
180602010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
18061
14e18ae3 18062 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
18063
18064 * tests/util/grub-shell.in: Remove -serial stdio option.
18065
daf892b3
BC
180662010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18067
18068 POSIX header file wrappers.
18069
18070 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
18071 equivalents.
18072 * lib/posix_wrap/ctype.h: Likewise.
18073 * lib/posix_wrap/errno.h: Likewise.
18074 * lib/posix_wrap/langinfo.h: Likewise.
18075 * lib/posix_wrap/limits.h: Likewise.
18076 * lib/posix_wrap/localcharset.h: Likewise.
18077 * lib/posix_wrap/stdint.h: Likewise.
18078 * lib/posix_wrap/stdio.h: Likewise.
18079 * lib/posix_wrap/stdlib.h: Likewise.
18080 * lib/posix_wrap/string.h: Likewise.
18081 * lib/posix_wrap/sys/types.h: Likewise.
18082 * lib/posix_wrap/unistd.h: Likewise.
18083 * lib/posix_wrap/wchar.h: Likewise.
18084 * lib/posix_wrap/wctype.h: Likewise.
18085 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
18086 (grub_script.yy.h): Likewise.
18087 * script/yylex.l: Remove POSIX emulation #defines.
18088 * Makefile.in (POSIX_CFLAGS): New variable.
18089 (GNULIB_UTIL_CFLAGS): Likewise.
18090
18091 Regexp support.
18092
18093 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
18094 (regexp_mod_SOURCES): New variable.
18095 (regexp_mod_CFLAGS): Likewise.
18096 (regexp_mod_LDFLAGS): Likewise.
18097 * commands/regexp.c: New file.
18098 * gnulib/regcomp.c: New file. Imported from gnulib.
18099 * gnulib/regex.c: Likewise.
18100 * gnulib/regex_internal.c: Likewise.
18101 * gnulib/regex_internal.h: Likewise.
18102 * gnulib/regexec.c: Likewise.
18103 * gnulib/regex.h: Likewise.
18104
974ac4f7
VS
181052010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18106
18107 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
18108 unsupported video mode types.
18109
2622c3ff
VS
181102010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18111
18112 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
18113
064cb524
VS
181142010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18115
18116 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
18117 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
18118
a8c3b552
VS
181192010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
18120
18121 Remove unused grub_vga_get_font.
18122
18123 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
18124 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
18125
187bbe3d
GS
181262010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18127
18128 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
18129 * include/grub/misc.h: Likewise.
18130
b9396631
GS
181312010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18132
18133 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
18134 for which failure is fatal.
18135
50479feb
GS
181362010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18137
18138 * util/grub-install.in: Use mkdir -p to create grub directory.
18139 * util/i386/efi/grub-install.in: Likewise.
18140 * util/ieee1275/grub-install.in: Likewise.
18141
b1654fdf
GS
181422010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18143
18144 * Makefile.in (LEX): new variable.
18145
bd5a6415
GS
181462010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18147
18148 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
18149 `=' and added double quotes on operands of this equality test.
18150
3db3a82b
VS
181512010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18152
18153 * Makefile.in (uninstall): Remove a leftover debug echo.
18154 Reported by: Grégoire Sutre
18155
38023412
VS
181562010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18157
18158 MIPS multiboot2 support.
18159
18160 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
18161 (multiboot2_mod_SOURCES): New variable.
18162 (multiboot2_mod_CFLAGS): Likewise.
18163 (multiboot2_mod_LDFLAGS): Likewise.
18164 (multiboot2_mod_ASFLAGS): Likewise.
18165 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
18166 definition.
18167 (MULTIBOOT_ENTRY_REGISTER): Likewise.
18168 (MULTIBOOT_MBI_REGISTER): Likewise.
18169 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
18170 (MULTIBOOT_ELF32_MACHINE): Likewise.
18171 (MULTIBOOT_ELF64_MACHINE): Likewise.
18172 * include/grub/mips/multiboot.h: New file.
18173 * include/grub/video.h (grub_video_driver_id): New type
18174 GRUB_VIDEO_DRIVER_SM712.
18175 (grub_video_get_info_and_fini): Export.
18176 (grub_video_get_palette): Likewise.
18177 (grub_video_get_driver_id): Likewise.
18178 * include/multiboot2.h: Resynced with spec.
18179 * loader/i386/multiboot.c: Moved from here ...
18180 * loader/multiboot.c: ... here. All users updated.
18181 (grub_multiboot_boot): Use platform-specific macros.
18182 * loader/i386/multiboot_elfxx.c: Moved from here ...
18183 * loader/multiboot_elfxx.c: ... here. All users updated.
18184 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
18185 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
18186 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
18187
47674667
VS
181882010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18189
18190 Import gnulib argp module.
18191
18192 * gnulib/argp-ba.c: New file.
18193 * gnulib/argp-eexst.c: Likewise.
18194 * gnulib/argp-fmtstream.c: Likewise.
18195 * gnulib/argp-fmtstream.h: Likewise.
18196 * gnulib/argp-fs-xinl.c: Likewise.
18197 * gnulib/argp-help.c: Likewise.
18198 * gnulib/argp-namefrob.h: Likewise.
18199 * gnulib/argp-parse.c: Likewise.
18200 * gnulib/argp-pin.c: Likewise.
18201 * gnulib/argp-pv.c: Likewise.
18202 * gnulib/argp-pvh.c: Likewise.
18203 * gnulib/argp-version-etc.c: Likewise.
18204 * gnulib/argp-version-etc.h: Likewise.
18205 * gnulib/argp-xinl.c: Likewise.
18206 * gnulib/argp.h: Likewise.
18207
495442ed
VS
182082010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18209
18210 * kern/device.c (grub_device_iterate): Clear errors after failed
18211 opening device.
18212
f9fd65df
VS
182132010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18214
18215 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
18216 returned by firmware.
18217
af09641e
VS
182182010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18219
18220 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
18221 compilation on coreboot and qemu
18222
016883a5
VS
182232010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
18224
18225 * include/multiboot2.h: Resync with spec.
18226
f97e1f7d
VS
182272010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
18228
18229 Multiboot2 tag support
18230
18231 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
18232 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
18233 Remove loader/multiboot_loader.c.
18234 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
18235 (grub_multiboot2_real_boot): Likewise.
18236 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
18237 (grub_get_multiboot_mmap_count): New proto.
18238 (grub_fill_multiboot_mmap): Likewise.
18239 (grub_multiboot_set_video_mode): Likewise.
18240 (grub_multiboot_set_console): Likewise.
18241 (grub_multiboot_load): Likewise.
18242 (grub_multiboot_load_elf): Likewise.
18243 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
18244 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
18245 * include/multiboot.h: Resynced with specification.
18246 * include/multiboot2.h: Resynced with specification.
18247 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
18248 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
18249 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
18250 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
18251 users updated.
18252 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
18253 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
18254 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
18255 Removed.
18256 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
18257 Moved from here...
18258 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
18259 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
18260 Moved from here...
18261 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
18262 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
18263 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
18264 All users updated.
18265 * loader/i386/multiboot_mbi2.c: New file.
18266
3506b90b
VS
182672010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18268
18269 Resync with gnulib.
18270
18271 * Makefile.in (GNULIB_CFLAGS): New variable.
18272 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
18273 (grub_script_check_CFLAGS): New variable.
18274 * gnulib/alloca.h: Resync with gnulib.
18275 * gnulib/error.c: Likewise.
18276 * gnulib/error.h: Likewise.
18277 * gnulib/fnmatch.c: Likewise.
18278 * gnulib/fnmatch_loop.c: Likewise.
18279 * gnulib/getdelim.c: Likewise.
18280 * gnulib/getline.c: Likewise.
18281 * gnulib/getopt.c: Likewise.
18282 * gnulib/getopt1.c: Likewise.
18283 * gnulib/getopt_int.h: Likewise.
18284 * gnulib/gettext.h: Likewise.
18285 * gnulib/progname.c: Likewise.
18286 * gnulib/progname.h: Likewise.
18287
394a3120
GS
182882010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
18289
18290 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
18291 which is the case with --disabled-nls.
18292
18293 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
18294 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
18295 * util/misc.c: Likewise.
18296 * util/mkisofs/mkisofs.c: Likewise.
18297 * util/mkisofs/mkisofs.h: Likewise.
18298
969d1c78
VS
182992010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18300
18301 Simplify Apple CC support.
18302
18303 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
18304 Add 0 byte at the end not to have a symbol with empty target.
18305 * mmap/i386/pc/mmap_helper.S: Likewise.
18306 * genmk.rb: Ignore errors 2030 and 2050.
18307 * kern/i386/pc/startup.S: Use LOCAL when possible.
18308
8d2977bb
BC
183092010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
18310
18311 Testcase and the fix for final semicolon on cmdline.
18312
18313 * tests/grub_script_final_semicolon.in: New testcase.
18314 * conf/tests.rmk: Rules for the new testcase.
18315 * script/parser.y: Grammar fix.
18316
a7bd6915
BC
183172010-03-26 BVK Chaitanya <bvk@localhost>
18318
18319 Blank lines testcase for GRUB script.
18320
18321 * tests/grub_script_blanklines.in: New testcase.
18322 * conf/tests.rmk: Rules for the new testcase.
18323
e4ff6628
VS
183242010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18325
18326 Don't use __FILE__.
18327
18328 * genmk.rb: Add -DGRUB_FILE to all C targets.
18329 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
18330 * include/grub/list.h: Likewise.
18331 * include/grub/misc.h: Likewise.
18332 * include/grub/mm.h: Likewise.
18333 * include/grub/test.h: Likewise.
18334 * kern/mm.c: Likewise.
18335 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
18336
6a5cf6b6
VS
183372010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18338
18339 Sunpc partitions support.
18340
18341 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
18342 (grub_fstest_SOURCES): Likewise.
18343 (pkglib_MODULES): Add part_sunpc.mod.
18344 (part_sunpc_mod_SOURCES): New variable.
18345 (part_sunpc_mod_CFLAGS): Likewise.
18346 (part_sunpc_mod_LDFLAGS): Likewise.
18347 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
18348 * partmap/sunpc.c: New file.
18349
746d9045
BC
183502010-03-26 BVK Chaitanya <bvk@localhost>
18351
18352 For loop support to GRUB script.
18353
18354 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
18355 (grub_script_create_cmdfor): New function prototype.
18356 (grub_script_execute_cmdfor): New function prototype.
18357 * script/execute.c (grub_script_execute_cmdfor): New function.
18358 * script/parser.y (command): New for command.
18359 (forcmd): New grammar rule.
18360 * script/script.c (grub_script_create_cmdfor): New function.
18361 * util/grub-script-check.c (grub_script_execute_cmdfor): New
18362 function.
18363 * tests/grub_script_for1.in: New testcase.
18364 * conf/tests.rmk: Rules for new testcase.
18365
18486b18
VS
183662010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18367
18368 Nested partitions
18369
18370 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
18371 'partition' is NULL, grub_partition_get_start already does that.
18372 * commands/loadenv.c (check_blocklists): Likewise.
18373 (write_blocklists): Likewise.
18374 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
18375 (grub_fstest_SOURCES): Likewise.
18376 (pkglib_MODULES): Add part_bsd.mod.
18377 (part_bsd_mod_SOURCES): New variable.
18378 (part_bsd_mod_CFLAGS): Likewise.
18379 (part_bsd_mod_LDFLAGS): Likewise.
18380 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
18381 (grub_emu_SOURCES): Likewise.
18382 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18383 * include/grub/bsdlabel.h: New file.
18384 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
18385 'get_name'.
18386 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
18387 (grub_partition_map_list): New variable.
18388 (grub_partition_map_register): Inline.
18389 (grub_partition_map_unregister): Likewise.
18390 (FOR_PARTITION_MAPS): New macro.
18391 (grub_partition_map_iterate): Removed.
18392 (grub_partition_get_start): Handle nested partitions.
18393 * include/grub/msdos_partition.h: Remove bsd-related entries.
18394 (grub_pc_partition): Remove.
18395 * kern/disk.c (grub_disk_close): Free partition data.
18396 (grub_disk_adjust_range): Handle nested partitions.
18397 * kern/partition.c (grub_partition_map_probe): New function.
18398 (grub_partition_probe): Parse name to number, handle subpartitions.
18399 (get_partmap): New function.
18400 (grub_partition_iterate): Handle subpartitions.
18401 (grub_partition_get_name): Likewise.
18402 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
18403 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
18404 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
18405 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
18406 Set 'number'.
18407 (acorn_partition_map_probe): Remove.
18408 (acorn_partition_map_get_name): Likewise.
18409 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
18410 Set 'number'.
18411 Set 'index' to 0 since there can be only one partition entry per sector.
18412 (amiga_partition_map_probe): Remove.
18413 (amiga_partition_map_get_name): Likewise.
18414 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
18415 Set 'number'.
18416 Set 'offset' and 'index' to real positions of partitions.
18417 (apple_partition_map_probe): Remove.
18418 (apple_partition_map_get_name): Likewise.
18419 * partmap/bsdlabel.c: New file.
18420 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
18421 Set 'number'.
18422 Allocate 'data' so it can be correctly freed.
18423 Set 'index' to offset inside sector.
18424 (gpt_partition_map_probe): Remove.
18425 (gpt_partition_map_get_name): Likewise.
18426 * partmap/msdos.c (grub_partition_parse): Remove.
18427 (pc_partition_map_iterate): Don't force raw access.
18428 Set 'number'.
18429 Make 'ext_offset' a local variable.
18430 (pc_partition_map_probe): Remove.
18431 (pc_partition_map_get_name): Remove.
18432 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
18433 Set 'number'.
18434 (sun_partition_map_probe): Remove.
18435 (sun_partition_map_get_name): Likewise.
18436 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
18437 (grub_pcpart_type): Likewise.
18438 * util/hostdisk.c (open_device): Handle new numbering scheme.
18439 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
18440 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
18441 * util/grub-probe.c (probe_partmap): Handle nested paritions.
18442 * util/grub-install.in: Insert all subpartition modules.
18443 * util/ieee1275/grub-install.in: Likewise.
18444
a3940f88
AG
184452010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
18446
18447 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
18448 grammar.
18449
21b99926 184502010-03-24 Colin Watson <cjwatson@ubuntu.com>
18451
18452 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
18453
bed1d352
CW
184542010-03-21 Colin Watson <cjwatson@ubuntu.com>
18455
18456 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
18457 match where 'make install' puts them.
18458 * util/i386/efi/grub-install.in: Likewise.
18459
c9f58427
CW
184602010-03-19 Colin Watson <cjwatson@ubuntu.com>
18461
18462 * .bzrignore: Add gentrigtables, grub-script-check,
18463 grub_script_check_init.c, grub_script_check_init.h, and
18464 trigtables.c.
18465
f84afb27
VS
184662010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
18467
18468 * kern/parser.c: Indented.
18469
ed0e3d30
VS
184702010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
18471
18472 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
18473
0ea81d98
VS
184742010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
18475
18476 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
18477 alpha_mask_size == 0 case.
18478
0cdc2a09
BC
184792010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
18480
18481 GRUB shell lexer and parser improvements.
18482
18483 * conf/any-emu.rmk: Build rule updates.
18484 * conf/common.rmk: Likewise.
18485 * conf/i386-coreboot.rmk: Likewise.
18486 * conf/i386-efi.rmk: Likewise.
18487 * conf/i386-ieee1275.rmk: Likewise.
18488 * conf/i386-pc.rmk: Likewise.
18489 * conf/powerpc-ieee1275.rmk: Likewise.
18490 * conf/x86_64-efi.rmk: Likewise.
18491
18492 * configure.ac: Configure check for flex.
18493
18494 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
18495 types.
18496 (grub_lexer_param): Struct member updates.
18497 (grub_parser_param): Likewise.
18498 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
18499 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
18500 (grub_script_lexer_init): Prototype update.
18501 (grub_script_lexer_record_start): Likewise.
18502 (grub_script_lexer_record_stop): Likewise.
18503 (grub_script_lexer_yywrap): New function prototype.
18504 (grub_script_lexer_fini): Likewise.
18505 (grub_script_execute_argument_to_string): Removed by...
18506 (grub_script_execute_argument_to_argv): ...better version.
18507
18508 * script/execute.c (ROUND_UPTO): New macro.
18509 (grub_script_execute_cmdline): Out of memory fixes.
18510 (grub_script_execute_menuentry): Likewise.
18511 (grub_script_execute_argument_to_string): Removed. Update all
18512 users by...
18513 (grub_script_execute_argument_to_argv): ...better version.
18514 * script/function.c (grub_script_function_create): Use
18515 grub_script_execute_argument_to_argv instead of
18516 grub_script_execute_argument_to_string.
18517
18518 * script/lexer.c (check_varstate): Removed.
18519 (check_textstate): Removed.
18520 (grub_script_lexer_record_start): Likewise.
18521 (grub_script_lexer_record_stop): Likewise.
18522 (recordchar): Replaced with...
18523 (grub_script_lexer_record): ...new function.
18524 (nextchar): Removed.
18525 (grub_script_lexer_init): Rewritten.
18526 (grub_script_yylex): Rewritten.
18527 (append_newline): New function.
18528 (grub_script_lexer_yywrap): New function.
18529 (grub_script_lexer_fini): New function.
18530 (grub_script_yyerror): Sets error flag.
18531
18532 * script/yylex.l: New file.
18533 (grub_lexer_yyfree): Wrapper for flex yyffre.
18534 (grub_lexer_yyalloc): Likewise.
18535 (grub_lexer_yyrealloc): Likewise.
18536 * script/parser.y: Refactored.
18537
18538 * script/script.c (grub_script_arg_add): Out of memory fixes.
18539 (grub_script_add_arglist): Likewise.
18540 (grub_script_create_cmdline): Likewise.
18541 (grub_script_create_cmdmenu): Likewise.
18542 (grub_script_add_cmd): Likewise.
18543 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
18544 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
18545 unnecessary code.
18546
18547 * tests/grub_script_echo1.in: New testcase.
18548 * tests/grub_script_vars1.in: New testcase.
18549 * tests/grub_script_echo_keywords.in: New testcase.
18550
1d63a066
VS
185512010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18552
18553 Remove some redundancy in build system.
18554
18555 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
18556 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
18557 (TARGET_LDFLAGS): Add -nostdlib.
18558 (TARGET_IMG_LDFLAGS): Likewise.
18559 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
18560 anything since mmap isn't available.
18561 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
18562 Add util/time.c.
18563 (pkglib_MODULES): Remove reboot.mod.
18564 (reboot_mod_SOURCES): Removed.
18565 (reboot_mod_CFLAGS): Likewise.
18566 (reboot_mod_LDFLAGS): Likewise.
18567 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
18568 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
18569 (DEFSYMFILES): Add kernel_syms.lst.
18570 (kernel_img_HEADERS): Add common headers.
18571 (symlist.c): New target.
18572 (kernel_syms.lst): Likewise.
18573 (pkglib_MODULES): Add memdisk.mod.
18574 (memdisk_mod_SOURCES): New variable.
18575 (memdisk_mod_CFLAGS): Likewise.
18576 (memdisk_mod_LDFLAGS): Likewise.
18577 (pkglib_MODULES): Add reboot.mod.
18578 (reboot_mod_SOURCES): New variable.
18579 (reboot_mod_CFLAGS): Likewise.
18580 (reboot_mod_LDFLAGS): Likewise.
18581 (pkglib_MODULES): Add date.mod.
18582 (date_mod_SOURCES): New variable.
18583 (date_mod_CFLAGS): Likewise.
18584 (date_mod_LDFLAGS): Likewise.
18585 (pkglib_MODULES): Add datehook.mod.
18586 (datehook_mod_SOURCES): New variable.
18587 (datehook_mod_CFLAGS): Likewise.
18588 (datehook_mod_LDFLAGS): Likewise.
18589 (pkglib_MODULES): Add lsmmap.mod.
18590 (lsmmap_mod_SOURCES): New variable.
18591 (lsmmap_mod_CFLAGS): Likewise.
18592 (lsmmap_mod_LDFLAGS): Likewise.
18593 (pkglib_MODULES): Add boot.mod.
18594 (boot_mod_SOURCES): New variable.
18595 (boot_mod_CFLAGS): Likewise.
18596 (boot_mod_LDFLAGS): Likewise.
18597 * conf/i386-coreboot.rmk: Removed redundant parts.
18598 * conf/i386-ieee1275.rmk: Likewise.
18599 * conf/i386-pc.rmk: Likewise.
18600 * conf/mips-yeeloong.rmk: Likewise.
18601 * conf/mips.rmk: Likewise.
18602 * conf/powerpc-ieee1275.rmk: Likewise.
18603 * conf/sparc64-ieee1275.rmk: Likewise.
18604 * conf/x86_64-efi.rmk: Likewise.
18605 * conf/i386-coreboot.rmk: Moved qemu parts ..
18606 * conf/i386-qemu.rmk: ... here
18607 * conf/i386-efi.rmk: Moved common parts to...
18608 * conf/x86-efi.rmk: ... here.
18609 * conf/i386.rmk: Added modules common to all x86 variants.
18610 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
18611 * disk/memdisk.c: Remove grub/machine/kernel.h.
18612 * gensymlist.sh.in: Include symbol.h.
18613 * hook/datehook.c: Correct module name.
18614 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
18615 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
18616 * include/grub/i386/efi/serial.h: New file.
18617 * include/grub/x86_64/efi/serial.h: Likewise.
18618 * util/time.c: Likewise.
18619 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
18620
463ac55f
CK
186212010-03-14 Colin King <colin.king@ubuntu.com>
186222010-03-14 Colin Watson <cjwatson@ubuntu.com>
18623
18624 Shrink the pre-partition-table part of boot.img by eight bytes.
18625
18626 * boot/i386/pc/boot.S (ERR): New macro.
18627 (chs_mode): Use ERR.
18628 (geometry_error): Likewise.
18629 (hd_probe_error): Remove. This is only used once, so we wrwite
18630 it inline instead.
18631 (read_error): Instead of printing read_error_string, just set up
18632 %si and fall through to ...
18633 (error_message): ... this new function, also used by ERR.
18634
08e46ede
CW
186352010-03-14 Colin Watson <cjwatson@ubuntu.com>
18636
18637 Speed up consecutive hostdisk operations on the same device.
18638
18639 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
18640 (grub_util_biosdisk_open): Initialise disk->data.
18641 (struct linux_partition_cache): New structure.
18642 (linux_find_partition): Cache partition start positions; these are
18643 expensive to compute on every read and write.
18644 (open_device): Cache open file descriptor in disk->data, so that we
18645 don't have to reopen it and flush the buffer cache for consecutive
18646 operations on the same device.
18647 (grub_util_biosdisk_close): New function.
18648 (grub_util_biosdisk_dev): Set `close' member.
18649
18650 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
18651 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
18652 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18653 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18654 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
18655
4a6d2d06
VS
186562010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18657
18658 Compile parts of grub-emu as modules.
18659
18660 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
18661 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
18662 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
18663 (all-local): Add $(GRUB_EMU).
18664 (install-local): Install $(GRUB_EMU).
18665 (uninstall): Uninstall $(GRUB_EMU).
18666 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
18667 * kern/dl.c: Likewise.
18668 * commands/sleep.c: Not include machine/time.h.
18669 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
18670 (COMMON_CFLAGS): Likewise.
18671 (sbin_UTILITIES): Remove grub-emu.
18672 (grub_emu_SOURCES): Removed.
18673 (kernel_img_RELOCATABLE): New variable.
18674 (pkglib_PROGRAMS): Add kernel.img.
18675 (kernel_img_SOURCES): New variable
18676 (kernel_img_CFLAGS): Likewise.
18677 (kernel_img_LDFLAGS): Likewise.
18678 (TARGET_NO_STRIP): Likewise.
18679 (TARGET_NO_DYNAMIC_MODULES): Likewise.
18680 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
18681 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
18682 (grub-emu): New target.
18683 (GRUB_EMU): New variable.
18684 * configure.ac: Whitelist -emu as possible x86_64 architecture.
18685 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
18686 * loader/xnu.c: Likewise.
18687 * include/grub/pci.h: Likewise.
18688 * genemuinit.sh: New file.
18689 * genemuinitheader.sh: Likewise.
18690 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
18691 Support TARGET_NO_DYNAMIC_MODULES.
18692 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
18693 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
18694 * disk/loopback.c: Likewise.
18695 * font/font_cmd.c: Likewise.
18696 * partmap/acorn.c: Likewise.
18697 * partmap/amiga.c: Likewise.
18698 * partmap/apple.c: Likewise.
18699 * partmap/gpt.c: Likewise.
18700 * partmap/msdos.c: Likewise.
18701 * partmap/sun.c: Likewise.
18702 * parttool/msdospart.c: Likewise.
18703 * term/gfxterm.c: Likewise.
18704 * video/bitmap.c: Likewise.
18705 * video/readers/jpeg.c: Likewise.
18706 * video/readers/png.c: Likewise.
18707 * video/readers/tga.c: Likewise.
18708 * video/video.c: Likewise.
18709 * util/grub-emu.c (read_command_list): Removed.
18710 (main): Don't call util_init_nls.
18711 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
18712 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
18713
91fdd2ed
VS
187142010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18715
18716 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
18717 date.mod, datehook.mod.
18718 (datetime_mod_SOURCES): New variable.
18719 (datetime_mod_CFLAGS): Likewise.
18720 (datetime_mod_LDFLAGS): Likewise.
18721 (date_mod_SOURCES): Likewise.
18722 (date_mod_CFLAGS): Likewise.
18723 (date_mod_LDFLAGS): Likewise.
18724 (datehook_mod_SOURCES): Likewise.
18725 (datehook_mod_CFLAGS): Likewise.
18726 (datehook_mod_LDFLAGS): Likewise.
18727 * conf/sparc64-ieee1275.rmk: Likewise.
18728 * lib/ieee1275/datetime.c: New file.
18729
873ccae6
VS
187302010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18731
18732 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
18733 (ieee1275_fb_mod_SOURCES): New variable.
18734 (ieee1275_fb_mod_CFLAGS): Likewise.
18735 (ieee1275_fb_mod_LDFLAGS): Likewise.
18736 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
18737 New proto.
18738 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
18739 (HEAP_MAX_ADDR): Likewise.
18740 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
18741 type.
18742 Correct stop condition.
18743 (grub_ieee1275_devices_iterate): New function.
18744 * video/ieee1275.c: New file.
18745
601c97c0
VS
187462010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18747
18748 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
18749
18750 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
18751 as scratch.
18752 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
18753 SCRATCH_PAD_DISKBOOT as scratch.
18754 (bootit): Pass Openfirmware pointer in %o4.
18755 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
18756 of 0x200000.
18757 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
18758 with util/grub-mkrawimage.c.
18759 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
18760 * include/grub/aout.h (AOUT_MID_SUN): New definition.
18761 (grub_aout_get_type) [GRUB_UTIL]: Removed.
18762 (grub_aout_load) [GRUB_UTIL]: Likewise.
18763 * include/grub/kernel.h (grub_modules_get_end): New proto.
18764 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
18765 (SCRATCH_PAD_BOOT): New definition.
18766 (SCRATCH_PAD_DISKBOOT): Likewise.
18767 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
18768 * include/grub/sparc64/ieee1275/ieee1275.h
18769 (grub_ieee1275_original_stack): New variable
18770 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
18771 New definition
18772 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
18773 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
18774 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
18775 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
18776 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
18777 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
18778 (grub_platform_image_format_t): New type.
18779 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
18780 * kern/main.c (grub_modules_get_end)
18781 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
18782 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
18783 (codestart): Switch stacks.
18784 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
18785 variable.
18786 (grub_heap_init): Use grub_modules_get_end.
18787 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
18788 stack.
18789 * util/grub-mkrawimage.c (generate_image): Support sparc64.
18790 (main): Likewise.
18791 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
18792
d68b491e
TG
187932010-03-14 Thorsten Glaser <tg@mirbsd.org>
18794
18795 * util/grub-mkrescue.in: Base ISO UUID on UTC.
18796
4e02ed50
MK
187972010-03-08 Matt Kraai <kraai@ftbfs.org>
18798
18799 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
18800 bug #559005).
18801
1f15fc1e
VS
188022010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
18803
18804 * genmoddep.awk: Output all missing symbols and not only first.
18805
fce5d8ff
VS
188062010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18807
18808 * NEWS: Put the date of 1.98 release.
18809
d1e8a02f
VS
188102010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18811
18812 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
18813 ft2build.h.
18814
696fd607
VS
188152010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18816
18817 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
18818 completition in the middle of string.
18819
33e2e6f3
VS
188202010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18821
18822 * util/grub-mkrescue.in: Use mktemp with explicit template.
18823
b1f6d291
VS
188242010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18825
18826 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
18827
2ac227c7
VS
188282010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18829
18830 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
18831 right pointer.
18832
8f9a632b
VS
188332010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
18834
18835 Fix FreeBSD compilation.
18836
18837 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
18838 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
18839
60b03859
VS
188402010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
18841
18842 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
18843
48a5a769
VS
188442010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18845
18846 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
18847
3ab4bd77
VS
188482010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18849
18850 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
18851
d116e0d8
RM
188522010-03-04 Robert Millan <rmh.grub@aybabtu.com>
18853
18854 Support relative image path in theme file.
18855
18856 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
18857 (image_set_property): Handle theme_dir and relative path.
18858
c7ef54aa
VS
188592010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18860
18861 * configure.ac: Alias amd64 to x86_64.
18862
fcee14ed
VS
188632010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18864
18865 * NEWS: mention multiboot on EFI.
18866
d0780363
VS
188672010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18868
18869 * kern/main.c (grub_load_modules): Handle errors from init functions of
18870 embeded modules.
18871
41168ea4
VS
188722010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18873
18874 * normal/autofs.c (autoload_fs_module): Handle errors.
18875
b54d93ac
VS
188762010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18877
18878 Disable linux.mod on qemu-mips since it's not functional and leads
18879 to compilation failure.
18880
18881 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
18882 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
18883 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
18884 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
18885 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
18886 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
18887 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
18888 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
18889 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
18890 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
18891 Reported by: BVK Chaitanya
18892
fc8345da
JU
188932010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
18894
18895 * INSTALL: Add gettext as a dependency and add qemu to a new section
18896 "Prerequisites for make-check".
18897
4760f979
CF
188982010-03-04 Christian Franke <franke@computer.org>
18899
18900 * util/grub-pe2elf.c: Add missing include "progname.h".
18901
f209b5b2
VS
189022010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18903
18904 * normal/crypto.c (read_crypto_list): Fix a typo.
18905 Reported by: Seth Goldberg.
18906
b4b7be98
VS
189072010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18908
18909 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 18910 Reported by: Seth Goldberg.
b4b7be98 18911
c0ee0385
VS
189122010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18913
18914 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
18915 ascii.bitmaps.
18916
a8efbf64
VS
189172010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18918
18919 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 18920 Reported by: Seth Goldberg.
a8efbf64 18921
08dcd913
VS
189222010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18923
18924 * util/i386/efi/grub-install.in: Copy gettext files.
18925
c4d0b332
VS
189262010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18927
18928 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
18929
c6f2fe52
VS
189302010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18931
18932 Wait for user entry basing on presence of output rather than on errors.
18933
18934 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
18935 (grub_install_newline_hook): Likewise.
18936 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
18937 * normal/menu.c (show_menu): Check line_counter to determine presence
18938 of output.
18939 * normal/term.c (grub_normal_line_counter): New variable.
18940 (grub_normal_get_line_counter): New function.
18941 (grub_install_newline_hook): Likewise.
18942
5382b1e4
VS
189432010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18944
18945 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
18946
5519963b
VS
189472010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18948
18949 * configure.ac: Update version to 1.98.
18950
72b28631
VS
189512010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
18952
18953 * util/grub.d/10_linux.in (linux_entry): Don't default to
18954 gfxpayload=keep if Linux doesn't support video handover.
18955
c140a180
VS
189562010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
18957
18958 Don't compile video modules on yeeloong since video subsystem is part
18959 of kernel.
18960
18961 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
18962 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
18963 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
18964 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
18965 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
18966 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
18967 * include/grub/bitmap_scale.h: Likewise.
18968 * include/grub/bufio.h: Likewise.
18969 * include/grub/font.h: Likewise.
18970 * include/grub/gfxterm.h: Likewise.
18971 * include/grub/video.h: Likewise.
18972 * include/grub/vbe.h: Don't include video_fb.h.
18973 * video/i386/pc/vbe.c: Include video_fb.h.
18974 * commands/i386/pc/vbetest.c: Include video.h.
18975
a0ca21c2
CW
189762010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
18977
18978 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
18979 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
18980 default entry if GRUB_SAVEDEFAULT=true. This allows using
18981 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
18982 saving a new default on every boot.
18983
4a8a763c
VS
189842010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
18985
18986 * normal/crypto.c (read_crypto_list): Fix a memory leak.
18987 * normal/term.c (read_terminal_list): Likewise.
18988 * normal/main.c (grub_normal_init_page): Likewise.
18989 (grub_normal_read_line_real): Likewise.
18990
607ffde2
VS
189912010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
18992
18993 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
18994 memory leak.
18995 Reported by: Seth Goldberg.
18996
2b8fa975
CW
189972010-02-24 Joey Korkames <joey+lists@kidfixit.com>
18998
18999 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
19000 duplicate declaration of `start'.
19001
618307dd
VS
190022010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19003
19004 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
19005 filename.
19006 Reported by: Georgy Buranov
19007
7dd05b96 190082010-02-20 Carles Pina i Estany <carles@pina.cat>
19009
19010 * util/grub-mkrawimage.c (usage): Change string formatting to
19011 improve gettext.
19012
d1484a42
MRA
190132010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
19014
19015 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
19016 backspace keys.
19017
42b1d186
VS
190182010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19019
19020 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
19021 Reported by: Michael Suchanek.
19022
190232010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
19024
19025 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
19026 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
19027
d9f31a41
VS
190282010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
19029
19030 Remove any reference to non-free fonts.
19031
19032 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
19033 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
19034 uses non-free components.
19035 * font/font.c (grub_font_get_name): Remove example name.
19036 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
19037 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
19038 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
19039 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
19040
2793c71e
GB
190412010-02-16 Georgy Buranov <gburanov@gmail.com>
19042
19043 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
19044
402e3779
VS
190452010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19046
19047 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
19048 Double divisor.
19049 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
19050 features.
19051 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
19052
0dd1e0dd
VS
190532010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19054
19055 * gensymlist.sh.in: Use TARGET_CC instead of CC.
19056
6fa7cfce
ST
190572010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19058
19059 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
19060 * docs/grub.texi (Command-line and menu entry commands): Document play
19061 command.
19062
37c8483b
ST
190632010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19064
19065 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
19066 parse arguments as inline tempo and notes. Move code for playing notes
19067 to...
19068 (play): ... new function.
19069
14da0fb7
ST
190702010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19071
19072 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
19073 grub_uint16_t instead of short.
19074 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
19075 disk from little endian to cpu endianness.
19076
04459e70
ST
190772010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
19078
19079 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
19080 GRUB_TICKS_PER_SECOND instead of 120.
19081
a0876943
VS
190822010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19083
19084 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
19085 escape sequence after \e.
19086
e29f95dc
VS
190872010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19088
19089 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
19090 non-ASCII characters.
19091
d27859b2
VS
190922010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19093
19094 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
19095 set root in single quotes to prevent \, from being unescaped.
19096
bc028f2f
VS
190972010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19098
19099 Prevent unknown commands from stopping menuentry execution.
19100
19101 * script/execute.c (grub_script_execute_cmdline): Print error after
19102 unknown command.
19103
095f5f82
VS
191042010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19105
19106 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
19107 Reported by: Pavel Pisa.
19108
8c717950
VS
191092010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19110
19111 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
19112
904935c3
VS
191132010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19114
19115 Merge grub_ieee1275_map_physical into grub_map and rename to
19116 grub_ieee1275_map
19117
19118 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
19119 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
19120 Remove.
19121 * kern/ieee1275/openfw.c (grub_map): Rename to ...
19122 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
19123 necessary.
19124 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
19125
5b59a4e3
VS
191262010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19127
19128 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
19129 opening and not after.
19130
69e137e8
VS
191312010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19132
19133 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
19134 constants.
19135
2c0fcc36
VS
191362010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19137
19138 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
19139 (alloc_phys): Use ALIGN_UP instead of align_addr.
19140
8c6052ce
VS
191412010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19142
19143 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
19144
17cec782
VS
191452010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19146
19147 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
19148
e0128bbd
VS
191492010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19150
19151 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
19152 verbose dprintf.
19153
ca62070b
VS
191542010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19155
19156 Fix over-4GiB seek on sparc64.
19157
19158 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
19159 Replace pos_i and pos_lo with pos. All users updated.
19160 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19161 New constant.
19162 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19163 Likewise.
19164 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
19165 and pos_lo.
19166
bdca2607
VS
191672010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19168
19169 * util/grub-mkrawimage.c (main): Call set_program_name.
19170
da278c4d
VS
191712010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19172
19173 Properly align 64-bit targets.
19174
19175 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
19176 (generate_image): Use ALIGN_ADDR.
19177
b274d734
VS
191782010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19179
19180 Properly create cross-endian images.
19181
19182 * include/grub/types.h (grub_host_to_target_addr): New macro
19183 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
19184
82da2062
VS
191852010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19186
19187 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
19188
7cae4377
VS
191892010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19190
19191 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
19192
19193 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
19194 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
19195 (grub_linux_boot): Divide by 64K when on VESA.
19196
65a533e7
VS
191972010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19198
19199 Support GRUB_GFXPAYLOAD_LINUX.
19200
19201 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
19202 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
19203
dd01d397
VS
192042010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19205
19206 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
19207 to show messages instead of discarding them.
19208 Process errors after executing command and not before. Keep old method
19209 too as precaution.
19210
660960d6
VS
192112010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
19212
19213 * configure.ac: Check for ft2build.h.
19214
62509f04
VS
192152010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19216
19217 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
19218
473df63d
VS
192192010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19220
19221 * genkernsyms.sh.in: Use TARGET_CC.
19222
c98d2a13
CW
192232010-02-07 Colin Watson <cjwatson@ubuntu.com>
19224
19225 * NEWS: Update.
19226
6e14234c
VS
192272010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19228
19229 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
19230 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
19231 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 19232
b255e9cf
YB
192332010-02-07 Yves Blusseau <blusseau@zetam.org>
19234
6e14234c 19235 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 19236
98e6959d
VS
192372010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19238
19239 Fix warnings in grub-emu when compiling with maximum warning options.
19240
19241 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
19242 (grub_arch_modules_addr): Return 0 and not NULL.
19243 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 19244 (xstrdup): Use newstr instead of dup.
f88d801b
VS
19245 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
19246 of disk to dsk to avoid shadowing.
74e4934e
VS
19247 (find_free_slot): Fix prototype.
19248 * util/getroot.c (grub_util_is_dmraid): Make static.
19249 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
19250 Add missing prototype.
19251 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 19252
74e31b5c
VS
192532010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19254
19255 * loader/i386/linux.c (grub_linux_setup_video): Handle error
19256 appropriately.
19257
6b2ad14b
VS
192582010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19259
19260 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
19261 code out.
19262
8f891adc
VS
192632010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19264
19265 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
19266 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
19267 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
19268 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
19269 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
19270 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
19271
74b45184
VS
192722010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19273
19274 * include/grub/err.h (grub_err_printf): Don't export.
19275
a4bced77
VS
192762010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19277
19278 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
19279
007d0695
VS
192802010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19281
19282 * include/grub/i18n.h (grub_gettext_dummy): Removed.
19283 * kern/misc.c (grub_gettext_dummy): Make static.
19284
b6c0d9c2
VS
192852010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19286
19287 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
19288 by non-valid ones.
19289 * kern/term.c (grub_putchar): Likewise.
19290
f51a90d0
VS
192912010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19292
19293 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
19294 buggy hook call and memory leak.
19295
6846cec5
VS
192962010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19297
19298 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
19299
468d69fe
VS
193002010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19301
19302 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
19303
51906b8c
VS
193042010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19305
19306 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
19307 modevar.
19308 Return grub_errno on allocation error.
19309
09706ce5
VS
193102010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19311
19312 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
19313
911df80c
YB
193142010-02-06 Yves Blusseau <blusseau@zetam.org>
19315
19316 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
19317 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
19318
3746a6bc
VS
193192010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19320
19321 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
19322 non-pxe disk.
19323 (grub_pxefs_open): Likewise.
19324
09706ce5
VS
193252010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19326
19327 * util/grub.d/10_hurd.in: Add --class information to menuentries.
19328 * util/grub.d/10_kfreebsd.in: Likewise.
19329 * util/grub.d/10_linux.in: Likewise.
19330
7cc192d9
VS
193312010-02-06 Colin D Bennett <colin@gibibit.com>
19332
19333 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
19334 (gfxmenu_mod_SOURCES): New variable.
19335 (gfxmenu_mod_CFLAGS): Likewise.
19336 (gfxmenu_mod_LDFLAGS): Likewise.
19337 * include/grub/term.h (grub_term_set_current_output): Declare
19338 argument as const.
19339 * docs/gfxmenu-theme-example.txt: New file.
19340 * gfxmenu/gfxmenu.c: Likewise.
19341 * gfxmenu/gui_box.c: Likewise.
19342 * gfxmenu/gui_canvas.c: Likewise.
19343 * gfxmenu/gui_circular_progress.c: Likewise.
19344 * gfxmenu/gui_image.c: Likewise.
19345 * gfxmenu/gui_label.c: Likewise.
19346 * gfxmenu/gui_list.c: Likewise.
19347 * gfxmenu/gui_progress_bar.c: Likewise.
19348 * gfxmenu/gui_string_util.c: Likewise.
19349 * gfxmenu/gui_util.c: Likewise.
19350 * gfxmenu/icon_manager.c: Likewise.
19351 * gfxmenu/model.c: Likewise.
19352 * gfxmenu/named_colors.c: Likewise.
19353 * gfxmenu/theme_loader.c: Likewise.
19354 * gfxmenu/view.c: Likewise.
19355 * gfxmenu/widget-box.c: Likewise.
19356 * include/grub/gfxmenu_model.h: Likewise.
19357 * include/grub/gfxmenu_view.h: Likewise.
19358 * include/grub/gfxwidgets.h: Likewise.
19359 * include/grub/gui.h: Likewise.
19360 * include/grub/gui_string_util.h: Likewise.
19361 * include/grub/icon_manager.h: Likewise.
19362
193632010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19364
19365 Agglomerate scrolling in gfxterm.
19366
19367 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
19368 (grub_virtual_screen_setup): Initialise 'total_screen'.
19369 (write_char): Split to ...
19370 (paint_char): ... this ...
19371 (write_char): ... and this.
19372 (paint_char): Handle delayed scrolling.
19373 (draw_cursor): Likewise.
19374 (scroll_up): Split to ...
19375 (real_scroll): ... this ...
19376 (scroll_up): ... and this.
19377 (real_scroll): Handle multi-line scroll and draw below-the-bottom
19378 characters.
19379 (grub_gfxterm_refresh): Call real_scroll.
19380
193812010-02-06 Colin D Bennett <colin@gibibit.com>
19382
19383 * include/grub/misc.h (grub_iscntrl): New inline function.
19384 (grub_isalnum): Likewise.
19385 (grub_strtol): Likewise.
19386
193872010-02-06 Colin D Bennett <colin@gibibit.com>
19388
19389 * normal/menu_text.c (get_entry_number): Move from here ...
19390 * normal/menu.c (get_entry_number): ... moved here.
19391 * include/grub/menu.h (grub_menu_get_default_entry_index):
19392 New prototype.
19393 * normal/menu.c (grub_menu_get_default_entry_index): New function.
19394 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
19395 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
19396 (grub_menu_viewer_should_return): Likewise.
19397 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
19398 * normal/menu_text.c (run_menu): Enable menu switching.
19399 * normal/menu_viewer.c (should_return): New variable.
19400 (menu_viewer_changed): Likewise.
19401 (grub_menu_viewer_show_menu): Handle menu viewer changes.
19402 (grub_menu_viewer_should_return): New function.
19403 (menuviewer_write_hook): Likewise.
19404 (grub_menu_viewer_init): Likewise.
19405
194062010-02-06 Colin D Bennet <colin@gibibit.com>
194072010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19408
19409 Support for gfxterm in a window.
19410
19411 * include/grub/gfxterm.h: New file.
19412 * include/grub/video.h (struct grub_video_rect): New declaration.
19413 (grub_video_rect_t): Likewise.
19414 * term/gfxterm.c (struct grub_gfxterm_window): New type.
19415 (refcount): New variable.
19416 (render_target): Likewise.
19417 (window): Likewise.
19418 (repaint_callback): Likewise.
19419 (grub_virtual_screen_setup): Use 'render_target'.
19420 (init_window): New function.
19421 (grub_gfxterm_init_window): Likewise.
19422 (grub_gfxterm_init): Check reference counter.
19423 Use init_window.
19424 (destroy_window): New function.
19425 (grub_gfxterm_destroy_window): Likewise.
19426 (grub_gfxterm_fini): Check reference counter.
19427 Use destroy_window.
19428 (redraw_screen_rect): Restore viewport.
19429 Use 'render_target' and 'window'.
19430 Call 'repaint_callback'.
19431 (write_char): Use 'render_target'.
19432 (draw_cursor): Likewise.
19433 (scroll_up): Restore viewport.
19434 Use 'render_target' and 'window'.
19435 Call 'repaint_callback'.
19436 (grub_gfxterm_cls): Likewise.
19437 (grub_gfxterm_refresh): Use 'window'.
19438 (grub_gfxterm_set_repaint_callback): New function.
19439 (grub_gfxterm_background_image_cmd): Use 'window'.
19440 (grub_gfxterm_get_term): New function.
19441 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
19442
194432010-02-06 Colin D Bennett <colin@gibibit.com>
19444
19445 Bitmap scaling support.
19446
19447 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
19448 (bitmap_scale_mod_SOURCES): New variable.
19449 (bitmap_scale_mod_CFLAGS): Likewise.
19450 (bitmap_scale_mod_LDFLAGS): Likewise.
19451 * include/grub/bitmap_scale.h: New file.
19452 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
19453 (background_image_cmd_options): New variable.
19454 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
19455 (cmd): Rename and change type to ...
19456 (background_image_cmd_handle): ... this. All users updated.
19457 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
19458 * video/bitmap_scale.c: New file.
19459
194602010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19461
19462 SDL support.
19463
19464 * Makefile.in (LIBSDL): New variable.
19465 (enable_grub_emu_sdl): Likewise.
19466 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
19467 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
19468 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
19469 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
19470 * util/sdl.c: New file.
19471
194722010-02-06 Colin D Bennett <colin@gibibit.com>
194732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19474
19475 Double buffering support.
19476
19477 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
19478 * include/grub/video.h: Update comment.
19479 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
19480 New type.
19481 (grub_video_fb_doublebuf_blit_init): New prototype.
19482 * term/gfxterm.c (scroll_up): Support double buffering.
19483 (grub_gfxterm_refresh): Likewise.
19484 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
19485 (grub_video_fb_doublebuf_blit_init): Likewise.
19486 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
19487 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
19488 'displayed_page', 'render_page' and 'update_screen'.
19489 (grub_video_vbe_fini): Free offscreen buffer.
19490 (doublebuf_pageflipping_commit): New function.
19491 (doublebuf_pageflipping_update_screen): Likewise.
19492 (doublebuf_pageflipping_init): Likewise.
19493 (double_buffering_init): Likewise.
19494 (grub_video_vbe_setup): Enable doublebuffering.
19495 (grub_video_vbe_swap_buffers): Implement.
19496 (grub_video_vbe_set_active_render_target): Handle double buffering.
19497 (grub_video_vbe_get_active_render_target): Likewise.
19498 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
19499 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
19500 (grub_video_vbe_enable_double_buffering): Likewise.
19501 (grub_video_vbe_swap_buffers): Use update_screen.
19502 (grub_video_set_mode): Use double buffering.
19503
195042010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19505
19506 * maintainance/gentrigtables.py: Remove.
19507 * lib/trig.c: Likewise.
19508
19509 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
19510
19511 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
19512 `trigtables.c'.
19513 (trigtables.c): New rule.
19514 (gentrigtables): Likewise.
19515 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
19516
195172010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19518
19519 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
19520 integer constants.
19521
195222010-02-06 Colin D Bennet <colin@gibibit.com>
19523
19524 Trigonometry support.
19525
19526 * include/grub/trig.h: New file.
19527 * lib/trig.c: Likewise.
19528 * maintainance/gentrigtables.py: Likewise.
19529 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
19530 (trig_mod_SOURCES): New variable.
19531 (trig_mod_CFLAGS): Likewise.
19532 (trig_mod_LDFLAGS): Likewise.
19533
5562834e
VS
195342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19535
19536 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
19537 disk devices.
19538
4f8528fc
VS
195392010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19540
19541 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
19542 error.
19543
2b4068e9
VS
195442010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
19545
19546 * util/hostdisk.c (open_device): Don't use partition device when reading
19547 before the partition.
19548 (grub_util_biosdisk_read): Don't read from partition and before the
19549 partition in single operation.
19550 (grub_util_biosdisk_write): Don't write to partition and before the
19551 partition in single operation.
19552
399f6e4d
TL
195532010-02-03 Torsten Landschoff <torsten@debian.org>
19554
19555 * kern/disk.c (grub_disk_read): Fix offset computation when reading
19556 last sectors.
19557
996649b0
VS
195582010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
19559
19560 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
19561 CDROM reads.
19562 (grub_biosdisk_write): Refuse to write to CDROM.
19563
3b205d4d
VS
195642010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
19565
19566 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
19567
61e89d9d
VS
195682010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
19569
19570 * font/font.c (find_glyph): Check that bmp_idx is available before
19571 using it.
19572 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
19573 with (font == NULL).
19574
bf7fcba2
CS
195752010-01-28 Christian Schmitt <chris@ilovelinux.de>
19576
19577 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
19578
f45d2663
BC
195792010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
19580
19581 * include/grub/script_sh.h (sourcecode): Add const qualifier.
19582 * util/grub-script-check.c (getline): Fix empty lines case.
19583
ec1444e6
RM
195842010-01-28 Robert Millan <rmh.grub@aybabtu.com>
19585
19586 * Makefile.in (check): Exit with fail status when one of the tests
19587 fails.
19588 * tests/example_functional_test.c (example_test): Fix reversed assert.
19589 * tests/example_unit_test.c (example_test): Likewise.
19590
2e1cb9bb
CW
195912010-01-28 Colin Watson <cjwatson@ubuntu.com>
19592
19593 * util/grub.d/10_linux.in: This script does not use any of the
19594 contents of gettext.sh, only the external command `gettext', so stop
19595 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
19596 the same prefix as GRUB.)
19597 * util/grub.d/10_kfreebsd.in: Likewise.
19598
63533ab0
VS
195992010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19600
19601 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
19602 of the line.
19603
989e1f93
VS
196042010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19605
19606 * kern/disk.c (grub_disk_read): Fix offset computation when reading
19607 last sectors.
19608
e709ebe2
VS
196092010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19610
19611 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
19612 having a 4KiB and not 32KiB buffer size.
19613
27dea7ed
RM
196142010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19615
19616 * util/hostfs.c: Include `<errno.h>'.
19617 (grub_hostfs_read): Handle errors from fseeko() and fread().
19618
67667b9c
RM
196192010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19620
19621 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
19622 loop when using read hooks on files whose size isn't sector-aligned.
19623
c294d9d8
RM
196242010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19625
19626 Remove unused parameter.
19627
19628 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
19629 (grub_iso9660_open): Remove initialization of `data->length'.
19630
af75a9f1
RM
196312010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19632
19633 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
19634 memleak conditions.
19635
254e2ce5 196362010-01-27 Carles Pina i Estany <carles@pina.cat>
19637
19638 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
19639 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
19640
b510928c 196412010-01-26 Carles Pina i Estany <carles@pina.cat>
19642
19643 * util/bin2h.c (usage): Fix warning (space after backslash).
19644
aa2f9dd2 196452010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 19646
19647 * font/font.c: Include `grub/fontformat.h.
19648 Remove font file format constants.
19649 (grub_font_load): Use the new macros.
19650 * include/grub/fontformat.h: New file.
19651 * util/grub-mkfont.c: Include `grub/fontformat.c'.
19652 (write_font_pf2): Use the new macros.
19653
94e7e712
RM
196542010-01-26 Robert Millan <rmh.grub@aybabtu.com>
19655
19656 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
19657 does.
19658
3973a59a
RM
196592010-01-26 Robert Millan <rmh.grub@aybabtu.com>
19660
19661 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
19662
19663 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
19664 (_start): Macroify `0x7F'.
19665
19666 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
19667 (make_install_device): Use "(pxe)" as fallback prefix when booting
19668 via PXE.
19669
42e0cba3
GS
196702010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
19671
19672 * configure.ac: Reset LIBS after check for libgcc symbols.
19673
847effd8
CW
196742010-01-25 Colin Watson <cjwatson@ubuntu.com>
19675
19676 * util/hostdisk.c (open_device): Add trailing newline to debug
19677 message.
19678
ea4a7e35
GS
196792010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
19680
19681 * configure.ac: Check for `limits.h'.
19682 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
19683
67951a53
RM
196842010-01-24 Robert Millan <rmh.grub@aybabtu.com>
19685
19686 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
19687 capitalize error strings.
19688
c273d4ce
ST
196892010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
19690
19691 * util/grub.d/10_hurd.in: Add a recovery mode.
19692
69be5b74
VS
196932010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
19694
19695 * configure.ac: Check for libgcc symbols with -nostdlib.
19696
fc9e5810
BC
196972010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
19698
19699 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
19700
4b358c0a
VS
197012010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19702
19703 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
19704 stack since heap may be unavailable at that point.
19705 (grub_ofconsole_gotoxy): Likewise.
19706
454fcd1c
VS
197072010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19708
19709 * configure.ac: Check for _restgpr_14_x.
19710 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
19711 and _savegpr_* prototypes.
19712
566863ca
RM
197132010-01-22 Robert Millan <rmh.grub@aybabtu.com>
19714
19715 Use generic grub_reboot() for i386-efi.
19716
19717 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
19718 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
19719 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
19720
bf86e59a
VS
197212010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19722
19723 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
19724 presence of "prefix" variable as it breaks when normal.mod is
19725 embedded.
19726
d645e0f8
VS
197272010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19728
19729 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
19730 stack since heap is unavailable at that point.
19731
f9ab2e25
VS
197322010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19733
19734 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
19735 (grub_freebsd_bootinfo): Rewritten.
19736 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
19737
01fc7054
VS
197382010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19739
19740 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
19741
caab4fd6
RM
197422010-01-21 Robert Millan <rmh.grub@aybabtu.com>
19743
19744 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
19745 domain now.
19746
67eb1427
FZ
197472010-01-20 Felix Zielcke <fzielcke@z-51.de>
19748
19749 * util/misc.c (make_system_path_relative_to_its_root): Change the work
19750 around for handling "/" to the correct fix. Fix a memory leak. Use
19751 xstrdup instead of strdup.
19752
a9ed4ff3
VS
197532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19754
19755 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
19756
197572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
19758
19759 Optimise glyph lookup by Basic Multilingual Plane lookup array.
19760
19761 * font/font.c (struct grub_font): New member 'bmp_idx'.
19762 (font_init): Initialise 'bmp_idx'.
19763 (load_font_index): Fill 'bmp_idx'.
19764 (find_glyph): Make inline. Use bmp_idx for BMP characters.
19765
48209f4f
VS
197662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19767
19768 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
19769 unnecessary calls.
19770
9f0a4bb7
VS
197712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19772
19773 Move context handling out of the kernel.
19774
19775 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
19776 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
19777 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
19778 * conf/i386-efi.rmk: Likewise.
19779 * conf/i386-ieee1275.rmk: Likewise.
19780 * conf/i386-pc.rmk: Likewise.
19781 * conf/powerpc-ieee1275.rmk: Likewise.
19782 * conf/sparc64-ieee1275.rmk: Likewise.
19783 * conf/x86_64-efi.rmk: Likewise.
19784 * include/grub/env.h: Include grub/menu.h.
19785 (grub_env_var_type): Removed.
19786 (grub_env_var): Replaced field 'type' with 'global'.
19787 (grub_env_find): New prototype.
19788 (grub_env_context_open): Remove EXPORT_FUNC.
19789 (grub_env_context_close): Likewise.
19790 (grub_env_export): Likewise.
19791 (grub_env_set_data_slot): Removed.
19792 (grub_env_get_data_slot): Likewise.
19793 (grub_env_unset_data_slot): Likewise.
19794 (grub_env_unset_menu): New prototype.
19795 (grub_env_set_menu): Likewise.
19796 (grub_env_get_menu): Likewise.
19797 * include/grub/env_private.h: New file.
19798 * include/grub/normal.h (grub_context_init): New prototype.
19799 (grub_context_fini): Likewise.
19800 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
19801 * normal/context.c (grub_cmd_export): ... to here.
19802 * kern/env.c: Include env_private.h.
19803 (HASHSZ): Moved to include/grub/env_private.h.
19804 (grub_env_context): Likewise.
19805 (grub_env_sorted_var): Likewise.
19806 (current_context): Renamed from this ...
19807 (grub_current_context): ...to this. 'static' removed. All users updated.
19808 (grub_env_find): Removed 'static'.
19809 (grub_env_context_open): Moved to normal/context.c.
19810 (grub_env_context_close): Likewise.
19811 (grub_env_export): Likewise.
19812 (mangle_data_slot_name): Removed.
19813 (grub_env_set_data_slot): Likewise.
19814 (grub_env_get_data_slot): Likewise.
19815 (grub_env_unset_data_slot): Likewise.
19816 * kern/main.c (grub_set_root_dev): Don't export root.
19817 It will be done later.
19818 (grub_main): Don't export prefix.
19819 It will be done later.
19820 * normal/context.c: New file.
19821 * normal/main.c (free_menu): Use grub_env_unset_menu.
19822 (grub_normal_add_menu_entry): Use grub_env_get_menu.
19823 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
19824 (GRUB_MOD_INIT(normal)): Call grub_context_init.
19825 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
19826
8dd35b8c
VS
198272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19828
19829 setpci support.
19830
19831 * commands/setpci.c: New file.
19832 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
19833 (setpci_mod_SOURCES): New variable.
19834 (setpci_mod_CFLAGS): Likewise.
19835 (setpci_mod_LDFLAGS): Likewise.
19836
449193d5
VS
198372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19838
19839 Byte-addressable PCI configuration space.
19840
19841 * bus/pci.c (grub_pci_make_address): Use byte address instead of
19842 dword address.
19843 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
19844 GRUB_PCI_REG_CACHELINE.
19845 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
19846 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
19847 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
19848 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
19849 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
19850 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
19851 grub_pci_make_address.
19852 (lock_rom_area): Likewise.
19853 * commands/lspci.c (grub_lspci_iter): Use macroses
19854 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
19855 of grub_pci_make_address.
19856 * disk/ata.c (grub_ata_pciinit): Likewise.
19857 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
19858 (GRUB_PCI_REG_VENDOR): Likewise.
19859 (GRUB_PCI_REG_DEVICE): Likewise.
19860 (GRUB_PCI_REG_COMMAND): Likewise.
19861 (GRUB_PCI_REG_STATUS): Likewise.
19862 (GRUB_PCI_REG_REVISION): Likewise.
19863 (GRUB_PCI_REG_CLASS): Likewise.
19864 (GRUB_PCI_REG_CACHELINE): Likewise.
19865 (GRUB_PCI_REG_LAT_TIMER): Likewise.
19866 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
19867 (GRUB_PCI_REG_BIST): Likewise.
19868 (GRUB_PCI_REG_ADDRESSES): Likewise.
19869 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19870 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19871 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19872 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19873 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19874 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19875 (GRUB_PCI_REG_CIS_POINTER): Likewise.
19876 (GRUB_PCI_REG_SUBVENDOR): Likewise.
19877 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
19878 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
19879 (GRUB_PCI_REG_CAP_POINTER): Likewise.
19880 (GRUB_PCI_REG_IRQ_LINE): Likewise.
19881 (GRUB_PCI_REG_IRQ_PIN): Likewise.
19882 (GRUB_PCI_REG_MIN_GNT): Likewise.
19883 (GRUB_PCI_REG_MAX_LAT): Likewise.
19884 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
19885 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
19886 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 19887 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
19888 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
19889 space.
19890
96d73208
RM
198912010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19892
19893 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
19894 can be reliably determined to be supported.
19895
d4484482
RM
198962010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19897
19898 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
19899 that VESA is supported.
19900 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
19901 supported.
19902
00308ecf
VS
199032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19904
19905 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
19906
f66924a4
RM
199072010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19908
19909 * util/misc.c (make_system_path_relative_to_its_root): Work around
19910 special-casing of "/", as previous incarnation of this routine did.
19911
cbca0ada
VS
199122010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19913
19914 Fix any-emu compilation.
19915
19916 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
19917 * grub_bin2h_SOURCES: New variable.
19918
34a66d99
RM
199192010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19920
19921 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
19922
94fabf58
RM
199232010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19924
19925 * util/grub.d/00_header.in: Fix handling of locale_dir.
19926
02cf98ca
VS
199272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19928
19929 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
19930 as possible unifont location (Gentoo).
19931 Reported by: Alexander Brüning
19932
327dbcd7
VS
199332010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19934
19935 Don't try to generate lists for kernel.img.
19936
19937 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
19938 (pkglib_MODULES): Remove kernel.img.
19939 (kernel_img_EXPORTS): Removed.
19940 (kernel_img_RELOCATABLE): New variable.
19941 * conf/x86_64-efi.rmk: Likewise.
19942 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
19943
ca467290
VS
199442010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19945
19946 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
19947 grub_xasprintf or grub_snprintf.
19948 (grub_vsprintf): Likewise.
19949 (grub_snprintf): New proto.
19950 (grub_vsnprintf): Likewise.
19951 (grub_xasprintf): Likewise.
19952 (grub_xvasprintf): Likewise.
19953 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
19954 (grub_sprintf): Removed.
19955 (grub_vsnprintf): New function.
19956 (grub_snprintf): Likewise.
19957 (grub_xvasprintf): Likewise.
19958 (grub_xasprintf): Likewise.
19959 (grub_vsprintf): Renamed to ...
19960 (grub_vsnprintf_real): ...this. New argument max_len.
19961
aca655fd
BC
199622010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
19963
19964 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
19965 fix grub-script-check warning.
19966
7ee92c32
VS
199672010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19968
19969 * include/grub/font.h (grub_font_load): Fix prototype.
19970
f80927ca
VS
199712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19972
19973 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
19974
119c50ea
VS
199752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19976
19977 * include/grub/x86_64/at_keyboard.h: New file.
19978
47d5f3c1
VS
199792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19980
19981 * loader/mips/linux.c: Include missing grub/i18n.h.
19982
55ff5266
RM
199832009-12-20 Robert Millan <rmh.grub@aybabtu.com>
19984
19985 * normal/menu.c (notify_execution_failure): Clarify error message.
19986
c893cc87
RM
199872009-12-20 Robert Millan <rmh.grub@aybabtu.com>
19988
19989 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
19990 return value (and revert all return statements). Update users.
19991
917dd370
CW
199922010-01-20 Dan Merillat <debian@dan.merillat.org>
19993
19994 * kern/device.c (grub_device_iterate): Allocate new part_ent
19995 structure based on sizeof (*p) rather than sizeof (p->next), to
19996 account for structure padding.
19997
19998 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
19999 disk is NULL, which might happen for LVM physical volumes with no
20000 LVM signature.
20001
d4a4ee57
RM
200022009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20003
20004 * loader/mips/linux.c (grub_cmd_initrd)
20005 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
20006
200072009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20008
20009 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
20010 (grub_video_video_init, grub_video_bitmap_init)
20011 (grub_font_manager_init, grub_term_gfxterm_init)
20012 (grub_at_keyboard_init): New extern declarations.
20013 (grub_machine_init): Initialize gfxterm and at_keyboard.
20014
20015 * kern/main.c (grub_main): Revert grub_printf delay kludge.
20016
20017 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
20018 `gfxterm.mod' into core image.
20019
20020 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20021 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20022 (kernel_img_FORMAT): Copy to ...
20023
20024 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20025 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20026 (kernel_img_FORMAT): ... here, and ...
20027
20028 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20029 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20030 (kernel_img_FORMAT): ... here.
20031
20032 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
20033 and input (at_keyboard) terminals in kernel.
20034 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
20035
20036 (pkglib_MODULES): Remove `pci.mod'.
20037 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
20038 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
20039 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
20040 (at_keyboard_mod_LDFLAGS): Remove variables.
20041
200422010-01-11 Felix Zielcke <fzielcke@z-51.de>
20043
20044 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
20045
200462009-12-10 Robert Millan <rmh.grub@aybabtu.com>
20047
20048 * include/grub/mips/libgcc.h: Only export symbols for functions
20049 that libgcc provides.
20050
200512009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
20052
20053 MIPS support.
20054
20055 * bus/bonito.c: New file.
20056 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
20057 GRUB_PCI_NUM_DEVICES.
20058 * term/i386/pc/serial.c: Move to ...
20059 * term/serial.c: ... here. All users updated.
20060 * util/i386/pc/grub-mkimage.c: Move to ...
20061 * util/grub-mkrawimage.c: ... here. All users updated.
20062 * term/i386/pc/at_keyboard.c: Move to ...
20063 * term/at_keyboard.c: ... here. All users updated.
20064 * conf/mips-qemu-mips.rmk: New file.
20065 * conf/mips-yeeloong.rmk: Likewise.
20066 * conf/mips.rmk: Likewise.
20067 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
20068 mipsel-qemu-mips.
20069 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
20070 to port addresses.
20071 (grub_ata_pciinit): Support CS5536.
20072 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
20073 * font/font_cmd.c (loadfont_command): Open file before passing it to
20074 grub_font_load.
20075 (pseudo_file_read): New function.
20076 (pseudo_file_close): Likewise.
20077 (pseudo_fs): New structure.
20078 (load_font_module): New function.
20079 (GRUB_MOD_INIT(font_manager)): Load embedded font.
20080 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
20081 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
20082 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
20083 * include/grub/i386/at_keyboard.h: Split into ...
20084 * include/grub/at_keyboard.h: ... this ...
20085 * include/grub/i386/at_keyboard.h: ... and this.
20086 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
20087 New prototype.
20088 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
20089 updated.
20090 (grub_elf64_size): Likewise.
20091 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
20092 filename.
20093 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
20094 * include/grub/i386/coreboot/serial.h: Rewritten.
20095 * include/grub/i386/ieee1275/serial.h: Include
20096 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
20097 * include/grub/i386/pc/serial.h: Moved from here ...
20098 * include/grub/serial.h: ... to here. All users updated.
20099 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
20100 (GRUB_PCI_NUM_BUS): Likewise.
20101 (GRUB_PCI_NUM_DEVICES): Likewise.
20102 (grub_pci_device_map_range): Add missing volatile keyword.
20103 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
20104 * include/grub/mips/at_keyboard.h: New file.
20105 * include/grub/mips/cache.h: Likewise.
20106 * include/grub/mips/io.h: Likewise.
20107 * include/grub/mips/kernel.h: Likewise.
20108 * include/grub/mips/libgcc.h: Likewise.
20109 * include/grub/mips/pci.h: Likewise.
20110 * include/grub/mips/qemu-mips/boot.h: Likewise.
20111 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20112 * include/grub/mips/qemu-mips/loader.h: Likewise.
20113 * include/grub/mips/qemu-mips/memory.h: Likewise.
20114 * include/grub/mips/qemu-mips/serial.h: Likewise.
20115 * include/grub/mips/qemu-mips/time.h: Likewise.
20116 * include/grub/mips/relocator.h: Likewise.
20117 * include/grub/mips/time.h: Likewise.
20118 * include/grub/mips/types.h: Likewise.
20119 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
20120 * include/grub/mips/yeeloong/boot.h: Likewise.
20121 * include/grub/mips/yeeloong/kernel.h: Likewise.
20122 * include/grub/mips/yeeloong/loader.h: Likewise.
20123 * include/grub/mips/yeeloong/memory.h: Likewise.
20124 * include/grub/mips/yeeloong/pci.h: Likewise.
20125 * include/grub/mips/yeeloong/serial.h: Likewise.
20126 * include/grub/mips/yeeloong/time.h: Likewise.
20127 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
20128 * kern/elf.c (grub_elf32_size): New parameter. All users
20129 updated.
20130 (grub_elf64_size): Likewise.
20131 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
20132 Load modules before saying "Welcome to GRUB!".
20133 Call grub_refresh after saying "Welcome to GRUB!".
20134 * kern/mips/cache.S: New file.
20135 * kern/mips/cache_flush.S: Likewise.
20136 * kern/mips/dl.c: Likewise.
20137 * kern/mips/init.c: Likewise.
20138 * kern/mips/qemu-mips/init.c: Likewise.
20139 * kern/mips/startup.S: Likewise.
20140 * kern/mips/yeeloong/init.c: Likewise.
20141 * kern/term.c (grub_putcode): Handle NULL terminal.
20142 (grub_getcharwidth): Likewise.
20143 (grub_getkey): Likewise.
20144 (grub_checkkey): Likewise.
20145 (grub_getkeystatus): Likewise.
20146 (grub_getxy): Likewise.
20147 (grub_getwh): Likewise.
20148 (grub_gotoxy): Likewise.
20149 (grub_cls): Likewise.
20150 (grub_setcolorstate): Likewise.
20151 (grub_setcolor): Likewise.
20152 (grub_getcolor): Likewise.
20153 (grub_refresh): Likewise.
20154 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
20155 (write_jump): Add hatch nop.
20156 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
20157 * lib/mips/setjmp.S: New file.
20158 * loader/mips/linux.c: Likewise.
20159 * term/i386/pc/at_keyboard.c: Move from here ...
20160 * term/at_keyboard.c: ... to here.
20161 * term/i386/pc/serial.c: Moved from here ...
20162 * term/serial.c: ... to here. All users updated.
20163 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
20164 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
20165 (serial_translate_key_sequence): Avoid deadlock.
20166 (grub_serial_getkey): Handle backspace.
20167 (grub_serial_putchar): Fix newline handling.
20168 * util/i386/pc/grub-mkimage.c: Move from here ...
20169 * util/grub-mkrawimage.c: ... to here. All users updated.
20170 (generate_image): New parameters 'font_path' and 'format'.
20171 Support embedding font.
20172 Use grub_host_to_target* instead of grub_cpu_to_le*.
20173 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
20174 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
20175 (options): New option "--font".
20176 (usage): Likewise.
20177 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
20178 (main): Handle "--font".
20179 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
20180 (grub_virtual_screen_setup): Set bg_color_display.
20181 (redraw_screen_rect): Use bg_color_display instead of incorrect
20182 bg_color.
20183 (grub_gfxterm_cls): Likewise.
20184 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
20185 Support embedding config file.
20186 (add_segments): Likewise.
20187 (options): New option "--config".
20188 (main): Handle "--config".
20189 * video/sm712.c: New file.
20190
25c2b5b3
RM
201912010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20192
20193 Fix parallel builds.
20194
20195 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
20196 font.c depend on ascii.h).
20197
201982010-01-12 Carles Pina i Estany <carles@pina.cat>
20199
20200 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
20201
202022010-01-11 Carles Pina i Estany <carles@pina.cat>
20203
20204 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
20205 By default: disabled.
20206 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
20207 parameter.
20208
202092010-01-10 Carles Pina i Estany <carles@pina.cat>
20210
20211 * font/font.c: Update copyright years.
20212 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
20213
202142010-01-10 Carles Pina i Estany <carles@pina.cat>
20215
20216 * font/font.c: Include `ascii.h'.
20217 (ASCII_BITMAP_SIZE): New macro.
20218 (ascii_font_glyph): Define.
20219 (ascii_glyph_lookup): New function.
20220 (grub_font_get_string_width): Change comment. If glyph not found, use
20221 ascii_glyph_lookup.
20222 (grub_font_get_glyph_with_fallback): If glyph not available returns
20223 ascii_glyph_lookup.
20224 * util/grub-mkfont.c (file_formats): New enum.
20225 (options): Add `ascii-bitmaps' new option.
20226 (usage): Add `asii-bitmaps' new option.
20227 (write_font_ascii_bitmap): New function.
20228 (write_font): Rename to ...
20229 (write_font_p2): ... this. Remove print_glyphs call.
20230 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
20231 used. Call print_glyphs.
20232 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
20233
202342010-01-14 Robert Millan <rmh.grub@aybabtu.com>
20235
20236 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
20237 (grub_bin2h_SOURCES): New variable.
20238 * util/bin2h.c: New file.
20239
915fc1b8
VS
202402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20241
20242 * include/multiboot.h: Resynced with spec.
20243 * include/multiboot2.h: Likewise.
20244 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
20245 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
20246
9444b678
RM
202472010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20248
20249 * include/grub/term.h (grub_term_register_input,
20250 grub_term_register_output): Check return of terminal init()
20251 routines, and abort if errors are raised.
20252
20253 * commands/terminal.c: Update copyright year.
20254
cba98e8d
RM
202552010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20256
20257 * commands/terminal.c (grub_cmd_terminal_input)
20258 (grub_cmd_terminal_output): Check return of terminal init()
20259 routines, and abort if errors are raised.
20260
6f7db5d6
VS
202612010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20262
20263 * include/grub/i386/bsd.h: Fix include pathes.
20264
262bff8d
VS
202652010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20266
20267 Add missing *BSD copyright headers.
20268
20269 * include/grub/aout.h: Add BSD licence.
20270 * include/grub/i386/bsd.h: Parts under different licences moved to ...
20271 * include/grub/i386/freebsd_linker.h: ... here,
20272 * include/grub/i386/freebsd_reboot.h: ... here,
20273 * include/grub/i386/netbsd_bootinfo.h: ... here,
20274 * include/grub/i386/netbsd_reboot.h: ... here,
20275 * include/grub/i386/openbsd_bootarg.h: ... here,
20276 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
20277 licence to each file.
20278
b2cab848
RM
202792010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20280
20281 * acinclude.m4: Remove `nop' assembly instruction; it's not
20282 implemented by all architectures.
20283
2cb6be4b
RM
202842010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20285
20286 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
20287 ELILO. This is no longer necessary.
20288
a2eaee15
BC
202892010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
20290
20291 Added new tool, grub-scrit-check to verify grub.cfg syntax.
20292
20293 * util/grub-script-check.c: grub-script-check tool.
20294 * conf/common.rmk: Make rules for grub-script-check.
20295
88d17012
RM
202962010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20297
20298 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
20299 spotting it back in 2008. Shame on me for forgetting he did.
20300
20301 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
20302
8040619d
RM
203032010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20304
20305 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
20306 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
20307 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
20308 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
20309 (GRUB_VIDEO_TYPE_EFI): Rename to ...
20310 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
20311
a0c2a0f6
RM
203122010-01-17 Robert Millan <rmh.grub@aybabtu.com>
20313
20314 * include/grub/test.h: Add license header.
20315 * tests/example_functional_test.c: Likewise.
20316 * tests/example_unit_test.c: Likewise.
20317 * tests/lib/functional_test.c: Likewise.
20318 * tests/lib/test.c: Likewise.
20319 * tests/lib/unit_test.c: Likewise.
20320
b0b13907
VS
203212010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
20322
20323 Use flag-based instead of hook-based video mode selection and "auto"
20324 keyword.
20325
20326 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
20327 (grub_video_set_mode): Changed prototype. All users updated.
20328 (grub_video_check_mode_flag): New inline function.
20329 * video/video.c (parse_modespec): New function.
20330 (grub_video_set_mode): Parse flags and keywords.
20331
ea379330 203322010-01-17 Carles Pina i Estany <carles@pina.cat>
20333
20334 * util/misc.c (grub_util_info): Fix the order of the parameters in a
20335 fprintf call.
20336
e15c215e
FZ
203372010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
20338
20339 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
20340
409ae1c9 203412010-01-16 Carles Pina i Estany <carles@pina.cat>
20342
20343 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
20344 string.
20345 * util/grub-emu.c (usage): Likewise.
20346 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
20347 * util/i386/efi/grub-mkimage.c (usage): Likewise.
20348 * util/i386/pc/grub-mkimage.c (usage): Likewise.
20349 * util/i386/pc/grub-setup.c (usage): Likewise.
20350
70a14d3d 203512010-01-16 Carles Pina i Estany <carles@pina.cat>
20352
20353 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
20354 the message.
20355 (grub_util_info): Likewise.
20356 (grub_util_error): Likewise.
20357 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
20358 and/or new lines in `grub_util_warna', `grub_util_info',
20359 `grub_util_error' calls.
20360 * util/getroot.c: Likewise.
20361 * util/grub-editenv.c: Likewise.
20362 * util/grub-emu.c: Likewise.
20363 * util/grub-fstest.c: Likewise.
20364 * util/grub-mkdevicemap.c: Likewise.
20365 * util/grub-mkfont.c: Likewise.
20366 * util/grub-mkpasswd-pbkdf2.c: Likewise.
20367 * util/grub-mkrelpath.c: Likewise.
20368 * util/grub-pe2elf.c: Likewise.
20369 * util/grub-probe.c: Likewise.
20370 * util/hostdisk.c: Likewise.
20371 * util/i386/efi/grub-mkimage.c: Likewise.
20372 * util/i386/pc/grub-mkimage.c: Likewise.
20373 * util/i386/pc/grub-setup.c: Likewise.
20374 * util/ieee1275/ofpath.c: Likewise.
20375 * util/mkisofs/eltorito.c: Likewise.
20376 * util/mkisofs/rock.c: Likewise.
20377 * util/mkisofs/write.c: Likewise.
20378 * util/raid.c: Likewise.
20379 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
20380 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20381
a0b766fc
VS
203822010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20383
20384 Enable multiboot on non-pc.
20385
20386 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
20387 multiboot.mod and multiboot2.mod to ...
20388 * conf/i386.rmk (pkglib_MODULES): ... here.
20389 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
20390 Moved to ...
20391 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
20392 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
20393 Moved to ...
20394 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
20395 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
20396 Moved to ...
20397 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
20398 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
20399 Moved to ...
20400 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
20401 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
20402 relocator.mod.
20403 (ata_mod_SOURCES): Removed.
20404 (ata_mod_CFLAGS): Likewise.
20405 (ata_mod_LDFLAGS): Likewise.
20406 (relocator_mod_SOURCES): Removed.
20407 (relocator_mod_CFLAGS): Likewise.
20408 (relocator_mod_ASFLAGS): Likewise.
20409 (relocator_mod_LDFLAGS): Likewise.
20410 Include i386.mk.
20411 * include/grub/x86_64/multiboot.h: New file.
20412 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
20413 Terminate EFI.
20414
884ade56
VS
204152010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20416
20417 Video multiboot support.
20418
20419 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
20420 New prototype.
20421 * include/multiboot.h: Resynced with multiboot specification.
20422 * include/multiboot2.h: Likewise.
20423 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
20424 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
20425 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
20426 (HAS_VGA_TEXT): Likewise.
20427 (accepts_video): New variable.
20428 (grub_multiboot_set_accepts_video): New function.
20429 (grub_multiboot_get_mbi_size): Account for video structures.
20430 (set_video_mode): New function.
20431 (retrieve_video_parameters): Likewise.
20432 (grub_multiboot_make_mbi): Fill video fields.
20433
0d90e8a6
VS
204342010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20435
20436 Video driver ids.
20437
20438 * include/grub/video.h (grub_video_driver_id): New type.
20439 (grub_video_adapter): New member 'id'. All users updated.
20440 (grub_video_get_driver_id): New proto.
20441 * video/video.c (grub_video_get_driver_id): New function.
20442
5c71db1b 204432010-01-14 Carles Pina i Estany <carles@pina.cat>
20444
20445 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
20446 `var=val'.
20447
cca15b52 204482010-01-14 Carles Pina i Estany <carles@pina.cat>
20449
20450 * normal/cmdline.c (print_completion): Gettextizze.
20451
c586fbb2 204522001-01-14 Carles Pina i Estany <carles@pina.cat>
20453
20454 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
20455
ba2f6848 204562010-01-14 Carles Pina i Estany <carles@pina.cat>
20457
20458 * gettext/gettext.c (grub_gettext_translate): Push and pop
20459 grub_errno.
20460 (grub_gettext_delete_list): Change comment style.
20461 * kern/err.c (grub_error): Gettextizze.
20462 (grub_fatal): Gettextizze.
20463
0a46429a
RM
204642010-01-14 Robert Millan <rmh.grub@aybabtu.com>
20465
20466 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
20467 (grub_linux16_real_boot): ... this.
20468 * kern/i386/loader.S: Likewise.
20469 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
20470 (grub_linux16_boot): New function. Switches to text mode and calls
20471 grub_linux16_real_boot().
20472
20473 * loader/i386/bsd.c: Include `<grub/video.h>'.
20474 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
20475 text mode before calling grub_unix_real_boot().
20476
20477 * loader/i386/multiboot.c: Include `<grub/video.h>'.
20478 (grub_multiboot_boot): Switch to text mode before calling
20479 grub_relocator32_boot().
20480
20481 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
20482 (grub_chainloader_boot): Switch to text mode before calling
20483 grub_chainloader_real_boot().
20484
d6f93a66
RM
204852010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
204862010-01-05 Colin Watson <cjwatson@ubuntu.com>
20487
20488 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
20489 non-empty value.
20490
204912010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
204922010-01-05 Colin Watson <cjwatson@ubuntu.com>
20493
20494 * util/grub.d/00_header.in: Define a "savedefault" function for use
20495 in menu entries.
20496 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
20497
204982010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
204992010-01-05 Colin Watson <cjwatson@ubuntu.com>
20500
20501 * util/grub-mkconfig_lib.in (save_default_entry): Only set
20502 saved_entry if boot_once is unset.
20503 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
20504 previous saved entry (i.e. grub-reboot).
20505
205062009-12-08 Colin Watson <cjwatson@ubuntu.com>
20507
20508 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
20509
205102009-12-08 Colin Watson <cjwatson@ubuntu.com>
20511
20512 * util/grub.d/00_header.in: Use `set var=val' rather than plain
20513 `var=val'.
20514 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
20515
205162009-12-08 Colin Watson <cjwatson@ubuntu.com>
20517
20518 * util/grub-reboot.in: Fix --version output.
20519 * util/grub-set-default.in: Likewise.
20520
205212009-12-08 Colin Watson <cjwatson@ubuntu.com>
20522
20523 * util/grub.d/00_header.in: Silently ignore zero-sized environment
20524 blocks.
20525
205262009-12-08 Colin Watson <cjwatson@ubuntu.com>
20527
20528 * util/grub.d/00_header.in: Quote the value assigned to `default',
20529 in case it contains spaces.
20530
205312009-12-08 Colin Watson <cjwatson@ubuntu.com>
20532
20533 * util/grub.d/30_os-prober.in: Fix merge error that moved a
20534 `save_default_entry' call from the macosx case to the linux case.
20535
205362009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
205372009-10-25 Colin Watson <cjwatson@ubuntu.com>
20538
20539 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
20540 in `chosen' environment variable.
20541 * normal/menu_text.c (get_entry_number): Check if the variable
20542 matches the title of a menu entry.
20543 (run_menu): Pass menu to get_entry_number.
20544
20545 * util/grub-reboot.in: New file.
20546 * util/grub-set-default.in: New file.
20547 * conf/common.rmk (grub-reboot): New utility.
20548 (grub-set-default): New utility.
20549
20550 * util/grub-mkconfig_lib.in (save_default_entry): New function.
20551 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
20552 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
20553 move it to `saved_entry' for the next boot. Load environment on
20554 initialisation.
20555 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
20556 * util/grub.d/10_hurd.in: Likewise.
20557 * util/grub.d/10_linux.in (linux_entry): Likewise.
20558 * util/grub.d/10_windows.in: Likewise.
20559 * util/grub.d/30_os-prober.in: Likewise.
20560
20561 * util/grub-install.in: Create environment block.
20562 * util/i386/efi/grub-install.in: Likewise.
20563 * util/ieee1275/grub-install.in: Likewise.
20564 * util/sparc64/ieee1275/grub-install.in: Likewise.
20565
0934d184
BC
205662010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
20567
20568 Unit testing framework for GRUB.
20569
20570 * Makefile.in: Test framework build rules for 'make check'.
20571 * conf/tests.rmk: Build rules for individual tests and framework.
20572
20573 * include/grub/test.h: Header file for whitebox tests.
20574 * tests/lib/functional_test.c: Framework support for whitebox
20575 functional tests.
20576 * tests/lib/test.c: Common whitebox testing code for unit and
20577 functional tests.
20578 * tests/lib/unit_test.c: Framework support for whitebox unit
20579 tests.
20580
20581 * tests/util/grub-shell-tester.in: Support utility for grub-script
20582 tests.
20583 * tests/util/grub-shell.in: Utility to execute grub-script
20584 commands in a Qemu instance.
20585
20586 * tests/example_functional_test.c: Example whitebox functional
20587 test.
20588 * tests/example_grub_script_test.in: Example grub-script test.
20589 * tests/example_scripted_test.in: Example scripted test.
20590 * tests/example_unit_test.c: Example whitebox unit test.
20591
9c4ffeeb
VS
205922010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
20593
20594 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
20595 Add loader/i386/multiboot_mbi.c.
20596 (multiboot2_mod_SOURCES): Likewise.
20597 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
20598 (multiboot2_mod_SOURCES): Likewise.
20599 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
20600 (grub_multiboot_make_mbi): Likewise.
20601 (grub_multiboot_free_mbi): Likewise.
20602 (grub_multiboot_init_mbi): Likewise.
20603 (grub_multiboot_add_module): Likewise.
20604 (grub_multiboot_set_bootdev): Likewise.
20605 * loader/i386/multiboot.c (mbi): Removed.
20606 (mbi_dest): Likewise.
20607 (alloc_mbi): New variable.
20608 (grub_multiboot_payload_size): Removed. All users updated.
20609 (grub_multiboot_pure_size): New variable.
20610 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
20611 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
20612 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
20613 (grub_fill_multiboot_mmap): Likewise.
20614 (grub_multiboot_get_bootdev): Likewise.
20615 (grub_multiboot): Use multiboot_mbi functions.
20616 * loader/i386/multiboot_mbi.c: New file.
20617
17383dfe
VS
206182010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20619
20620 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
20621 it would result in module crash.
20622
c1f28820
VS
206232010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20624
20625 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
20626 (grub_ofconsole_getwh): Split to ...
20627 (grub_ofconsole_getwh): ... this.
20628 (grub_ofconsole_dimensions): ...and this.
20629 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
20630
58655a16
RM
206312010-01-13 Robert Millan <rmh.grub@aybabtu.com>
20632
20633 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
20634
10891398
VS
206352010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20636
20637 * loader/i386/pc/multiboot2.c: Removed stalled file.
20638
0b8a223c
VS
206392010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20640
20641 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
20642 Reported by: Grégoire Sutre
20643
92ab12b0
RM
206442010-01-11 Robert Millan <rmh.grub@aybabtu.com>
20645
20646 * util/misc.c (canonicalize_file_name): New function.
20647 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
20648 instead of realpath().
20649
a788afb6
CW
206502010-01-11 Colin Watson <cjwatson@ubuntu.com>
20651
20652 * util/grub-install.in (usage): Clarify meaning of --root-directory,
20653 and make it clearer that it's optional. Based on confusion
20654 witnessed on IRC.
20655
ffa8e3d2
VS
206562010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20657
20658 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
20659 in premature implicit newline.
20660
e9060a9d
VS
206612010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20662
20663 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
20664 which resulted in garbled command line at the end of screen.
20665
f0d0c0b7
RM
206662010-01-10 Robert Millan <rmh.grub@aybabtu.com>
20667
20668 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
20669 initialization with similar approach as with other Linux loaders.
20670
0e60bae7
RM
206712010-01-10 Robert Millan <rmh.grub@aybabtu.com>
20672
20673 Fix i386-ieee1275 build.
20674
20675 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
20676 and grub_term_height() for video_{width,height} initialization.
20677
206782010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
20679
20680 Fix grub-emu build.
20681
20682 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
20683
cdb3f378
RM
206842010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
206852010-01-09 Robert Millan <rmh.grub@aybabtu.com>
20686
20687 Support for multiple terminals.
20688
20689 * Makefile.in (pkglib_DATA): terminal.lst.
20690 (terminal.lst): New target.
20691 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
20692 (GRUB_MOD_INIT(handler)): Likewise.
20693 (GRUB_MOD_FINI(handler)): Likewise.
20694 * commands/help.c (grub_cmd_help): Handle multiple terminals.
20695 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
20696 * commands/sleep.c (do_print): Use grub_term_restore_pos.
20697 (grub_cmd_sleep): Use grub_term_save_pos.
20698 * commands/terminal.c: New file.
20699 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
20700 commands/terminal.c and lib/charset.c.
20701 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
20702 (pkglib_MODULES): Add terminal.mod.
20703 (terminal_mod_SOURCES): New variable.
20704 (terminal_mod_CFLAGS): Likewise.
20705 (terminal_mod_LDFLAGS): Likewise.
20706 * genhandlerlist.sh: Don't handle terminals.
20707 * genmk.rb: Generate terminal-*.lst.
20708 * genterminallist.sh: New file.
20709 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
20710 (grub_is_valid_utf8): Likewise.
20711 (grub_utf8_to_ucs4_alloc): Likewise.
20712 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
20713 (grub_menu_register_viewer): Changed argument.
20714 (grub_menu_try_text): New proto.
20715 (grub_gfxmenu_try_hook): New declaration.
20716 * include/grub/normal.h (grub_normal_exit_level): New declaration.
20717 (grub_menu_init_page): Additional argument term.
20718 (grub_normal_init_page): Likewise.
20719 (grub_cmdline_get): Arguments simplified.
20720 (grub_utf8_to_ucs4_alloc): Removed.
20721 (grub_print_ucs4): Additional argument term.
20722 (grub_getstringwidth): Likewise.
20723 (grub_print_message_indented): Likewise.
20724 (grub_menu_text_register_instances): New proto.
20725 (grub_show_menu): Likewise.
20726 (read_terminal_list): Likewise.
20727 (grub_set_more): Likewise.
20728 * include/grub/parser.h: Include handler.h.
20729 * include/grub/reader.h: Rewritten.
20730 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
20731 (GRUB_TERM_WIDTH): Changed to function.
20732 (GRUB_TERM_HEIGHT): Likewise.
20733 (GRUB_TERM_BORDER_WIDTH): Likewise.
20734 (GRUB_TERM_BORDER_HEIGHT): Likewise.
20735 (GRUB_TERM_NUM_ENTRIES): Likewise.
20736 (GRUB_TERM_ENTRY_WIDTH): Likewise.
20737 (GRUB_TERM_CURSOR_X): Likewise.
20738 (grub_term_input_class): Likewise.
20739 (grub_term_output_class): Likewise.
20740 (grub_term_outputs_disabled): New declaration.
20741 (grub_term_inputs_disabled): Likewise.
20742 (grub_term_outputs): Likewise.
20743 (grub_term_inputs): Likewise.
20744 (grub_term_register_input): Rewritten.
20745 (grub_term_register_output): Likewise.
20746 (grub_term_unregister_input): Likewise.
20747 (grub_term_unregister_output): Likewise.
20748 (FOR_ACTIVE_TERM_INPUTS): New macro.
20749 (FOR_DISABLED_TERM_INPUTS): Likewise.
20750 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
20751 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
20752 * include/grub/terminfo.h: Add oterm argument to all protypes.
20753 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
20754 Use grub_rescue_run.
20755 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
20756 All users updated.
20757 * kern/reader.c: Removed. All users updated.
20758 * kern/rescue_reader.c (grub_rescue_init): Removed.
20759 (grub_rescue_reader): Likewise.
20760 (grub_register_rescue_reader): Likewise.
20761 (grub_rescue_run): New function based on kern/reader.c.
20762 * kern/term.c: Adapted for multiterm.
20763 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
20764 (grub_is_valid_utf8): Likewise.
20765 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
20766 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
20767 right terminal.
20768 * loader/i386/linux.c (grub_linux_boot): Likewise.
20769 * normal/auth.c (grub_username_get): New function.
20770 (grub_auth_check_authentication): Use grub_username_get.
20771 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
20772 * normal/color.c: Adapt for multiterm.
20773 * normal/main.c (read_config_file): Don't use grub_reader_loop.
20774 (grub_normal_init_page): Additional argument term.
20775 (read_lists): Call read_terminal_lists.
20776 (grub_enter_normal_mode): Call grub_cmdline_run.
20777 Handle grub_normal_exit_level.
20778 (grub_cmd_normal): Make reentrant.
20779 (grub_cmd_normal_exit): New function.
20780 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
20781 * normal/menu.c: Adapt for multiterm.
20782 * normal/menu_entry.c: Likewise.
20783 * normal/menu_text.c: Likewise.
20784 * normal/menu_viewer.c: Removed. All users updated.
20785 * normal/term.c: New file.
20786 * util/console.c: Change order of includes to workaround a bug in
20787 ncurses headers.
20788 * term/terminfo.c: New argument oterm on all exported functions.
20789 All users updated.
20790 * util/grub-editenv.c (grub_term_input_class): Removed.
20791 (grub_term_output_class): Likewise.
20792
1a064917
RM
207932010-01-09 Robert Millan <rmh.grub@aybabtu.com>
20794
20795 Make loader output a bit more user-friendly.
20796
20797 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
20798 is being loaded. Likewise for the Hurd.
20799
20800 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
20801 that kernel of FreeBSD ${version} is being loaded.
20802
20803 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
20804 grub_dprintf().
20805 (grub_cmd_initrd): Likewise.
20806 * util/grub.d/10_linux.in (linux_entry): Print message indicating
20807 that Linux ${version} is being loaded. Likewise for initrd.
20808
5ce0a83a 208092010-01-09 Carles Pina i Estany <carles@pina.cat>
20810
20811 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
20812
809bbfeb 208132010-01-08 Carles Pina i Estany <carles@pina.cat>
20814
20815 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
20816 (GRUB_MOD_INIT): Gettextizze.
20817 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
20818 (GRUB_MOD_INIT): Gettextizze.
20819 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
20820 (grub_cmd_linux): Capitalise Linux.
20821 (GRUB_MOD_INIT): Gettextizze.
20822 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
20823 (grub_cmd_linux): Capitalise Linux.
20824 (GRUB_MOD_INIT): Gettextizze.
20825 * loader/i386/linux.c: Include `<grub/i18n.h>'.
20826 (grub_cmd_linux): Capitalise Linux.
20827 (GRUB_MOD_INIT): Gettextizze.
20828 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
20829 (GRUB_MOD_INIT): Gettextizze.
20830 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
20831 (grub_cmd_linux): Capitalise Linux.
20832 (GRUB_MOD_INIT): Gettextizze.
20833 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
20834 (grub_cpu_xnu_init): Gettextizze.
20835 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
20836 (GRUB_MOD_INIT): Gettextizze.
20837 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
20838 (GRUB_MOD_INIT): Gettextizze.
20839 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
20840 (grub_linux_load64): Capitalise Linux.
20841 (GRUB_MOD_INIT): Gettextizze.
20842 * loader/xnu.c: Include `<grub/i18n.h>'.
20843 (GRUB_MOD_INIT): Gettextizze.
20844 * po/POTFILES: Add `loader/efi/appleloader.c',
20845 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
20846 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
20847 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
20848 `loader/i386/xnu.c', `loader/multiboot_loader.c',
20849 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
20850 and `loader/xnu.c'.
20851
b394b2ca
RM
208522010-01-08 Robert Millan <rmh.grub@aybabtu.com>
20853
20854 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
20855
208562010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
20857
20858 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
20859 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
20860 * util/mkisofs/mkisofs.c (main): Readjust --version output.
20861
bc8b32b3
RM
208622010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20863
20864 Reset Multiboot 2 support. New loader implements the draft in
20865 /branches/multiboot2 and shares as much code as possible with the
20866 production Multiboot 1 implementation.
20867
20868 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
20869 * loader/multiboot2.c: Likewise.
20870 * loader/i386/multiboot_helper.S: Likewise.
20871 * include/multiboot2.h: Replace with latest version from the draft
20872 in /branches/multiboot2.
20873
20874 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
20875 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
20876 and `loader/multiboot2.c'.
20877 (pkglib_MODULES): Add `multiboot2.mod'.
20878 (multiboot2_mod_SOURCES): New variable.
20879 (multiboot2_mod_LDFLAGS): Likewise.
20880 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
20881
20882 * conf/i386-pc.rmk: Likewise.
20883
20884 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
20885 (multiboot_mod_SOURCES): Remove variable.
20886 (multiboot_mod_LDFLAGS): Likewise.
20887 (multiboot_mod_CFLAGS): Likewise.
20888
20889 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
20890 `<multiboot2.h>' instead of `<multiboot.h>'.
20891 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
20892 (MULTIBOOT_HEADER_MAGIC): New macros.
20893
20894 * loader/multiboot_loader.c (module_version_status): Remove variable.
20895 (find_multi_boot2_header): Remove function.
20896 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
20897 logic. Always check for the Multiboot version we're compiling for.
20898 (grub_cmd_module_loader): Likewise.
20899 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
20900 command instead of `multiboot'.
20901
5d2c52b8
RM
209022010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20903
20904 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
20905 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
20906 all users.
20907
53108d92
RM
209082010-01-07 Robert Millan <rmh.grub@aybabtu.com>
209092010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20910
20911 Fix breakage introduced with previous commit.
20912
20913 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
20914 commands.
20915 * normal/handler.c (read_handler_list): Revert part of previous commit
20916 affecting this file.
20917 * normal/main.c (read_lists): Move read_handler_list() call back to ...
20918 (grub_normal_execute): ... here.
20919
e2e936b2
RM
209202010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20921
20922 Merge prefix-redefinition-fix branch.
20923
20924 * normal/autofs.c (read_fs_list): Make function capable of being
20925 run multiple times, gracefuly replacing the previous data
20926 structures.
20927 * normal/dyncmd.c (read_command_list): Likewise.
20928 * normal/handler.c (read_handler_list): Likewise.
20929 * normal/main.c (read_lists): New function. Calls all the
20930 list reading functions.
20931 (grub_normal_execute): Use read_lists() instead of calling all
20932 list reading functions explicitly. Register read_lists() as a
20933 variable hook attached to ${prefix}.
20934
607a3701
VS
209352010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20936
20937 Merge crypto branch.
20938
20939 * Makefile.in (pkglib_DATA): Add crypto.lst.
20940 (crypto.lst): New target.
20941 * commands/hashsum.c: New file.
20942 * commands/password.c (check_password): Use grub_crypto_memcmp.
20943 * commands/password_pbkdf2.c: New file.
20944 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
20945 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
20946 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
20947 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
20948 -I$(srcdir)/lib/libgcrypt_wrap.
20949 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
20950 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
20951 password_pbkdf2.mod.
20952 (crypto_mod_SOURCES): New variable.
20953 (crypto_mod_CFLAGS): Likewise.
20954 (crypto_mod_LDFLAGS): Likewise.
20955 (hashsum_mod_SOURCES): New variable.
20956 (hashsum_mod_CFLAGS): Likewise.
20957 (hashsum_mod_LDFLAGS): Likewise.
20958 (pbkdf2_mod_SOURCES): New variable.
20959 (pbkdf2_mod_CFLAGS): Likewise.
20960 (pbkdf2_mod_LDFLAGS): Likewise.
20961 (password_pbkdf2_mod_SOURCES): New variable.
20962 (password_pbkdf2_mod_CFLAGS): Likewise.
20963 (password_pbkdf2_mod_LDFLAGS): Likewise.
20964 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
20965 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
20966 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
20967 Include conf/gcry.rmk.
20968 * include/grub/auth.h: Rewritten.
20969 * include/grub/crypto.h: New file.
20970 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
20971 * include/grub/normal.h (read_crypto_list): New prototype.
20972 * lib/crypto.c: New file.
20973 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
20974 * lib/pbkdf2.c: Likewise.
20975 * normal/auth.c (grub_auth_strcmp): Removed.
20976 (grub_iswordseparator): Likewise.
20977 (grub_auth_strword): Likewise.
20978 (is_authenticated): Use grub_strword.
20979 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
20980 and grub_strword. Pass entered password to authentication callback.
20981 * normal/crypto.c: New file.
20982 * normal/main.c: Call read_crypto_list.
20983 * util/grub-mkpasswd-pbkdf2.c: New file.
20984 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
20985
42841caa
VS
209862010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
20987
20988 Fix descent and ascent calculation.
20989
20990 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
20991 (options): New option "asce".
20992 (usage): Likewise.
20993 (add_char): Ignore invalid glyphs for descent calculation.
20994 Calculate ascent from actual content.
20995 (print_glyphs): Use 'asce'.
20996 (write_font): Likewise. Allow ascent override.
20997 (main): Handle "asce" option.
20998
e7730de7 209992010-01-06 Carles Pina i Estany <carles@pina.cat>
21000
21001 * kern/err.c: Include `<grub/i18n.h>'.
21002 (grub_print_error): Add full stop. Gettextizze.
21003 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
21004 (grub_bsd_load_elf): Capitalise ELF.
21005 (grub_cmd_freebsd_loadenv): Add `s' in error string.
21006 (grub_cmd_freebsd_module): Likewise.
21007 (grub_cmd_freebsd_module_elf): Likewise.
21008 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
21009
40e3a41f 210102010-01-06 Carles Pina i Estany <carles@pina.cat>
21011
21012 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
21013 * commands/search_file.c (HELP_MESSAGE): New macro.
21014 * commands/search_label.c (HELP_MESSAGE): Likewise.
21015 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
21016 * po/POTFILES: Add `commands/search_file.c',
21017 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
21018 `commands/search.c'.
21019
83507e68
RM
210202010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21021
21022 * config.rpath: Update from Gnulib.
21023
465c787b
YB
210242010-01-05 Yves Blusseau <blusseau@zetam.org>
21025
21026 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
21027
6581dd3a
YB
210282010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
21029
21030 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
21031
3bff18c5
CW
210322010-01-05 Colin Watson <cjwatson@ubuntu.com>
21033
21034 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
21035 arguments to fread so that we get a return value in bytes, rather
21036 than something that will normally be rounded down to 0.
21037 Adjust error handling to avoid producing garbage when size_t is not
21038 the same size as long long.
21039
a1368118
CW
210402010-01-05 Colin Watson <cjwatson@ubuntu.com>
21041
21042 * util/mkisofs/write.c (padblock_write): Check return value of
21043 fread.
21044
7c302978
RM
210452010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21046
21047 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
21048 floppy images now.
21049
21050 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
21051
e33ace06
RM
210522010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21053
21054 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
21055 instead of manual alignment.
21056 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
21057 verbose). Avoid attempts to read past end of the device
21058 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
21059 but GRUB_DISK_CACHE_SIZE may exceed that).
21060
4b856776
RM
210612010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21062
21063 * commands/crc.c (grub_cmd_crc): Abort on read errors.
21064 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
21065 it to upper layer.
21066
52c2d97f
VS
210672010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21068
21069 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
21070 New constant.
21071 (grub_efi_piwg_device_path): New structure
21072 (grub_efi_piwg_device_path_t): New type.
21073 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
21074 (devpath_1): Transform to a structure. All users updated.
21075 (devpath_2): Likewise.
21076 (devpath_3): Likewise.
21077 (devpath_4): Likewise.
21078 (devpath_5): Likewise.
21079
98ff6a54
VS
210802010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21081
21082 * loader/efi/appleloader.c: Restored. Update all users.
21083
3a73dcb6
RM
210842010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21085
21086 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
21087
21088 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
21089 (struct boot_blocklist): Move from here ...
21090 * include/grub/i386/pc/boot.h [ASM_FILE]
21091 (struct grub_boot_blocklist): ... to here. Update all users.
21092 (setup): Only initialize `start' member of `first_block'
21093 structure. Add assert() calls to verify the other members.
21094
21095 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
21096 (generate_image): Fix broken blocklist length initialization.
21097 Add assert() call to verify blocklist `segment' field.
21098
ab0eeb0c
RM
210992010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21100
21101 * loader/efi/appleloader.c: Remove. Update all users.
21102
58bc8bd5
RM
211032010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21104
21105 * boot/i386/pc/boot.S: Update copyright year.
21106 * boot/i386/pc/cdboot.S: Likewise.
21107 * boot/i386/pc/diskboot.S: Likewise.
21108 * boot/i386/pc/lnxboot.S: Likewise.
21109 * boot/i386/pc/pxeboot.S: Likewise.
21110 * bus/pci.c: Likewise.
21111 * commands/cmp.c: Likewise.
21112 * commands/help.c: Likewise.
21113 * commands/hexdump.c: Likewise.
21114 * commands/i386/pc/halt.c: Likewise.
21115 * commands/i386/pc/play.c: Likewise.
21116 * commands/i386/pc/vbeinfo.c: Likewise.
21117 * commands/ls.c: Likewise.
21118 * commands/test.c: Likewise.
21119 * disk/dmraid_nvidia.c: Likewise.
21120 * disk/i386/pc/biosdisk.c: Likewise.
21121 * disk/ieee1275/nand.c: Likewise.
21122 * disk/ieee1275/ofdisk.c: Likewise.
21123 * disk/lvm.c: Likewise.
21124 * disk/raid.c: Likewise.
21125 * disk/raid6_recover.c: Likewise.
21126 * disk/scsi.c: Likewise.
21127 * fs/affs.c: Likewise.
21128 * fs/cpio.c: Likewise.
21129 * fs/ext2.c: Likewise.
21130 * fs/hfs.c: Likewise.
21131 * fs/iso9660.c: Likewise.
21132 * fs/ntfs.c: Likewise.
21133 * fs/sfs.c: Likewise.
21134 * fs/udf.c: Likewise.
21135 * fs/ufs.c: Likewise.
21136 * fs/xfs.c: Likewise.
21137 * gencmdlist.sh: Likewise.
21138 * genmk.rb: Likewise.
21139 * include/grub/disk.h: Likewise.
21140 * include/grub/efi/api.h: Likewise.
21141 * include/grub/efi/efi.h: Likewise.
21142 * include/grub/efi/pe32.h: Likewise.
21143 * include/grub/elf.h: Likewise.
21144 * include/grub/fs.h: Likewise.
21145 * include/grub/i386/at_keyboard.h: Likewise.
21146 * include/grub/i386/pc/memory.h: Likewise.
21147 * include/grub/i386/pc/vbe.h: Likewise.
21148 * include/grub/i386/pci.h: Likewise.
21149 * include/grub/i386/tsc.h: Likewise.
21150 * include/grub/ieee1275/ieee1275.h: Likewise.
21151 * include/grub/ntfs.h: Likewise.
21152 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21153 * include/grub/sparc64/libgcc.h: Likewise.
21154 * include/grub/symbol.h: Likewise.
21155 * include/grub/types.h: Likewise.
21156 * include/multiboot2.h: Likewise.
21157 * io/gzio.c: Likewise.
21158 * kern/device.c: Likewise.
21159 * kern/disk.c: Likewise.
21160 * kern/efi/efi.c: Likewise.
21161 * kern/efi/mm.c: Likewise.
21162 * kern/elf.c: Likewise.
21163 * kern/file.c: Likewise.
21164 * kern/i386/dl.c: Likewise.
21165 * kern/i386/pc/init.c: Likewise.
21166 * kern/i386/pc/startup.S: Likewise.
21167 * kern/ieee1275/ieee1275.c: Likewise.
21168 * kern/ieee1275/init.c: Likewise.
21169 * kern/main.c: Likewise.
21170 * kern/mm.c: Likewise.
21171 * kern/powerpc/dl.c: Likewise.
21172 * kern/sparc64/dl.c: Likewise.
21173 * kern/x86_64/dl.c: Likewise.
21174 * lib/hexdump.c: Likewise.
21175 * loader/efi/appleloader.c: Likewise.
21176 * loader/i386/ieee1275/linux.c: Likewise.
21177 * loader/i386/pc/chainloader.c: Likewise.
21178 * loader/i386/pc/linux.c: Likewise.
21179 * loader/i386/pc/multiboot2.c: Likewise.
21180 * loader/ieee1275/multiboot2.c: Likewise.
21181 * loader/multiboot2.c: Likewise.
21182 * loader/multiboot_loader.c: Likewise.
21183 * loader/powerpc/ieee1275/linux.c: Likewise.
21184 * normal/completion.c: Likewise.
21185 * normal/menu_entry.c: Likewise.
21186 * partmap/apple.c: Likewise.
21187 * util/grub.d/10_hurd.in: Likewise.
21188 * util/hostfs.c: Likewise.
21189 * video/readers/png.c: Likewise.
21190
e2d70b5c
CW
211912010-01-03 Colin Watson <cjwatson@ubuntu.com>
21192
21193 * include/grub/misc.h (GNUC_PREREQ): New macro.
21194 (ATTRIBUTE_ERROR): New macro.
21195 * include/grub/list.h (grub_bad_type_cast_real): Use
21196 ATTRIBUTE_ERROR.
21197
a173283f 211982010-01-03 Carles Pina i Estany <carles@pina.cat>
21199
21200 * normal/menu_text.c (print_message): Change messages.
21201
7fa7ff74 212022010-01-03 Carles Pina i Estany <carles@pina.cat>
21203
21204 * normal/menu_entry.c (store_completion): Gettextizze.
21205
136d24f6 212062010-01-03 Carles Pina i Estany <carles@pina.cat>
21207
21208 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
21209
f936862e 212102010-01-03 Carles Pina i Estany <carles@pina.cat>
21211
21212 * po/POTFILES: Sort correctly.
21213
29c44ad1 212142010-01-03 Carles Pina i Estany <carles@pina.cat>
21215
21216 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
21217 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
21218 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
21219 full stop.
21220 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
21221 summary. Gettextizze the strings.
21222 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
21223 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
21224 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
21225 full stop.
21226 (GRUB_MOD_INIT): Remove command name from summary.
21227 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
21228 summary.
21229 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
21230 * term/i386/pc/serial.c (options): Add full stops.
21231 (GRUB_MOD_INIT): Remove command name from the summary.
21232
77a79592 212332010-01-03 Carles Pina i Estany <carles@pina.cat>
21234
21235 * commands/acpi.c: Gettextizze help strings and/or options. Include
21236 `grub/i18n.h' if needed.
21237 * commands/blocklist.c: Likewise.
21238 * commands/boot.c: Likewise.
21239 * commands/cat.c: Likewise.
21240 * commands/cmp.c: Likewise.
21241 * commands/configfile.c: Likewise.
21242 * commands/crc.c: Likewise.
21243 * commands/date.c: Likewise.
21244 * commands/echo.c: Likewise.
21245 * commands/efi/fixvideo.c: Likewise.
21246 * commands/efi/loadbios.c: Likewise.
21247 * commands/gptsync.c: Likewise.
21248 * commands/halt.c: Likewise.
21249 * commands/handler.c: Likewise.
21250 * commands/hdparm.c: Likewise.
21251 * commands/hexdump.c: Likewise.
21252 * commands/i386/cpuid.c: Likewise.
21253 * commands/i386/pc/drivemap.c: Likewise.
21254 * commands/i386/pc/halt.c: Likewise.
21255 * commands/i386/pc/pxecmd.c: Likewise.
21256 * commands/i386/pc/vbeinfo.c: Likewise.
21257 * commands/i386/pc/vbetest.c: Likewise.
21258 * commands/ieee1275/suspend.c: Likewise.
21259 * commands/keystatus.c: Likewise.
21260 * commands/loadenv.c: Likewise.
21261 * commands/ls.c: Likewise.
21262 * commands/lsmmap.c: Likewise.
21263 * commands/lspci.c: Likewise.
21264 * commands/memrw.c: Likewise.
21265 * commands/minicmd.c: Likewise.
21266 * commands/parttool.c: Likewise.
21267 * commands/password.c: Likewise.
21268 * commands/probe.c: Likewise.
21269 * commands/read.c: Likewise.
21270 * commands/reboot.c: Likewise.
21271 * commands/search.c: Likewise.
21272 * commands/sleep.c: Likewise.
21273 * commands/test.c: Likewise.
21274 * commands/true.c: Likewise.
21275 * commands/usbtest.c: Likewise.
21276 * commands/videotest.c: Likewise.
21277 * commands/xnu_uuid.c: Likewise.
21278 * disk/loopback.c: Likewise.
21279 * hello/hello.c: Likewise.
21280 * loader/i386/bsd.c: Likewise.
21281 * term/i386/pc/serial.c: Likewise.
21282 * po/POTFILES: Add new files.
21283
da8d5c53
CW
212842010-01-02 Colin Watson <cjwatson@ubuntu.com>
21285
21286 * term/i386/pc/at_keyboard.c
21287 (keyboard_controller_wait_untill_ready): Rename to ...
21288 (keyboard_controller_wait_until_ready): ... this. Update all users.
21289
33937904 212902010-01-01 Carles Pina i Estany <carles@pina.cat>
21291
21292 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
21293 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
21294 string using string width.
21295 * normal/menu_text.c (grub_print_message_indented): Use
21296 grub_print_spaces and not print_spaces.
21297 (print_timeout): Likewise.
21298 (print_spaces): Move to...
21299 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
21300
3fd3b8d8
RM
213012010-01-01 Robert Millan <rmh.grub@aybabtu.com>
21302
21303 Import from Gnulib.
21304
21305 * gnulib/getdelim.c: New file.
21306 * gnulib/getline.c: Likewise.
21307
33433555
VS
213082009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
21309
21310 * include/grub/list.h (grub_assert_fail): Removed.
21311 (grub_bad_type_cast_real): New function.
21312 (grub_bad_type_cast): New macro.
21313 (GRUB_AS_LIST): Use grub_bad_type_cast.
21314 (GRUB_AS_LIST_P): Likewise.
e44721e8 21315 (GRUB_AS_NAMED_LIST): Likewise.
33433555 21316 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 21317 (GRUB_AS_PRIO_LIST): Likewise.
33433555 21318 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 21319 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 21320
f5a51306
VS
213212009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
21322
21323 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
21324 Fix syntax error.
21325
90d1e879
RM
213262009-12-29 Robert Millan <rmh.grub@aybabtu.com>
21327
21328 * configure.ac: Check for TARGET_CFLAGS initialization before we
21329 initialize it ourselves (sigh).
21330 Move a few modifications to TARGET_CFLAGS to be unconditional
21331 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
21332 eh_frame)
21333
21334 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
21335 * term/i386/pc/at_keyboard.c
21336 (keyboard_controller_wait_untill_ready): Likewise.
21337 (keyboard_controller_led): Rename `led_status' paramter to avoid
21338 name conflict.
21339
465b5a81 213402009-12-28 Carles Pina i Estany <carles@pina.cat>
21341
21342 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
21343 quotes.
21344
c181849b
VS
213452009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21346
21347 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
21348
9c8739a4
VS
213492009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21350
21351 * normal/menu_text.c (grub_print_message_indented): Prevent
21352 past-the-end-of-array dereference.
21353
3e74249c
VS
213542009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21355
21356 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
21357 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
21358
64fd18ed 213592009-12-27 Carles Pina i Estany <carles@pina.cat>
21360
21361 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
21362 * normal/main.c (grub_normal_read_line): Remove a space from the
21363 default prompt.
21364
714af9b9 213652009-12-27 Carles Pina i Estany <carles@pina.cat>
21366
21367 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
21368 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21369 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
21370 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
21371 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21372 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21373 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21374
82f3e412 213752009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 21376
21377 * video/readers/jpeg.c (cmd): Declare.
21378 (grub_cmd_jpegtest): Use `grub_command_t' type.
21379 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21380 Assign to `cmd'.
21381 (GRUB_MOD_FINI): Use `cmd' to unregister.
21382 * video/readers/png.c (cmd): Declare.
21383 (grub_cmd_pngtest): Use `grub_command_t' type.
21384 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21385 Assign to `cmd'.
21386 (GRUB_MOD_FINI): Use `cmd' to unregister.
21387 * video/readers/tga.c (cmd): Declare.
21388 (grub_cmd_tgatest): Use `grub_command_t' type.
21389 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21390 Assign to `cmd'.
21391 (GRUB_MOD_FINI): Use `cmd' to unregister.
21392
82f3e412 213932009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 21394
21395 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
21396 stops.
21397 * kern/corecmd.c (grub_register_core_commands): Likewise.
21398 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
21399 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
21400 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
21401 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21402 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
21403 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
21404 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
21405 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
21406 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21407 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21408 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21409 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21410 * normal/handler.c (insert_handler): Likewise.
21411 * normal/main.c (GRUB_MOD_INIT): Likewise.
21412 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
21413
fdcdbb66 214142009-12-26 Carles Pina i Estany <carles@pina.cat>
21415
21416 * commands/help.c (grub_cmd_help): Print the command name before the
21417 summary.
21418 (GRUB_MOD_INIT): Remove command name from the summary.
21419 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 21420 string as summary.
fdcdbb66 21421 * lib/arg.c (find_long): Print the command name before the summary.
21422 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
21423 summary.
21424 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
21425 * commands/cat.c (GRUB_MOD_INIT): Likewise.
21426 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
21427 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
21428 * commands/crc.c (GRUB_MOD_INIT): Likewise.
21429 * commands/date.c (GRUB_MOD_INIT): Likewise.
21430 * commands/echo.c (GRUB_MOD_INIT): Likewise.
21431 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
21432 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
21433 * commands/handler.c (GRUB_MOD_INIT): Likewise.
21434 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
21435 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
21436 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
21437 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
21438 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
21439 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
21440 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
21441 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
21442 * commands/ls.c (GRUB_MOD_INIT): Likewise.
21443 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
21444 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
21445 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
21446 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
21447 * commands/password.c (GRUB_MOD_INIT): Likewise.
21448 * commands/probe.c (GRUB_MOD_INIT): Likewise.
21449 * commands/read.c (GRUB_MOD_INIT): Likewise.
21450 * commands/search.c (GRUB_MOD_INIT): Likewise.
21451 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
21452 * commands/test.c (GRUB_MOD_INIT): Likewise.
21453 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
21454 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
21455 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
21456 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
21457 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
21458 * lib/arg.c (GRUB_MOD_INIT): Likewise.
21459 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
21460 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
21461 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21462 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21463 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
21464 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
21465 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
21466 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
21467
9c288be2
VS
214682009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21469
21470 Use search command for preliminar UUID search.
21471
21472 * commands/search.c: Split into ...
21473 * commands/search_wrap.c: ...this
21474 * commands/search.c: ...and this.
21475 * commands/search_file.c: New file.
21476 * commands/search_label.c: New file.
21477 * commands/search_uuid.c: New file.
21478 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
21479 Add commands/search_wrap.c, commands/search_file.c,
21480 commands/search_label.c and commands/search_uuid.c.
21481 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
21482 (search_mod_SOURCES): Set to commands/search_wrap.c.
21483 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
21484 search_label.mod.
21485 (search_fs_file_mod_SOURCES): New variable.
21486 (search_fs_file_mod_CFLAGS): Likewise.
21487 (search_fs_file_mod_LDFLAGS): Likewise.
21488 (search_label_mod_SOURCES): Likewise.
21489 (search_label_mod_CFLAGS): Likewise.
21490 (search_label_mod_LDFLAGS): Likewise.
21491 (search_fs_uuid_mod_SOURCES): New variable.
21492 (search_fs_uuid_mod_CFLAGS): Likewise.
21493 (search_fs_uuid_mod_LDFLAGS): Likewise.
21494 (fs_file_mod_SOURCES): Removed.
21495 (fs_file_mod_CFLAGS): Likewise.
21496 (fs_file_mod_LDFLAGS): Likewise.
21497 (fs_uuid_mod_SOURCES): Removed.
21498 (fs_uuid_mod_CFLAGS): Likewise.
21499 (fs_uuid_mod_LDFLAGS): Likewise.
21500 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
21501 Set to util/grub-install.in.
21502 * disk/fs_file.c: Removed.
21503 * disk/fs_uuid.c: Likewise.
21504 * include/grub/search.h: New file.
21505 * util/grub-install.in: Handle sparc64.
21506 Create and use load.cfg.
21507 * util/sparc64/ieee1275/grub-install.in: Removed.
21508
db943399
VS
215092009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21510
21511 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
21512 Ignore return status if CF is cleared.
21513 (grub_biosdisk_get_diskinfo_standard): Likewise.
21514
3fdae612
RM
215152009-12-25 Robert Millan <rmh.grub@aybabtu.com>
21516
21517 * term/i386/pc/at_keyboard.c
21518 (keyboard_controller_wait_untill_ready): New function.
21519 (grub_keyboard_controller_write, grub_keyboard_controller_read)
21520 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
21521 for keyboard polling, rather than duplicate the same loop. This
21522 saves a few bytes in code size.
21523
7ebaa2b4
VS
215242009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21525
21526 Support for (pxe[:server[:gateway]]) syntax and
21527 use environment variable for PXE.
21528
21529 * commands/i386/pc/pxecmd.c (options): Removed.
21530 (print_ip): Removed.
21531 (grub_cmd_pxe): Removed
21532 (grub_cmd_pxe_unload): New function.
21533 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
21534 (grub_pxe_your_ip): Made static.
21535 (grub_pxe_default_server_ip): Likewise.
21536 (grub_pxe_default_gateway_ip): Likewise.
21537 (grub_pxe_blksize): Likewise.
21538 (parse_ip): New function.
21539 (grub_pxe_open): Support server and gateway specification.
21540 (grub_pxe_close): Free disk->data.
21541 (grub_pxefs_open): Use disk->data.
21542 (grub_pxefs_read): Likewise.
21543 (grub_env_write_readonly): New function.
21544 (set_mac_env): Likewise.
21545 (set_env_limn_ro): Likewise.
21546 (parse_dhcp_vendor): Likewise.
21547 (grub_pxe_detect): Set the environment variables.
21548 (set_ip_env): New function.
21549 (write_ip_env): Likewise.
21550 (grub_env_write_pxe_default_server): Likewise.
21551 (grub_env_write_pxe_default_gateway): Likewise.
21552 (grub_env_write_pxe_blocksize): Likewise.
21553 (GRUB_MOD_INIT(pxe)): Set environment variables.
21554 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
21555 (grub_pxe_mac_addr_t): ... this. All users updated.
21556 (grub_pxe_your_ip): Removed.
21557 (grub_pxe_server_ip): Likewise.
21558 (grub_pxe_gateway_ip): Likewise.
21559 (grub_pxe_blksize): Likewise.
21560
ec5f98ab 215612009-12-25 Carles Pina i Estany <carles@pina.cat>
21562
21563 * commands/help.c: Include `<grub/i18n.h>'.
21564 (grub_cmd_help): Gettextizze.
21565 (GRUB_MOD_INIT): Likewise.
21566 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
21567 (GRUB_MOD_INIT): Gettextizze.
21568 * commands/search.c: Include `<grub/i18n.h>'.
21569 (options): Gettextizze.
21570 (GRUB_MOD_INIT): Gettextizze.
21571 * lib/arg.c: Include `<grub/i18n.h>'.
21572 (help_options): Gettextizze.
21573 (find_long): Likewise.
21574 (grub_arg_show_help): Likewise.
21575 * normal/dyncmd.c: Include `<grub/i18n.h>'.
21576 (read_command_list): Gettextizze.
21577 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 21578 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 21579
22815526
RM
215802009-12-25 Robert Millan <rmh.grub@aybabtu.com>
21581
21582 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
21583 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
21584 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
21585 (led_status): New variable.
21586 (keyboard_controller_led): New function.
21587 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
21588 update led status for caps lock, num lock and scroll lock.
21589
0ad46fd7
FZ
215902009-12-25 Felix Zielcke <fzielcke@z-51.de>
21591
21592 * util/hostdisk.c (open_device): Fix a comment.
21593
d0e158c2
RM
215942009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21595
21596 * util/grub-install.in (host_os): New variable.
21597 * util/i386/efi/grub-install.in (host_os): Likewise.
21598
401c0ad6
RM
215992009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21600
21601 * util/mkisofs/write.c (padblock_write): Abort when given an
21602 excedingly large embed image, instead of silently truncating it.
21603
d14d3370
RM
216042009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21605
21606 * include/multiboot.h: Indentation fixes.
21607
eeed10b4
RM
216082009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21609
21610 * include/multiboot.h (struct multiboot_aout_symbol_table)
21611 (struct multiboot_elf_section_header_table): New structure
21612 declarations (stolen from GRUB Legacy).
21613 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
21614 table information.
21615
21616 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
21617 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
21618 type aliases.
21619
681c70ab
RM
216202009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21621
21622 * include/multiboot.h: Make comments src2texi-friendly.
21623
e4d47d8d
RM
216242009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21625
21626 For consistency with [multiboot]/docs/boot.S.
21627
21628 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
21629 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
21630 (MULTIBOOT_MAGIC2): Rename from this ...
21631 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
21632
a0b70bda
RM
216332009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21634
21635 * include/multiboot.h: Remove `<grub/types.h>'.
21636 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
21637 types. Update all users.
21638
61ba42be 216392009-12-25 Carles Pina i Estany <carles@pina.cat>
21640
21641 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
21642 `couldn't' and `can not' by `cannot'.
21643 * commands/i386/pc/drivemap.c: Likewise.
21644 * disk/ata.c: Likewise.
21645 * disk/ieee1275/nand.c: Likewise.
21646 * fs/affs.c: Likewise.
21647 * fs/fat.c: Likewise.
21648 * fs/hfs.c: Likewise.
21649 * fs/hfsplus.c: Likewise.
21650 * fs/iso9660.c: Likewise.
21651 * fs/jfs.c: Likewise.
21652 * fs/minix.c: Likewise.
21653 * fs/reiserfs.c: Likewise.
21654 * fs/sfs.c: Likewise.
21655 * fs/udf.c: Likewise.
21656 * fs/ufs.c: Likewise.
21657 * fs/xfs.c: Likewise.
21658 * loader/powerpc/ieee1275/linux.c: Likewise.
21659 * loader/sparc64/ieee1275/linux.c: Likewise.
21660 * util/grub-probe.c: Likewise.
21661 * util/misc.c: Likewise.
21662
7fd0baee 216632009-12-24 Carles Pina i Estany <carles@pina.cat>
21664
21665 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
21666 grub_errno calls.
21667 * commands/acpi.c: Likewise.
21668 * commands/blocklist.c: Likewise.
21669 * commands/efi/loadbios.c: Likewise.
21670 * commands/i386/pc/drivemap.c: Likewise.
21671 * commands/loadenv.c: Likewise.
21672 * commands/memrw.c: Likewise.
21673 * commands/password.c: Likewise.
21674 * commands/videotest.c: Likewise.
21675 * disk/ata.c: Likewise.
21676 * disk/ata_pthru.c: Likewise.
21677 * disk/dmraid_nvidia.c: Likewise.
21678 * disk/ieee1275/nand.c: Likewise.
21679 * disk/ieee1275/ofdisk.c: Likewise.
21680 * disk/loopback.c: Likewise.
21681 * disk/lvm.c: Likewise.
21682 * disk/mdraid_linux.c: Likewise.
21683 * disk/raid.c: Likewise.
21684 * disk/raid6_recover.c: Likewise.
21685 * disk/scsi.c: Likewise.
21686 * efiemu/main.c: Likewise.
21687 * efiemu/mm.c: Likewise.
21688 * efiemu/pnvram.c: Likewise.
21689 * efiemu/symbols.c: Likewise.
21690 * font/font.c: Likewise.
21691 * fs/cpio.c: Likewise.
21692 * fs/hfsplus.c: Likewise.
21693 * fs/iso9660.c: Likewise.
21694 * fs/jfs.c: Likewise.
21695 * fs/minix.c: Likewise.
21696 * fs/ntfs.c: Likewise.
21697 * fs/ntfscomp.c: Likewise.
21698 * fs/reiserfs.c: Likewise.
21699 * fs/ufs.c: Likewise.
21700 * fs/xfs.c: Likewise.
21701 * gettext/gettext.c: Likewise.
21702 * include/grub/auth.h: Likewise.
21703 * kern/elf.c: Likewise.
21704 * kern/file.c: Likewise.
21705 * kern/ieee1275/init.c: Likewise.
21706 * kern/ieee1275/mmap.c: Likewise.
21707 * kern/ieee1275/openfw.c: Likewise.
21708 * kern/powerpc/dl.c: Likewise.
21709 * kern/sparc64/dl.c: Likewise.
21710 * lib/arg.c: Likewise.
21711 * loader/i386/bsd.c: Likewise.
21712 * loader/i386/bsdXX.c: Likewise.
21713 * loader/i386/efi/linux.c: Likewise.
21714 * loader/i386/efi/xnu.c: Likewise.
21715 * loader/i386/ieee1275/linux.c: Likewise.
21716 * loader/i386/linux.c: Likewise.
21717 * loader/i386/multiboot.c: Likewise.
21718 * loader/i386/pc/linux.c: Likewise.
21719 * loader/i386/pc/multiboot2.c: Likewise.
21720 * loader/i386/xnu.c: Likewise.
21721 * loader/ieee1275/multiboot2.c: Likewise.
21722 * loader/macho.c: Likewise.
21723 * loader/machoXX.c: Likewise.
21724 * loader/multiboot2.c: Likewise.
21725 * loader/multiboot_loader.c: Likewise.
21726 * loader/powerpc/ieee1275/linux.c: Likewise.
21727 * loader/sparc64/ieee1275/linux.c: Likewise.
21728 * loader/xnu.c: Likewise.
21729 * loader/xnu_resume.c: Likewise.
21730 * mmap/i386/pc/mmap.c: Likewise.
21731 * normal/menu_viewer.c: Likewise.
21732 * partmap/acorn.c: Likewise.
21733 * partmap/amiga.c: Likewise.
21734 * partmap/apple.c: Likewise.
21735 * script/lexer.c: Likewise.
21736 * term/gfxterm.c: Likewise.
21737 * term/i386/pc/serial.c: Likewise.
21738 * term/i386/pc/vga.c: Likewise.
21739 * term/ieee1275/ofconsole.c: Likewise.
21740 * term/terminfo.c: Likewise.
21741 * video/bitmap.c: Likewise.
21742 * video/efi_gop.c: Likewise.
21743 * video/efi_uga.c: Likewise.
21744 * video/fb/video_fb.c: Likewise.
21745 * video/i386/pc/vbe.c: Likewise.
21746 * video/readers/tga.c: Likewise.
21747 * video/video.c: Likewise.
21748
0ad46fd7 217492009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
21750
21751 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
21752 * commands/lspci.c: Likewise.
21753 * commands/probe.c: Likewise.
21754 * commands/xnu_uuid.c: Likewise.
21755 * conf/i386-coreboot.rmk: Likewise.
21756 * conf/i386-efi.rmk: Likewise.
21757 * conf/i386-ieee1275.rmk: Likewise.
21758 * conf/i386-pc.rmk: Likewise.
21759 * conf/powerpc-ieee1275.rmk: Likewise.
21760 * conf/sparc64-ieee1275.rmk: Likewise.
21761 * conf/x86_64-efi.rmk: Likewise.
21762 * fs/i386/pc/pxe.c: Likewise.
21763 * gettext/gettext.c: Likewise.
21764 * include/grub/efi/graphics_output.h: Likewise.
21765 * include/grub/i386/pc/memory.h: Likewise.
21766 * kern/env.c: Likewise.
21767 * kern/i386/qemu/startup.S: Likewise.
21768 * lib/i386/pc/biosnum.c: Likewise.
21769 * lib/i386/relocator.c: Likewise.
21770 * lib/i386/relocator_asm.S: Likewise.
21771 * lib/relocator.c: Likewise.
21772 * loader/i386/bsd.c: Likewise.
21773 * loader/i386/multiboot.c: Likewise.
21774 * loader/i386/pc/chainloader.c: Likewise.
21775 * loader/i386/xnu.c: Likewise.
21776 * loader/xnu.c: Likewise.
21777 * normal/main.c: Likewise.
21778 * normal/menu_text.c: Likewise.
21779 * util/getroot.c: Likewise.
21780 * util/grub-mkconfig_lib.in: Likewise.
21781 * util/grub.d/00_header.in: Likewise.
21782 * util/i386/pc/grub-mkimage.c: Likewise.
21783 * util/mkisofs/eltorito.c: Likewise.
21784 * util/mkisofs/exclude.h: Likewise.
21785 * util/mkisofs/hash.c: Likewise.
21786 * util/mkisofs/iso9660.h: Likewise.
21787 * util/mkisofs/joliet.c: Likewise.
21788 * util/mkisofs/mkisofs.c: Likewise.
21789 * util/mkisofs/mkisofs.h: Likewise.
21790 * util/mkisofs/multi.c: Likewise.
21791 * util/mkisofs/name.c: Likewise.
21792 * util/mkisofs/rock.c: Likewise.
21793 * util/mkisofs/tree.c: Likewise.
21794 * util/mkisofs/write.c: Likewise.
21795 * video/efi_gop.c: Likewise.
21796
009ec743
VS
217972009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
21798
21799 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
21800 size counting.
21801
0ad46fd7 218022009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
21803
21804 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
21805 * genmk.rb (class SCRIPT): Modify the target file instead of source.
21806
d3d30ea0
VS
218072009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21808
21809 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
21810 (GRUB_MOD_INIT(memrw)): Update help line.
21811
a34f5c70
VS
218122009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21813
21814 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
21815 Use grub_extcmd_t. All users updated.
21816 (options): New variable.
21817 (grub_cmd_read): Restructure for readability. Support "-v" option.
21818 (grub_cmd_write): Restructure for readability.
21819
0ad46fd7 218202009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
21821
21822 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
21823
0ad46fd7 218242009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
21825
21826 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
21827 with the actual contents of the correspondending make variable.
21828 * util/grub-mkrescue.in (pkglib_DATA): New variable.
21829 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
21830 specifying `*.lst' and `efiemu??.o'
21831
0ad46fd7 218322009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
21833
21834 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
21835 after function name.
21836 Noticed by Rene Engelhard <rene@debian.org>.
21837
dc77a799
VS
218382009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21839
21840 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
21841 (options): New variable.
21842 (iospace): Likewise.
21843 (grub_lspci_iter): List IO spaces if "-i" was given.
21844 (grub_cmd_lspci): Parse options.
21845 (GRUB_MOD_INIT(lspci)): Use extcmd.
21846 (GRUB_MOD_FINI(lspci)): Likewise.
21847
0ad46fd7 218482009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
21849
21850 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
21851 `function' keyword.
21852 Patch by Tony Mancill <tmancill@debian.org>.
21853
b5d5993b
VS
218542009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21855
21856 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
21857 (grub_uhci_portstatus): Likewise.
21858 (grub_uhci_portstatus): Add necessary delay.
11d18281 21859 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 21860
941903f2 218612009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 21862
941903f2 21863 * commands/acpi.c (options): Fix capitalizations and/or full stops.
21864 (GRUB_MOD_INIT): Likewise.
21865 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 21866 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
21867 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 21868 * commands/efi/loadbios.c (enable_rom_area): Likewise.
21869 (enable_rom_area): Likewise.
21870 (GRUB_MOD_INIT): Likewise.
21871 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
21872 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
21873 * commands/handler.c (GRUB_MOD_INIT): Likewise.
21874 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
21875 * commands/hexdump.c (options): Likewise.
21876 * commands/i386/cpuid.c (options): Likewise.
21877 (GRUB_MOD_INIT): Likewise.
21878 * commands/i386/pc/drivemap.c (options): Likewise.
21879 (GRUB_MOD_INIT): Likewise.
21880 * commands/i386/pc/halt (options): Likewise.
21881 (GRUB_MOD_INIT): Likewise.
21882 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
21883 * commands/i386/pc/pxecmd.c (options): Likewise.
21884 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
21885 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
21886 * commands/keystatus.c (options): Likewise.
21887 (GRUB_MOD_INIT): Likewise.
21888 * commands/loadenv.c (options): Likewise.
21889 * commands/ls.c (options): Likewise.
21890 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
21891 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
21892 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
21893 * commands/parttool.c (helpmsg): Likewise.
21894 * commands/probe.c (options): Likewise.
21895 * commands/read.c (GRUB_MOD_INIT): Likewise.
21896 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
21897 * commands/search.c (options): Likewise.
21898 * commands/sleep.c (options): Likewise.
21899 * commands/test.c (GRUB_MOD_INIT): Likewise.
21900 * commands/true.c (GRUB_MOD_INIT): Likewise.
21901 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
21902 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
21903 * lib/arg.c (help_options): Likewise.
e9bbb4e7 21904 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
21905 `$(XGETTEXT)'.
98a50553 21906 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 21907
0ad46fd7 219082009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 21909
ef3c2c3a 21910 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
21911 instead of specifying them explicit.
21912
7922f68b
RM
219132009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21914
21915 * NEWS: Add grub-probe support for GNU/Hurd.
21916
537ce47f
RM
219172009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21918
21919 * NEWS: gettext was added after 1.97.
21920
9b214e3a
RM
219212009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21922
21923 * util/mkisofs/msdos_partition.h: New file (based on
21924 include/grub/msdos_partition.h).
21925 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
21926 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
21927 (ld_options, main): Recognize --protective-msdos-label.
21928 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
21929 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
21930 (padblock_write): If `use_protective_msdos_label' is set, patch a
21931 protective DOS-style label in the output image.
21932
21933 * util/grub-mkrescue.in: Use --protective-msdos-label.
21934
e9309813
RM
219352009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21936
21937 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
21938 boot.
21939
0ae56929
RM
219402009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21941
21942 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
21943 variables.
21944 (ld_options, main): Recognize `--embedded-boot'.
21945 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
21946 declarations.
21947 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
21948 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
21949 (padblock_write): Likewise. Rewrite to support embedded boot image.
21950
21951 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
21952 for BIOS-based disk boot instead of only ElTorito.
21953
b15937b1
RM
219542009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21955
21956 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
21957 build (not needed for bootstrap).
21958
52cc3ce0
RM
219592009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21960
21961 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
21962 from i386-pc build (not needed for bootstrap).
21963 Rewrite a pair of strings.
21964
36f5ff04
RM
219652009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21966
21967 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
21968
973c6c85 219692009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
21970
21971 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
21972
05d21547
AB
219732009-12-21 Andreas Born <futur.andy@googlemail.com>
21974
21975 * kern/env.c (grub_env_context_open): Mark exported variable for
21976 reexport.
21977
0175d51f
AB
219782009-12-21 Andreas Born <futur.andy@googlemail.com>
21979
21980 * kern/env.c (grub_env_export): Create nonexistent variables before
21981 exporting.
21982
7f39d92f 219832009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 21984
7f39d92f 21985 * include/grub/auth.h: Include `<grub/i18n.h>'.
21986 (GRUB_GET_PASSWORD): Gettextizze string.
21987 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
21988 menu_text.c.
21989 (grub_utf8_to_ucs4_alloc): Fix indentation.
21990 (grub_print_ucs4): Likewise.
21991 (grub_getstringwidth): Likewise.
21992 (print_message_indented): New declaration.
21993 * normal/auth.c: Include `<grub/i18n.h>'.
21994 (grub_auth_check_authentication): Gettexttize string.
21995 * normal/cmdline.c: Include `<grub/i18n.h>'.
21996 (grub_cmdline_get): Gettextizze.
21997 * normal/color.c: Include `<grub/i18n.h>'.
21998 (grub_parse_color_name_pair): Gettexttize strings.
21999 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
22000 string (use `print_message_indented').
22001 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
22002 `include/grub/normal.h'.
22003 (print_message_indented): Renamed to ...
22004 (grub_print_message_indented): ... this. Remove `static' qualifer (now
22005 used in normal/main.c).
22006 (print_message): Use `grub_print_message_indented' instead of
22007 `print_message_indented'.
22008 (print_timeout): Likewise.
22009 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
22010 (grub_normal_print_device_info): Gettexttize strings.
22011 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
22012
3041d898
VS
220132009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22014
22015 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
22016 of arguments. Return number of tokens and not arguments. All users
22017 updated.
22018
de15bf8e
VS
220192009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22020
22021 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
22022 non-MSDOS paritions.
22023
e0a6ca52
VS
220242009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
22025
22026 * include/grub/types.h (UNUSED): Removed since it conflicts with
22027 NetBSD headers. All users changed to direct __attribute__ ((unused)).
22028 Reported by Grégoire Sutre.
22029
b99518d1 220302009-12-19 Carles Pina i Estany <carles@pina.cat>
22031
22032 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
22033 (grub_print_ucs4_alloc): Likewise.
22034 (grub_getstringwidth): Likewise.
22035 * normal/main.c (grub_normal_init_page): Gettextize version string.
22036 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
22037 (getstringwidth): Renamed to ...
22038 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
22039 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
22040 (grub_print_ucs4): Remove `static' qualifer (now used in
22041 normal/main.c).
22042 * po/POTFILES: Add normal/main.c.
22043
bfd5e52b 220442009-12-19 Carles Pina i Estany <carles@pina.cat>
22045
22046 * normal/menu_text.c (STANDARD_MARGIN): New macro.
22047 (print_message_indented): Add `margin_left' and `margin_right'
22048 parameters.
22049 (print_message): Update `print_message_indented' calls. Adds '\n' to the
22050 strings.
22051 (print_timeout): Use `print_message_indented' to print the message.
22052 Deletes `second_stage' parameter.
22053 (run_menu): Update `print_timeout' calls.
22054
5a1ad2b9
VS
220552009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22056
22057 Fix console palette on OpenFirmware.
22058
22059 * term/ieee1275/ofconsole.c (MAX): Removed.
22060 (colors): Redone based on VGA palette.
22061 (grub_ofconsole_setcolor): Discard brightness bit since only 8
22062 colors are supported.
22063 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
22064
b045f00a
VS
220652009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22066
22067 Fix potential EfiEmu double prepare.
22068
22069 * efiemu/main.c (prepared): New variable
22070 (grub_efiemu_unload): Set prepare to '0'.
22071 (grub_efiemu_prepare): Return if already prepared. Set prepared.
22072
22073 set_virtual_address_map support.
22074
22075 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
22076 prototype.
22077 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
22078 prototype.
22079 (grub_efiemu_crc32): Likewise.
22080 (grub_efiemu_crc64): Likewise.
22081 (grub_efiemu_set_virtual_address_map): Likewise.
22082 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
22083 New definition.
22084 (grub_autoefi_set_virtual_address_map): Likewise.
22085 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
22086 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
22087 Restructure flow to accomodate it.
22088 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
22089 (grub_efiemu_crc): Recompute CRC32.
22090 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
22091 (efiemu_ptv_relocated): ... this. Made global. All users updated.
22092 * efiemu/symbols.c (relocated_handle): New variable.
22093 (grub_efiemu_free_syms): Free relocated_handle.
22094 (grub_efiemu_alloc_syms): Allocate relocated_handle.
22095 (grub_efiemu_write_sym_markers): New function.
22096 (grub_efiemu_set_virtual_address_map): Likewise.
22097
22098 Newer XNU parameters.
22099
22100 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
22101 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
22102 (grub_xnu_fill_devicetree): New prototype.
22103 (grub_xnu_heap_real_start): New variable.
22104 * loader/xnu.c (get_name_ptr): New function.
22105 (grub_xnu_load_driver): Fill namelen and name.
22106
22107 64-bit xnu support.
22108
22109 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
22110 and 'loader/macho64.c'.
22111 * conf/i386-pc.rmk: Likewise.
22112 * conf/x86_64-efi.rmk: Likewise.
22113 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
22114 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
22115 * include/grub/macho.h (grub_macho_segment64): New structure.
22116 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
22117 (grub_macho_size32): ... to this.
22118 (grub_macho32_get_entry_point): Renamed from ...
22119 (grub_macho_get_entry_point32): ... to this.
22120 (grub_macho_contains_macho64): New prototype.
22121 (grub_macho_size64): Likewise.
22122 (grub_macho_get_entry_point64): Likewise.
22123 (grub_macho32_load): Renamed from ...
22124 (grub_macho_load32): ... to this.
22125 (grub_macho32_filesize): Renamed from ...
22126 (grub_macho_filesize32): ... to this.
22127 (grub_macho32_readfile): Renamed from ...
22128 (grub_macho_readfile32): ... to this.
22129 (grub_macho_filesize64): New prototype.
22130 (grub_macho_readfile64): Likewise.
22131 (grub_macho_parse32): Likewise.
22132 (grub_macho_parse64): Likewise.
22133 * loader/macho.c: Split into ...
22134 * loader/machoXX.c: ... and this. Replace 32 with XX.
22135 * loader/macho32.c: New file.
22136 * loader/macho64.c: Likewise.
22137 * loader/xnu.c (grub_xnu_is_64bit): New variable.
22138 (grub_cmd_xnu_kernel): Make 32-bit only.
22139 (grub_cmd_xnu_kernel64): New function.
22140 (grub_xnu_load_driver): Support Mach-O 64.
22141 (grub_cmd_xnu_mkext): Likewise.
22142 * util/grub.d/30_os-prober.in (osx_entry): New function.
22143 Generate entries for 64-bit boot too.
22144
22145 Eliminate ad-hoc tree format in XNU and EfiEmu.
22146
22147 * efiemu/main.c (grub_efiemu_prepare): Update comment.
22148 * efiemu/pnvram.c: Rewritten to use environment variables.
22149 All users updated.
22150
22151 Inline utf16_to_utf8.
22152
22153 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
22154 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
22155 All users updated.
22156 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
22157
22158 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
22159 * commands/usbtest.c (grub_usb_get_string): ... move here.
22160 (usb_print_str): Fix error handling.
22161 * include/grub/usb.h (grub_usb_get_string): Remove.
22162
22163 UTF-8 to UTF-16 transformation.
22164
22165 * conf/common.rmk (pkglib_MODULES): Add charset.mod
22166 (charset_mod_SOURCES): New variable.
22167 (charset_mod_CFLAGS): Likewise.
22168 (charset_mod_LDFLAGS): Likewise.
22169 * include/grub/utf.h: New file.
22170 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
22171
22172 Support for device properties.
22173
22174 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
22175 (grub_xnu_devprop_device_header): Likewise.
22176 (grub_xnu_devprop_device_descriptor): Likewise.
22177 (grub_xnu_devprop_add_device): New prototype.
22178 (grub_xnu_devprop_remove_device): Likewise.
22179 (grub_xnu_devprop_remove_property): Likewise.
22180 (grub_xnu_devprop_add_property_utf8): Likewise.
22181 (grub_xnu_devprop_add_property_utf16): Likewise.
22182 (grub_cpu_xnu_init): Likewise.
22183 (grub_cpu_xnu_fini): Likewise.
22184 (grub_cpu_xnu_unload): Likewise.
22185 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
22186 (property_descriptor): Likewise.
22187 (devices): New variable.
22188 (grub_xnu_devprop_remove_property): New function.
22189 (grub_xnu_devprop_add_device): Likewise.
22190 (grub_xnu_devprop_remove_device): Likewise.
22191 (grub_xnu_devprop_add_property): Likewise.
22192 (grub_xnu_devprop_add_property_utf8): Likewise.
22193 (grub_xnu_devprop_add_property_utf16): Likewise.
22194 (hextoval): Likewise.
22195 (grub_cpu_xnu_fill_devprop): Likewise.
22196 (grub_cmd_devprop_load): Likewise.
22197 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
22198 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
22199 (cmd_devprop_load): New variable.
22200 (grub_cpu_xnu_init): New function.
22201 (grub_cpu_xnu_fini): Likewise.
22202 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
22203 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
22204 (grub_cmd_xnu_devtree): Likewise.
22205 (hextoval): New function.
22206 (unescape): Likewise.
22207 (grub_xnu_fill_devicetree): Likewise.
22208
22209 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
22210 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
22211
0945f181
VS
222122009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22213
22214 Workaround for broken ATI VBE.
22215
22216 * video/i386/pc/vbe.c (last_set_mode): New variable.
22217 (grub_vbe_set_video_mode): Set 'last_set_mode'.
22218 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
22219 (grub_video_vbe_setup): Don't check for reserved flag.
22220
0ad46fd7 222212009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
22222
22223 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
22224 the `find' command.
22225
c179ebe4
VS
222262009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
22227
22228 UUID support for HFS.
22229
22230 * fs/hfs.c (grub_hfs_uuid): New function.
22231 (grub_hfs_fs): New value .uuid.
22232 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
22233
0ad46fd7 222342009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
22235
22236 Fix a segfault with parsing unknown long options.
22237
22238 * util/grub-mkrelpath.c (options): Zero terminate it.
22239
c4a3e41a
CPE
222402009-12-13 Carles Pina i Estany <carles@pina.cat>
22241
22242 * include/grub/misc.h (grub_puts): New declaration.
22243 (grub_puts_): Likewise.
a22008a6 22244 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
22245 (grub_puts_): Likewise.
22246
2e8a7602
RM
222472009-12-13 Robert Millan <rmh.grub@aybabtu.com>
22248
22249 * util/grub-probe.c (probe): Improve error message.
22250
b50b77b9
RM
222512009-12-13 Robert Millan <rmh.grub@aybabtu.com>
22252
22253 * loader/i386/multiboot_elfxx.c
22254 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
22255 initialization.
22256
222572009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22258
22259 Relocator framework
22260
22261 * loader/i386/xnu_helper.S: Removed. All users updated.
22262 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
22263 (relocator_mod_SOURCES): New variable.
22264 (relocator_mod_CFLAGS): Likewise.
22265 (relocator_mod_LDFLAGS): Likewise.
22266 (relocator_mod_ASFLAGS): Likewise.
22267 * conf/x86_64.rmk: Likewise.
22268 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
22269 (grub_multiboot_payload_entry_offset): Likewise.
22270 (grub_multiboot_forward_relocator): Likewise.
22271 (grub_multiboot_forward_relocator_end): Likewise.
22272 (grub_multiboot_backward_relocator): Likewise.
22273 (grub_multiboot_backward_relocator_end): Likewise.
22274 (grub_multiboot_payload_eip): New variable.
22275 (grub_multiboot_payload_orig): Likewise.
22276 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
22277 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
22278 * include/grub/i386/memory.h
22279 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
22280 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
22281 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
22282 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
22283 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
22284 * include/grub/i386/relocator.h: New file.
22285 * include/grub/x86_64/relocator.h: Likewise.
22286 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
22287 (XNU_RELOCATOR): New macro.
22288 (grub_xnu_launcher_start): Remove.
22289 (grub_xnu_launcher_end): Likewise.
22290 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
22291 (grub_xnu_heap_real_start): Remove.
22292 (grub_xnu_heap_start): Change to void *. All users updated.
22293 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
22294 * lib/i386/relocator.c: New file.
22295 * lib/i386/relocator_asm.S: Likewise.
22296 * lib/i386/relocator_backward.S: Likewise.
22297 * lib/mips/relocator.c: Likewise.
22298 * lib/mips/relocator_asm.S: Likewise.
22299 * lib/relocator.c: Likewise.
22300 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
22301 (entry): Removed.
22302 (playground): Likewise.
22303 (grub_multiboot_payload_orig): New variable.
22304 (grub_multiboot_payload_dest): Likewise.
22305 (grub_multiboot_payload_size): Likewise.
22306 (grub_multiboot_payload_eip): Likewise.
22307 (grub_multiboot_payload_esp): Likewise.
22308 (grub_multiboot_boot): Use grub_relocator32_boot.
22309 (grub_multiboot_unload): Free relocators.
22310 (grub_multiboot): Setup stack. Use relocators.
22311 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
22312 (grub_multiboot_load_elfXX): Use relocators.
22313 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
22314 (grub_multiboot_payload_size): Likewise.
22315 (grub_multiboot_payload_dest): Likewise.
22316 (grub_multiboot_payload_entry_offset): Likewise.
22317 (grub_multiboot_forward_relocator): Likewise.
22318 (grub_multiboot_backward_relocator): Likewise.
22319 (grub_multiboot_real_boot): Likewise.
22320 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
22321 (grub_xnu_entry_point): Likewise.
22322 (grub_xnu_arg1): Likewise.
22323 (grub_xnu_stack): Likewise.
22324 (grub_xnu_launch): Removed.
22325 (grub_xnu_boot_resume): New function.
22326 (grub_xnu_boot): Use relocators.
22327 * loader/i386/xnu_helper.S: Removed.
22328 * loader/xnu.c (grub_xnu_heap_start): New variable.
22329 (grub_xnu_heap_size): Likewise.
22330 (grub_xnu_heap_malloc): Use relocators.
22331 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
22332
29eb90c6
VS
223332009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22334
22335 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
22336 anything.
22337
31027430
CPE
223382009-12-13 Carles Pina i Estany <carles@pina.cat>
22339
22340 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
22341 GRUB_ERR_NONE before calling grub_env_set.
22342
dc0c71d9
RM
223432009-12-12 Robert Millan <rmh@aybabtu.com>
22344
22345 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
22346 * genmk.rb (video): New variable.
22347 (CLEANFILES, VIDEOFILES): Add #{video}.
22348 (#{video}): New target rule.
22349 * genvideolist.sh: New file.
22350 * Makefile.in (pkglib_DATA): Add video.lst.
22351 (video.lst): New target rule.
22352 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
22353 `video.lst'.
22354 * util/grub.d/30_os-prober.in: Replace `vbe' with
22355 ${GRUB_VIDEO_BACKEND}.
22356
2a4bfcf0
RM
223572009-12-11 Robert Millan <rmh.grub@aybabtu.com>
22358
22359 * THANKS: Add David Miller.
22360
2a3aa4d5
RM
223612009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
22362
22363 libpciaccess support.
22364
22365 * Makefile.in (LIBPCIACCESS): New variable.
22366 (enable_grub_emu_pci): Likewise.
22367 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
22368 util/pci.c and commands/lspci.c.
22369 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
22370 * configure.ac (grub-emu-pci): New option.
22371 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
22372 (grub_pci_device_unmap_range): Likewise.
22373 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
22374 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
22375 (grub_pci_address_t) [!GRUB_UTIL]: New type.
22376 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
22377 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
22378 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
22379 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
22380 * include/grub/pciutils.h: New file.
22381 * util/pci.c: Likewise.
22382
0ad46fd7 223832009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
22384
22385 * util/misc.c: Don't include <errno.h> twice.
22386
0ad46fd7 223872009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
22388
22389 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
22390 name in an error message.
22391 (grub_biosdisk_rw): Likewise.
22392
2e59983c
VS
223932009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22394
22395 Eliminate NTFS 4Gib barrier.
22396
22397 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
22398 (read_run_data): Likewise.
22399 (grub_ntfs_read_run_list): Likewise.
22400 (grub_ntfs_read_block): Likewise.
22401 (grub_ntfs_iterate_dir): Likewise.
22402 (read_mft): Likewise.
22403 (read_data): Likewise.
22404 Use COM_LOG_LEN.
22405 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
22406 to avoid 64-bit division
22407 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
22408 (grub_ntfs_rlst): Use grub_disk_addr_t.
22409
71ee178a
VS
224102009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22411
22412 Eliminate grub-fstest 4Gib barrier.
22413
22414 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
22415 (read_file): Fix error reporting.
22416
2520d4b8
VS
224172009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22418
22419 Eliminate hexdump 4Gib barrier.
22420
22421 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
22422 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
22423
e1f27065
VS
224242009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22425
22426 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
22427 Fixes amarsh bug.
22428
1a0f7f45
RM
224292009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
22430
22431 Remove miscellaneous files in distclean target.
22432
22433 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
22434
c631d9fb
CW
224352009-12-09 Colin Watson <cjwatson@ubuntu.com>
22436
22437 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
22438 if they're already set. This resolves the conflict between my
22439 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
22440 fixing the --grub-probe option again.
22441 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
22442 change on 2009-10-06, so that we now once again source
22443 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
22444
7c7b6106
RM
224452009-12-08 Robert Millan <rmh.grub@aybabtu.com>
22446
22447 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
22448 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
22449 `util/devicemap.c'.
22450
e3069ec1
CPE
224512009-12-08 Carles Pina i Estany <carles@pina.cat>
22452
22453 * include/grub/misc.h (grub_printf_): New declaration.
22454 * kern/misc.c (grub_printf_): New definition.
22455 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
22456 instead of `grub_printf' and `_'.
22457 * normal/menu_entry.c (store_completion): Likewise.
22458 (run): Likewise.
22459 (grub_menu_entry_run): Likewise.
22460 * normal/menu_text.c (grub_wait_after_message): Likewise.
22461 (notify_booting): Likewise.
22462 (notify_fallback): Likewise.
22463 (notify_execution_failure): Likewise.
22464
d6ceebf1
CW
224652009-12-07 Colin Watson <cjwatson@ubuntu.com>
22466
22467 * configure.ac: Check for vasprintf.
22468 * util/misc.c (asprintf): Move allocation from here ...
22469 (vasprintf): ... to here. New function.
22470 (xasprintf): New function.
22471 * include/grub/util/misc.h (vasprintf, xasprintf): Add
22472 prototypes.
22473 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
22474 * util/grub-mkfont.c (write_font): Likewise.
22475 * util/grub-probe.c (probe): Likewise.
22476 * util/hostdisk.c (make_device_name): Likewise.
22477
de6daa8b
DM
224782009-12-06 David S. Miller <davem@sunset.davemloft.net>
22479
22480 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
22481 anything even prefixed with 'cdrom' as a cdrom.
22482
0ad46fd7 224832009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
22484
22485 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
22486 mount points.
22487
98d3dc02
CPE
224882009-12-05 Carles Pina i Estany <carles@pina.cat>
22489
22490 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
22491 grub_gettext_msg_list.
22492 (grub_gettext_gettranslation_from_position): Return const char *
22493 and not char *.
a2c1332b 22494 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
22495 returns from the list if existing there.
22496 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
22497 (grub_gettext_delete_list): Delete the list.
22498 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
22499 lang environment variable is changed.
22500 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
22501
b283f108
VS
225022009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
22503
22504 Rename kernel.mod to kernel.img.
22505
22506 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
22507 (kernel_mod_EXPORTS): Rename to ...
22508 (kernel_img_EXPORTS): ... this.
22509 (kernel_mod_SOURCES): Rename to ...
22510 (kernel_img_SOURCES): ... this.
22511 (kernel_mod_HEADERS): Rename to ...
22512 (kernel_img_HEADERS): ... this. All users updated.
22513 (kernel_mod_CFLAGS): Rename to ...
22514 (kernel_img_CFLAGS): ... this.
22515 (kernel_mod_ASFLAGS): Rename to ...
22516 (kernel_img_ASFLAGS): ... this.
22517 (kernel_mod_LDFLAGS): Rename to ...
22518 (kernel_img_LDFLAGS): ... this.
22519 * conf/x86_64-efi.rmk: Likewise.
22520 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
22521 (read_kernel_image): ... this. All users updated.
22522 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
22523
69055f8a
CPE
225242009-12-05 Carles Pina i Estany <carles@pina.cat>
22525
22526 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
22527 (print_spaces): New function.
22528 (grub_print_ucs4): New function.
22529 (getstringwidth): New function.
22530 (print_message_indented): New function.
22531 (print_message): Gettexttize strings using print_message_indented.
22532 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
22533 width.
22534 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 22535 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
22536 Gettextize.
22537 * normal/menu_entry.c (store_completion): Cleanup the gettextized
22538 string.
22539 (run): Likewise.
22540 (grub_menu_entry_run): Likewise.
22541 * PO/POTFILES: Add normal/menu_entry.c.
22542
f616f51c
VS
225432009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
22544
22545 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
22546
57bbe3be
CPE
225472009-12-05 Carles Pina i Estany <carles@pina.cat>
22548
22549 * util/grub-install.in: Install gettext .mo files.
22550 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
22551
013d67a1
CPE
225522009-12-05 Carles Pina i Estany <carles@pina.cat>
22553
22554 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
22555 grub_dprintf.
22556
fb954db0
RM
225572009-12-05 Robert Millan <rmh.grub@aybabtu.com>
22558
22559 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
22560 non-firmware-dependant one in realmode.S takes precedence.
22561
6b8474f8
RM
225622009-12-04 Robert Millan <rmh.grub@aybabtu.com>
22563
22564 * commands/halt.c: Replace misc arch-specific headers with
22565 `<grub/misc.h>'.
22566 * commands/reboot.c: Likewise.
22567 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
22568 `<grub/misc.h>'.
22569 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
22570 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
22571 (kernel_img_SOURCES): ... to here.
22572
22573 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
22574 * include/grub/i386/pc/init.h: Likewise.
22575 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
22576 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22577
22578 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
22579
22580 * include/grub/i386/halt.h: Remove.
22581 * include/grub/i386/reboot.h: Likewise.
22582
22583 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
22584
4b2e6ca2
DM
225852009-12-03 David S. Miller <davem@sunset.davemloft.net>
22586
22587 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
22588 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
22589 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
22590 "progname.h"
22591 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
22592 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22593 (usage): Add missing comma in printf.
22594
5239348f
RM
225952009-12-02 Robert Millan <rmh.grub@aybabtu.com>
22596
22597 Use the same reboot approach on i386 coreboot and qemu as we do on
22598 BIOS.
22599
22600 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
22601 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
22602 * kern/i386/reboot.c: Remove.
22603 * include/grub/i386/reboot.h (grub_reboot): Export function.
22604 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
22605 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
22606 0xf000:0xfff0 instead of 0xffff:0x0000.
22607 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
22608 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
22609
ef34cbd4
RM
226102009-11-30 Robert Millan <rmh.grub@aybabtu.com>
22611
22612 Fix $srcdir != $objdir build.
22613
22614 * Makefile.in (po/%.po): Rewrite as ...
22615 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
22616
dc9837ea
ST
226172009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
22618
22619 Fix GNU/Hurd grub-install crash.
22620 * util/grub-probe.c (probe): Try to access `path' only when it is not
22621 NULL.
22622
2f857f98
VS
226232009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22624
22625 Correct module naming.
22626
22627 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
22628 (GRUB_MOD_INIT(efi_uga)): ... to this
22629 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
22630 (GRUB_MOD_FINI(efi_uga)): ... to this
22631 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
22632 (GRUB_MOD_INIT(efi_gop)): ... to this
22633 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
22634 (GRUB_MOD_FINI(efi_gop)): ... to this
22635
c5448046
RM
226362009-11-28 Robert Millan <rmh.grub@aybabtu.com>
22637
22638 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
22639 translatable.
22640 (usage): Translate `arg' strings using gettext().
22641 Thanks to Jordi Mallach for the suggestion.
22642
c85184ad
VS
226432009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22644
22645 GOP support. Based on patch from Bean
22646 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
22647
22648 * video/efi_gop.c: New file.
22649 * include/grub/efi/graphics_output.h: Likewise.
22650 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
22651 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
22652 variables.
22653 * conf/x86_64-efi.rmk: Likewise.
22654
8a4c48d8
VS
226552009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22656
22657 Rename efi_fb to efi_uga.
22658
22659 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
22660 'efi_uga.mod'.
22661 (efi_fb_mod_SOURCES): Rename this ...
22662 (efi_uga_mod_SOURCES): ... to this.
22663 (efi_fb_mod_CFLAGS): Rename this ...
22664 (efi_uga_mod_CFLAGS): ... to this.
22665 (efi_fb_mod_LDFLAGS): Rename this ...
22666 (efi_uga_mod_LDFLAGS): ... to this.
22667 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
22668 'efi_uga.mod'.
22669 (efi_fb_mod_SOURCES): Rename this ...
22670 (efi_uga_mod_SOURCES): ... to this.
22671 (efi_fb_mod_CFLAGS): Rename this ...
22672 (efi_uga_mod_CFLAGS): ... to this.
22673 (efi_fb_mod_LDFLAGS): Rename this ...
22674 (efi_uga_mod_LDFLAGS): ... to this.
22675 * video/efi_fb.c: Move this ...
22676 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
22677
fb6c1a7b
RM
226782009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22679
22680 * po/README: New file. Explain our PO file workflow.
22681
3bc7896c
RM
226822009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22683
22684 * po/ChangeLog: Remove. Move relevant entries back to ...
22685 * ChangeLog: ... here.
22686 * po/ca.po: Remove (now handled by TLP).
22687 * po/id.po: Likewise.
22688 * po/zh_CN.po: Likewise.
22689 * Makefile.in (LINGUAS): Initialize in a way that supports
22690 empty set.
22691
9ed4841d
RM
226922009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22693
22694 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
22695 reliing on po/LINGUAS.
22696 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
22697 (po/%.po): ... this.
22698
0ad46fd7 226992009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
22700
22701 * util/i386/efi/grub-mkimage.c: Include "progname.h".
22702 (main): Use `program_name' instead of nonexistent `progname'.
22703
e30dd392
FZ
227042009-11-26 Felix Zielcke <fzielcke@z-51.de>
22705
22706 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
22707 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
22708
7656de4f
RM
227092009-11-26 Robert Millan <rmh.grub@aybabtu.com>
22710
22711 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
22712 commit.
22713 * conf/i386-efi.rmk: Likewise.
22714 * conf/i386-ieee1275.rmk: Likewise.
22715 * conf/powerpc-ieee1275.rmk: Likewise.
22716 * conf/sparc64-ieee1275.rmk: Likewise.
22717 * conf/x86_64-efi.rmk: Likewise.
22718
db77c4d4
FZ
227192009-11-26 Felix Zielcke <fzielcke@z-51.de>
22720
22721 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
22722
a755bb04
FZ
227232009-11-26 Felix Zielcke <fzielcke@z-51.de>
22724
22725 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
22726
8a4c07fd
RM
227272009-11-26 Robert Millan <rmh.grub@aybabtu.com>
22728
22729 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
22730 (grub_mkdevicemap_SOURCES): New variable.
22731 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
22732 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
22733 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
22734 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
22735 (grub_mkdevicemap_SOURCES): Remove.
22736 * conf/i386-efi.rmk: Likewise.
22737 * conf/i386-ieee1275.rmk: Likewise.
22738 * conf/i386-pc.rmk: Likewise.
22739 * conf/powerpc-ieee1275.rmk: Likewise.
22740 * conf/sparc64-ieee1275.rmk: Likewise.
22741 * conf/x86_64-efi.rmk: Likewise.
22742 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
22743 (usage): Fix strings to use `program_name'.
22744 (main): Initialize gettext.
22745 * util/grub-editenv.c: Likewise.
22746 * util/grub-emu.c: Likewise.
22747 * util/grub-fstest.c: Likewise.
22748 * util/grub-mkdevicemap.c: Likewise.
22749 * util/grub-mkfont.c: Likewise.
22750 * util/grub-mkrelpath.c: Likewise.
22751 * util/grub-pe2elf.c: Likewise.
22752 * util/grub-probe.c: Likewise.
22753 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
22754 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
22755 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22756
22757 * util/misc.c: Include `"progname.h"'.
22758 (progname): Remove variable.
22759 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
22760
6f61ed55
FZ
227612009-11-25 Felix Zielcke <fzielcke@z-51.de>
22762
22763 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
22764 printf and print a newline after the menuentry header line.
22765 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
22766
f022876b
FZ
227672009-11-25 Felix Zielcke <fzielcke@z-51.de>
22768
22769 autoconf >= 2.60 support $(localedir).
22770
22771 * INSTALL: Note that autoconf 2.60 is required.
22772 * configure.ac (AC_PREREQ): Bump to 2.60.
22773 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
22774 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
22775
6717926e
YB
227762009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
22777
22778 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
22779 aclocal is run.
22780
08806a54
RM
227812009-11-25 Robert Millan <rmh.grub@aybabtu.com>
22782
22783 * normal/main.c (grub_normal_read_line): Fix off-by-one
22784 buffer overflow.
22785
13b33fba
RM
227862009-11-25 Robert Millan <rmh.grub@aybabtu.com>
22787
22788 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
22789 "parser.grub" in grub_command_execute() call.
22790
4a8572e9
CPE
227912009-11-24 Carles Pina i Estany <carles@pina.cat>
22792
22793 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
22794 * conf/i386-efi.rmk: Likewise.
22795 * conf/i386-ieee1275.rmk: Likewise.
22796 * conf/i386-pc.rmk: Likewise.
22797 * conf/powerpc-ieee1275.rmk: Likewise.
22798 * conf/sparc64-ieee1275.rmk: Likewise.
22799 * conf/x86_64-efi.rmk: Likewise.
22800 * gettext/gettex.c: Include <grub/i18n.h>.
22801 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
22802 here ...
22803 * include/grub/i18n.h: ... to here
22804 * include/grub/i18n.h: ... to here.
22805 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 22806 (grub_gettext_dummy): Move above user.
4a8572e9 22807
bee48093
FZ
228082009-11-24 Felix Zielcke <fzielcke@z-51.de>
22809
22810 * util/Makefile.in (install-local): Convert a `for' into a normal
22811 shell expansion.
22812
a031e91c
RM
228132009-11-24 Robert Millan <rmh.grub@aybabtu.com>
22814
22815 * autogen.sh: Add automake call.
22816 * config.guess: Remove.
22817 * config.sub: Likewise.
22818 * install-sh: Likewise.
22819
26bec39d
FZ
228202009-11-24 Felix Zielcke <fzielcke@z-51.de>
22821
22822 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
22823
8e2532fd
FZ
228242009-11-24 Felix Zielcke <fzielcke@z-51.de>
22825
22826 * util/Makefile.in (install-local): Convert a make `$(foreach)'
22827 function to a normal shell `for'.
22828
fefa1b7d
FZ
228292009-11-24 Felix Zielcke <fzielcke@z-51.de>
22830
22831 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
22832
4501250b
FZ
228332009-11-24 Felix Zielcke <fzielcke@z-51.de>
22834
22835 * util/grub-mkrelpath.c: New file.
22836 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
22837 (grub_mkrelpath_SOURCES): New variable.
22838 * include/grub/util/misc.h: New function prototype.
22839 * util/misc.c (make_system_path_relative_to_its_root): New function.
22840
22841 * util/grub-mkconfig_lib.in (bindir): New variable.
22842 (grub_mkrelpath): Likewise.
22843 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
22844
22845 * util/probe.c (probe): Make the file path relative to its root.
22846 Change a info message to use the GRUB path. Enable again the
22847 check if we can read the file with GRUB facilities.
22848
22849 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
22850 to its root.
22851
11d9778b
FZ
228522009-11-24 Felix Zielcke <fzielcke@z-51.de>
22853
22854 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
22855 platform.
22856
4465287d
FZ
228572009-11-24 Felix Zielcke <fzielcke@z-51.de>
22858
22859 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
22860 strncmp().
22861
62b47f22
FZ
228622009-11-24 Felix Zielcke <fzielcke@z-51.de>
22863
22864 * util/getroot.c (grub_util_is_dmraid): New function.
22865 (grub_util_get_dev_abstraction): Treat dmraid and multipath
22866 devices as normal ones, not as LVM.
22867
1eafb9b9 228682009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
22869
22870 * conf/common.rmk: Add grub-gettext_lib target and updates
22871 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
22872 LDFLAGS.
22873 * gettext/gettext.c: New file. (Reads mo files).
22874 * include/grub/file.h (grub_file_pread): New prototype.
22875 * include/grub/i18n.h (_): New prototype.
22876 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
22877 prototypes.
22878 * kern/misc.c (grub_gettext_dummy): New function.
22879 * normal/menu_text.c: Include <grub/i18n.h>.
22880 * normal/menu_text.c (print_timeout): Gettexttize string.
22881 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
22882 * po/POTFILES: Add `normal/menu_text.c'.
22883 * po/ca.po: Add new translations.
c3ea6bd4
CPE
22884 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
22885 gettext module and defines locale_dir and lang in grub.cfg.
22886 * NEWS: Add gettext support.
22887
0fdb2568
RM
228882009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22889
22890 * util/hostdisk.c: Include `<grub/i18n.h>'.
22891 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
22892 (make_device_name): Rewrite using asprintf.
22893 (convert_system_partition_to_system_disk): Replace 0 with NULL.
22894 (find_system_device): If a device is not found, generate one just
22895 by reusing the OS path name.
22896 (read_device_map): Make it permissible for device.map not to exist.
22897
f515aa62
RM
228982009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22899
22900 * script/sh/execute.c: Move from here ...
22901 * script/execute.c: ... to here. Update all users.
22902 * script/sh/function.c: Move from here ...
22903 * script/function.c: ... to here. Update all users.
22904 * script/sh/lexer.c: Move from here ...
22905 * script/lexer.c: ... to here. Update all users.
22906 * script/sh/main.c: Move from here ...
22907 * script/main.c: ... to here. Update all users.
22908 * script/sh/parser.y: Move from here ...
22909 * script/parser.y: ... to here. Update all users.
22910 * script/sh/script.c: Move from here ...
22911 * script/script.c: ... to here. Update all users.
22912
f84b481b
RM
229132009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22914
22915 * configure.ac: Detect all `emu' platforms. Define
22916 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
22917 --enable-grub-emu logic. Disable include/grub/machine
22918 symlink on `emu' platforms.
22919
22920 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
22921 * gensymlist.sh.in: Likewise.
22922
22923 * include/grub/i386/coreboot/machine.h: Remove file.
22924 * include/grub/i386/efi/machine.h: Likewise.
22925 * include/grub/i386/ieee1275/machine.h: Likewise.
22926 * include/grub/i386/pc/machine.h: Likewise.
22927 * include/grub/i386/qemu/machine.h: Likewise.
22928 * include/grub/powerpc/ieee1275/machine.h: Likewise.
22929 * include/grub/sparc64/ieee1275/machine.h: Likewise.
22930 * include/grub/x86_64/efi/machine.h: Likewise.
22931
22932 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
22933 * commands/halt.c: Likewise.
22934 * commands/reboot.c: Likewise.
22935 * include/grub/autoefi.h: Likewise.
22936 * include/grub/i386/at_keyboard.h: Likewise.
22937 * include/grub/i386/kernel.h: Likewise.
22938 * include/grub/i386/loader.h: Likewise.
22939 * include/grub/i386/pc/memory.h: Likewise.
22940 * kern/dl.c: Likewise.
22941 * kern/i386/coreboot/init.c: Likewise.
22942 * loader/i386/bsd.c: Likewise.
22943 * loader/i386/linux.c: Likewise.
22944 * loader/multiboot_loader.c: Likewise.
22945 * term/i386/pc/serial.c: Likewise.
22946 * term/usb_keyboard.c: Likewise.
22947
22948 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
22949 `<grub/machine/machine.h>'
22950 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
22951 * util/misc.c: Remove `<grub/machine/machine.h>' and
22952 `<grub/machine/time.h>'.
22953
22954 * Makefile.in (enable_grub_emu): Remove variable.
22955 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
22956
22957 * conf/any-emu.rmk: New file.
22958 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
22959 (grub_emu_init.c): Move from here ...
22960 * conf/any-emu.rmk: ... to here.
22961
22962 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
22963 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
22964 * conf/any-emu.rmk: ... to here.
22965
4efeab03
RM
229662009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22967
22968 * include/grub/parser.h (grub_parser_register): Document need
22969 of `name' parameter.
22970 * normal/main.c (grub_normal_read_line): Simplify prompt string.
22971 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
22972 "sh" to "grub".
22973
ea1dd8bf
RM
229742009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22975
22976 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
22977 `$(XGETTEXT)'.
22978 * include/grub/i18n.h (N_): New macro.
22979 * util/mkisofs/mkisofs.h: Likewise.
22980 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
22981 around N_().
22982 (usage): Use gettext() to translate help strings when printing them.
22983
0c140626
RM
229842009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22985
22986 Based on patch from Bean
22987 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
22988
22989 * video/efi_fb.c: New file.
22990 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
22991 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
22992 variables.
22993 * conf/x86_64-efi.rmk: Likewise.
22994
87d58298
RM
229952009-11-22 Robert Millan <rmh.grub@aybabtu.com>
22996
22997 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
22998 * util/i386/pc/grub-setup.c: Likewise.
22999
994cc3a3
ST
230002009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23001
23002 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
23003 <hurd/fs.h>
23004 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
23005 file_get_storage_info to implement grub_guess_root_device.
23006
26a61d6a
FZ
230072009-11-21 Felix Zielcke <fzielcke@z-51.de>
23008
23009 * Makefile.in (target): Use make's builtin $(shell) function
23010 instead of calling directly $(SHELL) to create the locale directories,
23011 inside the $(foreach) function.
23012
74ff1dd5
FZ
230132009-11-21 Felix Zielcke <fzielcke@z-51.de>
23014
23015 * util/grub-mkrescue.in: Print an error and usage if output option
23016 has not been given.
23017
0b787d0e
FZ
230182009-11-21 Felix Zielcke <fzielcke@z-51.de>
23019
23020 Patch from Loïc Minier <loic.minier@ubuntu.com>.
23021 * util/grub.d/30_os-prober.in: Cope with Linux entries where
23022 root and /boot are on different devices.
23023
1164b270
RM
230242009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23025
23026 Fix build for srcdir != objdir.
23027
23028 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
23029 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
23030 $(srcdir).
23031 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
23032 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
23033 reference for input.
23034
13774a2f
RM
230352009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23036
23037 * util/grub-mkrescue.in: Use source directory direcly (without copiing
23038 or hardlinking it). Remove -J option, Joliet is not compatible with
23039 multiple source directories.
23040
efda854e
RM
230412009-11-21 Carles Pina i Estany <carles@pina.cat>
230422009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23043
23044 * util/grub-mkrescue.in: Recognize `--override-directory' option.
23045 (process_input_dir): New function. Process an arbitrary input
23046 directory.
23047 Misc adjustments to support both "override mode" and system-wide mode.
23048
6c09890c
FZ
230492009-11-20 Felix Zielcke <fzielcke@z-51.de>
23050
23051 * configure.ac (UNIFONT_BDF): Rename to ...
23052 (FONT_SOURCE): ... this. Update all users.
23053
a797824f
FZ
230542009-11-20 Felix Zielcke <fzielcke@z-51.de>
23055
23056 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
23057 to the list of unifont files to look for.
23058
cd4f42b0
RM
230592009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23060
23061 Patch from Joe Auricchio <jauricchio@gmail.com>
23062 * commands/minicmd.c (grub_mini_cmd_clear): New function.
23063 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
23064 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
23065
393c783d
FZ
230662009-11-19 Felix Zielcke <fzielcke@z-51.de>
23067
23068 * Makefile.in (install-local): Add a missing backslash.
23069
b2f1e327
FZ
230702009-11-19 Felix Zielcke <fzielcke@z-51.de>
23071
23072 * include/grub/x86_64/io.h: New file.
23073
f577f7a0
RM
230742009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23075
23076 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
23077 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
23078 Include `"progname.h"'.
23079 (main): Initialize gettext.
23080 * util/i386/pc/grub-setup.c: Gettexttize.
23081 * util/i386/pc/grub-mkimage.c: Likewise.
23082
23083 * Makefile.in (po/*.po): Redefine as ...
23084 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
23085
3bc7896c
RM
23086 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
23087
c37943b6
RM
230882009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23089
23090 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
23091 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
23092 (program_name): Remove.
23093 (main): Initialize gettext support.
6323f705
RM
23094 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
23095 Include `<libintl.h>'.
23096 (_): New macro.
c37943b6
RM
23097
23098 * util/mkisofs/eltorito.c: Gettexttize.
23099 * util/mkisofs/joliet.c: Likewise.
23100 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
23101 * util/mkisofs/multi.c: Likewise.
23102 * util/mkisofs/rock.c: Likewise.
23103 * util/mkisofs/tree.c: Likewise.
23104 * util/mkisofs/write.c: Likewise.
23105
3bc7896c
RM
23106 * po/POTFILES: Update with new files.
23107
5ce77c6e
RM
231082009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23109
23110 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
23111 * util/mkisofs/iso9660.h: Likewise.
23112 * util/mkisofs/joliet.c: Likewise.
23113 * util/mkisofs/mkisofs.c: Likewise.
23114 * util/mkisofs/mkisofs.h: Likewise.
23115 * util/mkisofs/rock.c: Likewise.
23116 * util/mkisofs/tree.c: Likewise.
23117 * util/mkisofs/write.c: Likewise.
23118
23119 * util/mkisofs/eltorito.c (rcsid): Remove.
23120 * util/mkisofs/hash.c: Likewise.
23121 * util/mkisofs/joliet.c: Likewise.
23122 * util/mkisofs/name.c: Likewise.
23123 * util/mkisofs/rock.c: Likewise.
23124 * util/mkisofs/tree.c: Likewise.
23125 * util/mkisofs/write.c: Likewise.
23126
1dabbc77
RM
231272009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23128
23129 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
23130 instead of static allocation.
23131 * util/mkisofs/match.h: Likewise.
23132
633877cb
RM
231332009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23134
3bc7896c
RM
23135 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
23136 and `util/grub.d/10_linux.in'.
633877cb
RM
23137 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
23138 translatable Shell files.
23139
af1c0c85
RM
231402009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23141
23142 * Makefile.in ($(srcdir)/aclocal.m4): New target.
23143
769ae37b
RM
231442009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23145
23146 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 23147 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
23148 * util/grub.d/10_kfreebsd.in (bindir): New variable.
23149 Add gettext initialization.
23150 (kfreebsd_entry): Make menuentry output translatable.
23151
231522009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23153
23154 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
23155 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
23156 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
23157 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
23158 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 23159 * po/LINGUAS: New file.
769ae37b
RM
23160
231612009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23162
23163 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
23164 other things).
23165 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
23166 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
23167 bindtextdomain() calls for gettext initialization.
23168
231692009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23170
23171 * gnulib/progname.c: New file (imported from Gnulib).
23172 * gnulib/progname.h: Likewise.
23173 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23174 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
23175 (usage): Replace `progname' with `program_name'.
23176 (main): Use set_program_name() for program name initialization.
23177
231782009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23179
23180 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
23181 from here ...
23182 * Makefile.in (CPPFLAGS): ... to here.
23183
231842009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23185
23186 * aclocal.m4: Move from here ...
23187 * acinclude.m4: ... to here.
23188 * autogen.sh: Add call to `aclocal'.
23189 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
23190
231912009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23192
23193 * Makefile.in (CLEANFILES): Add `po/*.mo'.
23194 (LINGUAS): New variable.
23195 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
23196 (install-local): Install MO files.
23197 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
23198 * include/grub/i18n.h: New file.
3bc7896c
RM
23199 * po/POTFILES: New file.
23200 * po/ca.po: New file.
769ae37b
RM
23201 * util/grub.d/10_linux.in (bindir): New variable.
23202 Add gettext initialization.
23203 (linux_entry): Make menuentry output translatable.
23204 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
23205 (usage): Make --help output translatable.
23206 (main): Initialize gettext.
23207
02c0a6ad
RM
232082009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23209
23210 * import_gcry.py: New file (written by Vladimir with minor
23211 adjustments).
23212 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
23213 ciphers.
23214 * INSTALL: Document that Python is required for bootstrap.
23215
232162009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23217
23218 Import ciphers from libgcrypt 1.4.4.
23219
23220 * lib/libgcrypt/cipher/ChangeLog
23221 * lib/libgcrypt/cipher/ac.c
23222 * lib/libgcrypt/cipher/arcfour.c
23223 * lib/libgcrypt/cipher/bithelp.h
23224 * lib/libgcrypt/cipher/blowfish.c
23225 * lib/libgcrypt/cipher/camellia-glue.c
23226 * lib/libgcrypt/cipher/camellia.c
23227 * lib/libgcrypt/cipher/camellia.h
23228 * lib/libgcrypt/cipher/cast5.c
23229 * lib/libgcrypt/cipher/cipher.c
23230 * lib/libgcrypt/cipher/crc.c
23231 * lib/libgcrypt/cipher/des.c
23232 * lib/libgcrypt/cipher/dsa.c
23233 * lib/libgcrypt/cipher/ecc.c
23234 * lib/libgcrypt/cipher/elgamal.c
23235 * lib/libgcrypt/cipher/hash-common.c
23236 * lib/libgcrypt/cipher/hash-common.h
23237 * lib/libgcrypt/cipher/hmac-tests.c
23238 * lib/libgcrypt/cipher/md.c
23239 * lib/libgcrypt/cipher/md4.c
23240 * lib/libgcrypt/cipher/md5.c
23241 * lib/libgcrypt/cipher/primegen.c
23242 * lib/libgcrypt/cipher/pubkey.c
23243 * lib/libgcrypt/cipher/rfc2268.c
23244 * lib/libgcrypt/cipher/rijndael-tables.h
23245 * lib/libgcrypt/cipher/rijndael.c
23246 * lib/libgcrypt/cipher/rmd.h
23247 * lib/libgcrypt/cipher/rmd160.c
23248 * lib/libgcrypt/cipher/rsa.c
23249 * lib/libgcrypt/cipher/seed.c
23250 * lib/libgcrypt/cipher/serpent.c
23251 * lib/libgcrypt/cipher/sha1.c
23252 * lib/libgcrypt/cipher/sha256.c
23253 * lib/libgcrypt/cipher/sha512.c
23254 * lib/libgcrypt/cipher/tiger.c
23255 * lib/libgcrypt/cipher/twofish.c
23256 * lib/libgcrypt/cipher/whirlpool.c
23257
af2f93ac
RM
232582009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23259
23260 Fix build for systems without error().
23261
23262 * gnulib/error.c: New file (imported from Gnulib).
23263 * gnulib/error.h: Likewise.
23264 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
23265 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
23266 (this variable is now used by error()).
23267
73fb3dd5
FZ
232682009-11-16 Felix Zielcke <fzielcke@z-51.de>
23269
814f5e96
FZ
23270 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
23271 instead of relying that char is signed.
73fb3dd5 23272
a691ca33
VS
232732009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
23274
23275 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
23276 blocksize different from specified.
23277 (grub_pxefs_read): Likewise.
23278
2af8f0f4
FZ
232792009-11-16 Felix Zielcke <fzielcke@z-51.de>
23280
23281 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
23282
23283 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
23284 (grub_ata_readwrite): Likewise. Update 2 format strings.
23285 (grub_atapi_read): Likewise.
23286
23287 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
23288 * conf/i386.rmk (pkglib_MODULES): ... to here ...
23289 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
23290 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
23291 (ata_mod_LDFLAGS): Move from here ...
23292 * conf/i386.rmk: ... to here ...
23293 * conf/x86_64-efi.rmk: ... and here.
23294 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
23295 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
23296
83bdecaf
RM
232972009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23298
23299 Relicense multiboot.h, with RMS' blessing.
23300
23301 * include/multiboot.h: Change to X11 license.
23302
fd6fd3d7
RM
233032009-11-15 Robert Millan <rmh.grub@aybabtu.com>
23304
23305 Support --version in grub-mkisofs.
23306
23307 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
23308 (OPTION_VERSION): New macro.
23309 (ld_options): Recognize --version.
23310 (usage): Move `program_name' from here ...
23311 (program_name): ... to here. Add `static' qualifier.
23312 (main): Recognize `OPTION_VERSION'.
23313
16a88c49
FZ
233142009-11-15 Felix Zielcke <fzielcke@z-51.de>
23315
23316 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
23317 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
23318
a4158476
RM
233192009-11-14 Robert Millan <rmh.grub@aybabtu.com>
23320
23321 Fix help2man generation for mkisofs.
23322
23323 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
23324 (usage): Send output to stdout (rather than stderr).
23325
fc2208b0
RM
233262009-11-14 Robert Millan <rmh.grub@aybabtu.com>
23327
23328 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
23329 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
23330 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
23331 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
23332 (bin_SCRIPTS): Add `grub-mkfloppy'.
23333 (grub_mkfloppy_SOURCES): New variable.
23334
23335 * util/grub-mkrescue.in: New file.
23336 * util/i386/pc/grub-mkfloppy.in: New file.
23337
23338 * util/i386/coreboot/grub-mkrescue.in: Remove.
23339 * util/i386/pc/grub-mkrescue.in: Remove.
23340
8d0edf4a
RM
233412009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23342
23343 * include/grub/multiboot.h (struct grub_multiboot_header): Move
23344 from here ...
23345 * include/multiboot.h (struct multiboot_header): ... to here. Update
23346 all users.
23347 * include/grub/multiboot.h (struct grub_multiboot_info): Move
23348 from here ...
23349 * include/multiboot.h (struct multiboot_info): ... to here. Update
23350 all users.
23351 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
23352 from here ...
23353 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
23354 Update all users.
23355 * include/grub/multiboot.h (struct grub_mod_list): Move
23356 from here ...
23357 * include/multiboot.h (struct multiboot_mod_list): ... to here.
23358 Update all users.
23359
a73f5969
RM
233602009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23361
23362 * include/multiboot2.h (multiboot_word): Rename from this ...
23363 (multiboot2_word): ... to this. Update all users.
23364 (multiboot_header): Rename from this ...
23365 (multiboot2_header): ... to this. Update all users.
23366 (multiboot_tag_header): Rename from this ...
23367 (multiboot2_tag_header): ... to this. Update all users.
23368 (multiboot_tag_start): Rename from this ...
23369 (multiboot2_tag_start): ... to this. Update all users.
23370 (multiboot_tag_name): Rename from this ...
23371 (multiboot2_tag_name): ... to this. Update all users.
23372 (multiboot_tag_module): Rename from this ...
23373 (multiboot2_tag_module): ... to this. Update all users.
23374 (multiboot_tag_memory): Rename from this ...
23375 (multiboot2_tag_memory): ... to this. Update all users.
23376 (multiboot_tag_unused): Rename from this ...
23377 (multiboot2_tag_unused): ... to this. Update all users.
23378 (multiboot_tag_end): Rename from this ...
23379 (multiboot2_tag_end): ... to this. Update all users.
23380
1c8927f0
RM
233812009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23382
23383 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
23384 this platform we should support Multiboot1 first.
23385
23386 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23387 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
23388 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
23389
6e1e0d89
RM
233902009-11-12 Robert Millan <rmh.grub@aybabtu.com>
23391
23392 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
23393 of write calls (converting them to fwrite() if they aren't already).
23394 (get_torito_desc): Likewise.
23395 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
23396
7f2b34d8
RM
233972009-11-12 Robert Millan <rmh.grub@aybabtu.com>
23398
23399 * util/i386/pc/grub-install.in: Move from here ...
23400 * util/grub-install.in: ... to here. Update all users.
23401
c0ef3311
CW
234022009-11-11 Colin Watson <cjwatson@ubuntu.com>
23403
23404 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
23405
e1f240ff
RM
234062009-11-11 Robert Millan <rmh.grub@aybabtu.com>
23407
23408 Support for El Torito without floppy emulation.
23409
23410 * util/mkisofs/eltorito.c: Include `<errno.h>'.
23411 (init_boot_catalog): Improve error handling.
23412 (get_torito_desc): Don't use floppy emulation unless requested by
23413 user. Patch boot information table when requested via
23414 `-boot-info-table'.
23415 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
23416 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
23417 (use_boot_info_table): New variables.
23418 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
23419 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
23420 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
23421 `--eltorito-emul-floppy'.
23422 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
23423 and `OPTION_ELTORITO_EMUL_FLOPPY'.
23424 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
23425 (use_boot_info_table, get_731): New prototypes.
23426 * util/mkisofs/write.c (get_731): New function.
23427
af7d4de5
FZ
234282009-11-11 Felix Zielcke <fzielcke@z-51.de>
23429
23430 Fix the generation of the man page.
23431
23432 * util/pc/i386/grub-install.in: Source
23433 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
23434
2c55dbc0
RM
234352009-11-11 Robert Millan <rmh.grub@aybabtu.com>
23436
23437 Large file support for grub-mkisofs.
23438
23439 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
23440 * util/mkisofs/mkisofs.c (next_extent, last_extent)
23441 (session_start): Upgrade type to `uint64_t'. Update all users.
23442 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
23443 (struct directory_entry): Upgrade type of `starting_block' and
23444 `size' to `uint64_t'. Update all users.
23445 (struct deferred): Remove unused structure.
23446 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
23447 Update all users.
23448 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
23449 file is larger than `UINT32_MAX'.
23450 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
23451 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
23452 return value.
23453 (struct deferred_write): Upgrade type of `extent' and `size' to
23454 `uint64_t'. Update all users.
23455 (last_extent_written): Upgrade type to `uint64_t'. Update all
23456 users.
23457 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
23458 Update all users. Upgrade type of `remain' to `int64_t' and
23459 `use' to `size_t'. Use error() to handle fread() errors.
23460 (write_files): Rely on write_one_file() rather than calling
23461 xfwrite() directly.
23462
6a9cead5
FZ
234632009-11-09 Felix Zielcke <fzielcke@z-51.de>
23464
23465 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
23466
4825d790
RM
234672009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23468
23469 * util/mkisofs/fnmatch.c: Remove.
23470 * util/mkisofs/getopt1.c: Likewise.
23471 * util/mkisofs/getopt.c: Likewise.
23472 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
23473 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
23474 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
23475 `gnulib/getopt1.c' and `gnulib/getopt.c'.
23476 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
23477
23478 * configure.ac: Detect `mingw32msvc' host_os.
23479 Check for lstat(), getuid() and getgid().
23480
23481 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
23482 instances of `u_char' with `uint8_t'.
23483
23484 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
23485 [!HAVE_GETUID] (getuid): New function (stub).
23486 [!HAVE_GETGID] (getgid): Likewise.
23487 [!HAVE_LSTAT] (lstat): Likewise.
23488 [!S_IROTH] (S_IROTH): New macro (dummy).
23489 [!S_IRGRP] (S_IRGRP): Likewise.
23490
84b860d8
RM
234912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23492
23493 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
23494 conditional expression).
23495
66e9b712
RM
234962009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23497
23498 Import from Gnulib.
23499
23500 * gnulib/fnmatch.c: New file.
23501 * gnulib/fnmatch.h: Likewise.
23502 * gnulib/fnmatch_loop.c: Likewise.
23503 * gnulib/getopt.c: Likewise.
23504 * gnulib/getopt.h: Likewise.
23505 * gnulib/getopt1.c: Likewise.
23506 * gnulib/getopt_int.h: Likewise.
23507 * gnulib/gettext.h: Likewise.
23508
34f4a5b0
RM
235092009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23510
23511 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
23512 * normal/handler.c (read_handler_list): Likewise.
23513
ac451143
RM
235142009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23515
23516 Misc cleanup.
23517
23518 * kern/command.c (grub_register_command_prio): Use
23519 grub_zalloc() instead of explicitly zeroing data.
23520 * kern/list.c: Include `<grub/mm.h>'.
23521 (grub_named_list_find): Replace `0' with `NULL'.
23522 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
23523 (fs_module_list): Change type to `grub_named_list_t'. Update all
23524 users.
23525 * normal/dyncmd.c (read_command_list): Add space between function
23526 call and parenthesis.
23527 * normal/handler.c (read_handler_list): Likewise.
23528
4089b167
RM
235292009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23530
23531 * normal/auth.c (punishment_delay): Moved from here ...
23532 (grub_auth_strcmp): ... to here (inside function).
23533
325f5037
RM
235342009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23535
23536 * include/grub/list.h (struct grub_named_list): Remove `const'
23537 qualifier from `name'.
23538 (struct grub_prio_list): Likewise.
23539
7aea29a3
RM
235402009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23541
23542 * normal/auth.c: Include `<grub/time.h>'.
23543 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
23544
3fd6f044
RM
235452009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23546
23547 * normal/auth.c (punishment_delay): New variable.
23548 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
23549 (grub_auth_check_authentication): Punish failed login attempts with
23550 an incremental (2^N) delay.
23551
a4cd68e4
RM
235522009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23553
23554 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
23555 path with $(srcdir).
23556
7ad12f43
VS
235572009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
23558
23559 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
23560
c1129f03
RM
235612009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23562
23563 * util/i386/coreboot/grub-mkrescue.in: New file.
23564 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
23565 variables.
23566
23567 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
23568 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
23569 * configure.ac: Add header and function checks to satisfy grub-mkisofs
23570 requirements.
23571 * util/mkisofs/defaults.h: New file.
23572 * util/mkisofs/eltorito.c: Likewise.
23573 * util/mkisofs/exclude.h: Likewise.
23574 * util/mkisofs/fnmatch.c: Likewise.
23575 * util/mkisofs/getopt.c: Likewise.
23576 * util/mkisofs/getopt1.c: Likewise.
23577 * util/mkisofs/hash.c: Likewise.
23578 * util/mkisofs/include/fctldefs.h: Likewise.
23579 * util/mkisofs/include/mconfig.h: Likewise.
23580 * util/mkisofs/include/prototyp.h: Likewise.
23581 * util/mkisofs/include/statdefs.h: Likewise.
23582 * util/mkisofs/iso9660.h: Likewise.
23583 * util/mkisofs/joliet.c: Likewise.
23584 * util/mkisofs/match.c: Likewise.
23585 * util/mkisofs/match.h: Likewise.
23586 * util/mkisofs/mkisofs.c: Likewise.
23587 * util/mkisofs/mkisofs.h: Likewise.
23588 * util/mkisofs/multi.c: Likewise.
23589 * util/mkisofs/name.c: Likewise.
23590 * util/mkisofs/rock.c: Likewise.
23591 * util/mkisofs/tree.c: Likewise.
23592 * util/mkisofs/write.c: Likewise.
23593
ec8bb77d
VS
235942009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
23595
23596 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
23597 being insecure.
23598
3716b12c
RM
235992009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23600
23601 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
23602 `grub-mkimage' (and use $0 when possible).
23603
b97b7b91
RM
236042009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23605
23606 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
23607 error message for excessively large memory map.
23608
04114812
RM
236092009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23610
23611 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
23612 executable bit.
23613
e4eb2373
RM
236142009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23615
23616 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
23617 message for coreboot users.
23618
c926e1d5 236192009-11-07 Robert Millan <rmh.grub@aybabtu.com>
23620
23621 Fix build with GNU gold.
23622
23623 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
23624 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
23625 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
23626 link addresses.
23627 * aclocal.m4: Likewise.
23628
86e5b1db 236292009-11-04 Felix Zielcke <fzielcke@z-51.de>
23630
23631 * configure.ac (AC_PREREQ): Bump to 2.59d.
23632 * INSTALL: Make it more clear when Autoconf and Ruby are
23633 needed and when to run `./autogen.sh'.
23634
246cd78f 236352009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
23636
23637 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
23638 OSes.
23639
4f9dfb37 236402009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23641
23642 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
23643
b82bd5e1 236442009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23645
23646 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
23647 giving it to GNU Mach.
23648
ff1a9bca 236492009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23650
23651 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
23652 GNU partition number to get internal GRUB partition number.
23653
61697d9c 236542009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23655
23656 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
23657 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
23658
a50569e1 236592009-11-01 Robert Millan <rmh.grub@aybabtu.com>
23660
23661 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
23662 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
23663 case.
23664
5b153867 236652009-11-01 Felix Zielcke <fzielcke@z-51.de>
23666
23667 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
23668
d9e2cd70 236692009-10-30 Robert Millan <rmh.grub@aybabtu.com>
23670
23671 Fix build problem.
23672
23673 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
23674 `-isystem=$(srcdir)/include'.
23675
805111a4 236762009-10-30 Robert Millan <rmh.grub@aybabtu.com>
23677
23678 * util/i386/pc/grub-install.in: Remove hint that device.map should be
23679 checked (grub-install doesn't currently rely on it).
23680
fa6e945f 236812009-10-29 Robert Millan <rmh.grub@aybabtu.com>
23682
23683 Revert SVN r2660.
23684
23685 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
23686 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
23687 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
23688 * conf/i386-ieee1275.rmk: Likewise.
23689 * conf/i386-pc.rmk: Likewise.
23690 * conf/powerpc-ieee1275.rmk: Likewise.
23691 * conf/sparc64-ieee1275.rmk: Likewise.
23692 * conf/x86_64-efi.rmk: Likewise.
23693
cee15086 236942009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23695
23696 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
23697
95b9239e 236982009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23699
23700 * include/grub/misc.h: Stop checking for APPLE_CC.
23701
2ed19dfd 237022009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23703
23704 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
23705 doesn't cause an infinite call loop.
23706
fdcdde19 237072009-10-28 Felix Zielcke <fzielcke@z-51.de>
23708
23709 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
23710 strings.
23711
cefabfe1 237122009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23713
23714 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
23715 variable.
23716 * Makefile.in: Likewise.
23717
ed96ab6d 237182009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23719
23720 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
23721
0579b753 237222009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23723
23724 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
23725
478df409 237262009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23727
23728 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
23729
083d1679 237302009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23731
23732 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
23733 from here ...
23734 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
23735
5947ae32 237362009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23737
23738 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
23739 in $(MAKEINFO) invocation. This makes it clear in output that
23740 errors are being ignored.
23741
94180ff6 237422009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23743
23744 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
23745 from here ...
23746 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
23747 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
23748 * conf/i386-ieee1275.rmk: Likewise.
23749 * conf/i386-pc.rmk: Likewise.
23750 * conf/powerpc-ieee1275.rmk: Likewise.
23751 * conf/sparc64-ieee1275.rmk: Likewise.
23752 * conf/x86_64-efi.rmk: Likewise.
23753
9031b03a 237542009-10-26 Colin Watson <cjwatson@ubuntu.com>
23755
23756 * util/grub-editenv.c (main): If only a command is given, use
23757 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
23758 (usage): FILENAME is now optional and has a default.
23759
e4f6809b 237602009-10-26 Colin Watson <cjwatson@ubuntu.com>
23761
23762 Improve grub-mkconfig performance when there are several menu
23763 entries on a single filesystem.
23764
23765 * util/grub.d/10_linux.in (linux_entry): Cache the output of
23766 prepare_grub_to_access_device.
23767 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23768 * util/grub.d/30_os-prober.in: Likewise.
23769
67937d4d 237702009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23771
23772 * util/grub.d/10_freebsd.in: Remove.
23773 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
23774 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
23775
ee3756cc 237762009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23777
5c35048e 23778 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 23779
4dea1c6f 237802009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23781
23782 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
23783 grub_util_error() call.
23784
042484d7 237852009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23786
23787 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
23788 `reserved_first_sector' member.
23789 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
23790 `reserved_first_sector' to 1.
23791 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
23792 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
23793 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
23794 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
23795 filesystems which begin at first sector.
23796 (options): New option --skip-fs-probe.
23797 (main): Handle --skip-fs-probe and pass it to setup().
23798
d64448a7 237992009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23800
23801 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
23802 (memset): Fix function prototype.
23803
508d42ec 238042009-10-25 Robert Millan <rmh.grub@aybabtu.com>
238052009-10-25 Vasily Averin <vvs@parallels.com>
23806
23807 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
23808 `dirent.direntlen == 0'.
23809
b240e30c 238102009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23811
23812 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
23813 `cpio'.
23814 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
23815
346e7fbe 238162009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23817
23818 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
23819 `__trampoline_setup' and `__ucmpdi2'.
23820 * include/grub/powerpc/libgcc.h: Only export symbols for functions
23821 that libgcc provides.
23822
cdb308b0 238232009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23824
23825 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
23826 * include/grub/sparc64/libgcc.h (memset): Likewise.
23827 * include/grub/misc.h (memset, memcmp): New function prototypes.
23828
fb26abc2 238292009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23830
23831 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
23832 `cpio'.
23833 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
23834
f6693890 238352009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23836
23837 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
23838 * docs/grub.cfg: Compensate for recent change in multiboot
23839 loader (since 2009-08-14 it won't pass filename to payload).
23840 * util/grub.d/10_hurd.in: Likewise.
23841
0933cdc0 238422009-10-21 Felix Zielcke <fzielcke@z-51.de>
23843
23844 * config.guess: Update to latest version from config git
23845 repository.
23846 * config.sub: Likewise.
23847
3b2fe8c2 238482009-10-20 Robert Millan <rmh.grub@aybabtu.com>
23849
23850 Fix build on sparc64.
23851
23852 * configure.ac: Perform checks for libgcc symbols before
23853 adding `-nostdlib' to LDFLAGS.
23854
46695a62 238552009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
23856
23857 Let user specify OpenBSD root device.
23858
23859 * loader/i386/bsd.c (openbsd_root): New variable.
23860 (openbsd_opts): New option 'root'.
23861 (OPENBSD_ROOT_ARG): New macro.
23862 (grub_openbsd_boot): Use 'openbsd_root'.
23863 (grub_cmd_openbsd): Fill 'openbsd_root'.
23864
d2b6b7fc 238652009-10-16 Robert Millan <rmh.grub@aybabtu.com>
23866
23867 * NEWS: Misc adjustments.
23868
421bd7ac 238692009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
23870
23871 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
23872
f1d29d87 238732009-10-16 Robert Millan <rmh.grub@aybabtu.com>
23874
23875 * configure.ac: Bump version to 1.97.
23876
6f3cd880 238772009-10-16 Colin Watson <cjwatson@ubuntu.com>
23878
23879 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
23880 -mno-3dnow on x86 architectures. Some toolchains enable these
23881 features by default, but they rely on registers that aren't enabled
23882 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
23883
035f7122 238842009-10-15 Robert Millan <rmh.grub@aybabtu.com>
23885
23886 Make entry text a bit more readable.
23887
23888 * util/grub.d/10_linux.in: Add `with' before `Linux'.
23889
44998e58 238902009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23891
23892 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
23893
cd2851b3 238942009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23895
23896 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
23897 operations.
23898
c6f3b249 238992009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23900
23901 * configure.ac: Add missing dollar.
23902
6b5886ba 239032009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23904
23905 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
23906
23907 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
23908 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
23909 exports.
23910 * include/grub/sparc64/libgcc.h: Likewise. Use
23911 preprocessor conditionals.
23912
e9d66f6d 239132009-10-14 Robert Millan <rmh.grub@aybabtu.com>
23914
23915 * conf/common.rmk (grub-dumpbios): Remove rule.
23916 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
23917 * util/grub-dumpbios.in: Remove file.
23918
9155bc17 239192009-10-14 Robert Millan <rmh.grub@aybabtu.com>
23920
23921 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
23922 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
23923
23924 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
23925 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
23926 users.
23927
23928 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
23929 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
23930 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
23931 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
23932 users.
23933
bf7f7a18 239342009-10-12 Robert Millan <rmh.grub@aybabtu.com>
23935
23936 * term/tparm.c: Switch to GPLv3.
23937
86564c26 239382009-10-09 Robert Millan <rmh.grub@aybabtu.com>
23939
23940 * include/grub/i386/cpuid.h: Add header protection.
23941
5c936493 239422009-10-09 Robert Millan <rmh.grub@aybabtu.com>
23943
23944 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
23945
23946 * include/grub/i386/cpuid.h: New file.
23947 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
23948 (has_longmode): Rename to ...
23949 (grub_cpuid_has_longmode): ... this. Update all users. Remove
23950 `static' attribute.
23951 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
23952 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
23953 on a CPU that doesn't implement AMD64 instruction set.
23954
186e7cf2 239552009-10-06 Colin Watson <cjwatson@ubuntu.com>
23956
23957 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
23958 that version.texi is rebuilt on version number changes.
23959
83b65c4a 239602009-10-06 Colin Watson <cjwatson@ubuntu.com>
23961
23962 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
23963 Fixes bug #27602.
23964
d244281c 239652009-10-06 Colin Watson <cjwatson@ubuntu.com>
23966
23967 * util/i386/pc/grub-install.in: Source
23968 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
23969 that the --grub-probe option will work.
23970 * util/sparc64/ieee1275/grub-install.in: Likewise.
23971
da25306d 239722009-10-05 Robert Millan <rmh.grub@aybabtu.com>
23973
23974 * configure.ac: Bump version to 1.97~beta4.
23975
e8ee83c0 239762009-10-03 Robert Millan <rmh.grub@aybabtu.com>
23977
23978 Resync grub-mkdevicemap in x86_64-efi.
23979
23980 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
23981 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
23982 `util/devicemap.c'.
23983
50dcabcf 239842009-10-01 Colin Watson <cjwatson@ubuntu.com>
23985
23986 * util/grub-editenv.c (create_envblk_file): Write new block with a
23987 .new suffix and then rename it into place, to ensure atomic
23988 creation.
23989
0e51c3a7 239902009-09-28 Robert Millan <rmh.grub@aybabtu.com>
23991
23992 Do not automatically install headers.
23993
23994 * Makefile.in (include_DATA): Remove. Update all users.
23995
31299a95 239962009-09-26 Robert Millan <rmh.grub@aybabtu.com>
23997
23998 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
23999 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
24000
24001 * util/osdetect.lua: Remove.
24002 * script/lua/lauxlib.c: Likewise.
24003 * script/lua/ldebug.c: Likewise.
24004 * script/lua/grub_main.c: Likewise.
24005 * script/lua/lauxlib.h: Likewise.
24006 * script/lua/ldebug.h: Likewise.
24007 * script/lua/ltablib.c: Likewise.
24008 * script/lua/liolib.c: Likewise.
24009 * script/lua/lstrlib.c: Likewise.
24010 * script/lua/lualib.h: Likewise.
24011 * script/lua/ldo.c: Likewise.
24012 * script/lua/ldump.c: Likewise.
24013 * script/lua/ldo.h: Likewise.
24014 * script/lua/loslib.c: Likewise.
24015 * script/lua/lundump.c: Likewise.
24016 * script/lua/grub_lib.c: Likewise.
24017 * script/lua/ldblib.c: Likewise.
24018 * script/lua/lundump.h: Likewise.
24019 * script/lua/lmem.c: Likewise.
24020 * script/lua/grub_lib.h: Likewise.
24021 * script/lua/lmathlib.c: Likewise.
24022 * script/lua/lstate.c: Likewise.
24023 * script/lua/ltm.c: Likewise.
24024 * script/lua/lvm.c: Likewise.
24025 * script/lua/lmem.h: Likewise.
24026 * script/lua/lstate.h: Likewise.
24027 * script/lua/ltm.h: Likewise.
24028 * script/lua/ltable.c: Likewise.
24029 * script/lua/lvm.h: Likewise.
24030 * script/lua/llex.c: Likewise.
24031 * script/lua/lgc.c: Likewise.
24032 * script/lua/grub_lua.h: Likewise.
24033 * script/lua/loadlib.c: Likewise.
24034 * script/lua/lfunc.c: Likewise.
24035 * script/lua/lopcodes.c: Likewise.
24036 * script/lua/lparser.c: Likewise.
24037 * script/lua/ltable.h: Likewise.
24038 * script/lua/llex.h: Likewise.
24039 * script/lua/lgc.h: Likewise.
24040 * script/lua/lfunc.h: Likewise.
24041 * script/lua/lbaselib.c: Likewise.
24042 * script/lua/lopcodes.h: Likewise.
24043 * script/lua/lparser.h: Likewise.
24044 * script/lua/lzio.c: Likewise.
24045 * script/lua/linit.c: Likewise.
24046 * script/lua/lobject.c: Likewise.
24047 * script/lua/llimits.h: Likewise.
24048 * script/lua/lstring.c: Likewise.
24049 * script/lua/lzio.h: Likewise.
24050 * script/lua/lapi.c: Likewise.
24051 * script/lua/lcode.c: Likewise.
24052 * script/lua/lua.h: Likewise.
24053 * script/lua/lobject.h: Likewise.
24054 * script/lua/lstring.h: Likewise.
24055 * script/lua/lapi.h: Likewise.
24056 * script/lua/lcode.h: Likewise.
24057 * script/lua/luaconf.h: Likewise.
24058
cb8a2c38 240592009-09-26 Colin Watson <cjwatson@ubuntu.com>
24060
24061 * docs/grub.texi (Command-line and menu entry commands): Document
24062 date and echo commands.
24063
6b9b6276 240642009-09-24 Pavel Roskin <proski@gnu.org>
24065
24066 * include/grub/kernel.h (struct grub_module_header): Remove
24067 `grub_module_header_types'. Make `type' unsigned. Make `size'
24068 32-bit on all platforms.
24069 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
24070 8-bit field. Use grub_host_to_target32() for `size'.
24071 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
24072 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
24073 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
24074
4e5a02a7 240752009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24076
24077 Fix "lost keypress" bug in at_keyboard.
24078
24079 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
24080 Checks for readyness of input buffer (without flushing it).
24081 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
24082 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
24083
c6dcedf6 240842009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24085
24086 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
24087 size check within GRUB_MACHINE_PCBIOS section.
24088
74c958b1 240892009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24090
24091 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
24092 return value.
24093 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
24094 KEYBOARD_ISREADY check.
24095 (grub_at_keyboard_checkkey): Rename to ...
24096 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
24097 Remove gratuitous cast.
24098
ff420223 240992009-09-23 Colin Watson <cjwatson@ubuntu.com>
24100
24101 * configure.ac: Call AC_PROG_MKDIR_P.
24102 * Makefile.in (docs/stamp-vti): Create docs directory. Create
24103 version.texi in $(builddir) rather than $(srcdir).
24104 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
24105 to makeinfo's @include search path.
24106
d96875df 241072009-09-23 Felix Zielcke <fzielcke@z-51.de>
24108
24109 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
24110
9b3f8365 241112009-09-23 Felix Zielcke <fzielcke@z-51.de>
24112
24113 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
24114 for `*.dpkg-new'.
24115
c44c90db 241162009-09-21 Colin Watson <cjwatson@ubuntu.com>
24117
24118 Build info documentation. Some code borrowed from Automake.
24119
24120 * configure.ac: Check for makeinfo.
24121 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
24122 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
24123 docs/version.texi.
24124 (MOSTLYCLEANFILES): Add vti.tmp.
24125 (docs/version.texi, docs/stamp-vti): Update automatically.
24126 (docs/grub.info): Build info documentation. Use --force and ignore
24127 errors for now.
24128 (all-local): Add $(INFOS).
24129 (install-local): Install info files.
24130 (uninstall): Uninstall info files.
24131 * docs/version.texi: Remove from revision control. This file is
24132 automatically generated on build now.
24133 * gendistlist.sh: Add `*.info'.
24134
e0b37bb5 241352009-09-21 Felix Zielcke <fzielcke@z-51.de>
24136
24137 * kern/term.c: Fix indentation.
24138
5a78865b 241392009-09-21 Felix Zielcke <fzielcke@z-51.de>
24140
24141 * util/hostdisk.c: Fix a comment.
24142
dace7e8a 241432009-09-20 Robert Millan <rmh.grub@aybabtu.com>
24144
24145 Fix regression introduced in r2539.
24146
24147 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
24148 to 0xA1.
24149
a83d079b 241502009-09-19 Colin Watson <cjwatson@ubuntu.com>
24151
24152 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 24153 os-prober. Under normal operation, it does not print anything to
24154 stderr; if it does, we need to debug it, and throwing away stderr
24155 makes that excessively difficult.
a83d079b 24156
be94a509 241572009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
24158
24159 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
24160
63f745e8 241612009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24162
24163 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
24164 AC_LANG_PROGRAM from autoconf.
24165 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
24166 prototypes (fixes warning).
24167
24168 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
24169 `--disable-werror' was used.
24170
bbb2a70f 241712009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24172
24173 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
24174 uninitialized `lastaddr'.
24175
77c24f1d 241762009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
24177
0f0b8c87 24178 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 24179
07197f23 241802009-09-14 Colin Watson <cjwatson@ubuntu.com>
24181
24182 * commands/test.c (get_fileinfo): Return immediately if
24183 grub_fs_probe fails.
24184
dabf1798 241852009-09-14 José Martínez <xosemp@gmail.com>
24186
24187 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
24188
d52109a7 241892009-09-14 Colin Watson <cjwatson@ubuntu.com>
24190
24191 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
24192 output.
24193
56532179 241942009-09-13 Robert Millan <rmh.grub@aybabtu.com>
24195
24196 * configure.ac: Remove --enable-grub-pe2elf. Only build
24197 grub-pe2elf when needed by the build system itself.
24198 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
24199
8ef070f5 242002009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24201
24202 * configure.ac: Bump version to 1.97~beta3.
24203 * docs/version.texi: Likewise.
24204
61229557 242052009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24206
24207 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
24208 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
24209 from here ...
24210 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
24211 (grub_linux_setup_video): ... to here (with some adjustments).
24212
5c9f8d84 242132009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24214
24215 Fix memory corruption issue (spotted by Colin Watson).
24216
24217 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
24218 causing returned size to be stored in an incorrect memory location.
24219 Fix use of uninitialized value when storing the returned size.
24220
e8f5d6e9 242212009-09-12 Yves Blusseau <blusseau@zetam.org>
24222
24223 Change clean rules to properly remove files
24224
24225 * genmk.rb: add new clean rules
24226 * Makefile.in (clean): add the new targets
24227 (mostlyclean): likewise
24228
cda2a409 242292009-09-11 Colin Watson <cjwatson@ubuntu.com>
24230
24231 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
24232 to grub_uint64_t.
24233 * fs/ntfs.c (init_file): Understand 64-bit sizes for
24234 non-resident files.
24235
86695375 242362009-09-11 Colin Watson <cjwatson@ubuntu.com>
24237
24238 * configure.ac: Don't look for help2man when cross-compiling. Fixes
24239 part of bug #27349.
24240
8aa1541a 242412009-09-10 Felix Zielcke <fzielcke@z-51.de>
24242
24243 * util/grub-mkconfig.in: Make the created config mode 400 and
24244 print a warning if it fails.
24245
48d9bb0a 242462009-09-10 Robert Millan <rmh.grub@aybabtu.com>
24247
24248 * util/grub.d/40_custom.in: Ask user to type custom entries below
24249 comment, rather than below 'exec tail' line.
24250
3b0521be 242512009-09-10 Colin Watson <cjwatson@ubuntu.com>
24252
24253 * util/grub.d/40_custom.in: Make sure that the explanatory text is
24254 visible in grub.cfg.
24255
50051d55 242562009-09-10 Colin Watson <cjwatson@ubuntu.com>
24257
24258 * util/grub.d/40_custom.in: Make it a little clearer how to use this
24259 file.
24260
c0d34387 242612009-09-10 Felix Zielcke <fzielcke@z-51.de>
24262
24263 * docs/grub.cfg: Add an example menu entry for memtest86+.
24264
80a608f3 242652009-09-09 Felix Zielcke <fzielcke@z-51.de>
24266
a2094832 24267 * config.guess: Update to latest version from config git.
80a608f3 24268 * config.sub: Likewise.
24269
99423078 242702009-09-08 Colin Watson <cjwatson@ubuntu.com>
24271
24272 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
24273 unknown-command case. Fixes bug #27320.
24274
44454e4c 242752009-09-08 Felix Zielcke <fzielcke@z-51.de>
24276
24277 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
24278 `help' if the command exists.
24279
e30d87ad 242802009-09-06 Robert Millan <rmh.grub@aybabtu.com>
24281
24282 * INSTALL: Require GCC 4.1.3 or later.
24283
9a86f1ec 242842009-09-06 Yves Blusseau <blusseau@zetam.org>
24285
24286 * Makefile.in (RMKFILES): add i386-qemu.rmk
24287 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
24288 $(srcdir)/stamp-h.in
24289
7f26d466 242902009-09-05 Robert Millan <rmh.grub@aybabtu.com>
24291
24292 * util/grub-probe.c (probe): Comment out buggy codepath, which
24293 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
24294 should be re-enabled after 1.97.
24295
3a613259 242962009-09-05 Felix Zielcke <fzielcke@z-51.de>
24297
24298 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
24299 find searches for.
24300
197f76c7 243012009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
24302
24303 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
24304 unnecessary calls to grub_error.
24305
70ba68ce 243062009-09-04 Colin Watson <cjwatson@ubuntu.com>
24307
24308 * NEWS: Mention `keystatus' and Unicode fonts.
24309
4ff0d7a4 243102009-09-04 Robert Millan <rmh.grub@aybabtu.com>
24311
24312 * configure.ac: Bump version to 1.97~beta2.
24313 * docs/version.texi: Likewise.
24314
77c55a87 243152009-09-03 Colin Watson <cjwatson@ubuntu.com>
24316
24317 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
24318 containing unwind information in some cases where it previously did
24319 not. Use -fno-dwarf2-cfi-asm if available to restore the old
24320 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
24321 discussion.
24322
f79572cd 243232009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
24324
24325 Embedding loadenv module into grub-emu
24326
24327 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
24328 commands/loadenv.c
24329 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
24330 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
24331 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
24332 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
24333 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
24334 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
24335
93a81088 243362009-09-03 Magnus Granberg <zorry@ume.nu>
24337
24338 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
24339 include -fPIE in the default specs.
24340 * configure.ac: Check if pie_possible is yes and add -fno-PIE
24341 to TARGET_CFLAGS.
24342
160034b2 243432009-09-03 Felix Zielcke <fzielcke@z-51.de>
24344
24345 * INSTALL: Note that GNU Bison 2.3 or later is required.
24346
087c07c4 243472009-09-03 Colin Watson <cjwatson@ubuntu.com>
24348
24349 * kern/i386/pc/startup.S: Fix typo.
24350
cbf978c0 243512009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24352
24353 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
24354 according to GCS.
24355
243562009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 24357
24358 * docs/grub.texi (Naming convention): Describe one-based partition
24359 numbering.
24360 (Device syntax): Likewise.
24361 (File name syntax): Likewise.
24362 (Block list syntax): Likewise.
24363 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
24364 menu.lst.
24365 (File name syntax): Likewise.
24366 (Command-line and menu entry commands): Document acpi, blocklist,
24367 crc, export, insmod, keystatus, ls, set, and unset commands.
24368
f3e8cdfd 243692009-09-02 Colin Watson <cjwatson@ubuntu.com>
24370
24371 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
24372 to avoid implying that only one of --shift, --ctrl, or --alt may be
24373 used.
24374
c0bc232b 243752009-09-02 Colin Watson <cjwatson@ubuntu.com>
24376
24377 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
24378 rather than comparing against S_IFREG, which will almost never work.
24379
aa0f752d 243802009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
24381
24382 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
24383 (write_blocklists): Likewise.
24384
ecb3166a 243852009-09-01 Colin Watson <cjwatson@ubuntu.com>
24386
24387 * script/lua/grub_lua.h (fputs): Supply a format string as the first
24388 argument to grub_printf.
24389
c403a125 243902009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 24391
24392 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 24393 non GNU test.
31aba781 24394
b5e7312c 243952009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24396
24397 * kern/file.c (grub_file_read): Spelling fix
24398
fe00f472 243992009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24400
24401 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
24402 loading of headers in some cases.
24403
cc55302e 244042009-08-30 Robert Millan <rmh.grub@aybabtu.com>
24405
24406 * configure.ac: Bump version to 1.97~beta1.
24407 * docs/version.texi: Likewise.
24408
5c90cdd2 244092009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 24410
24411 * include/grub/i386/xnu.h: Add license header.
24412 include grub/err.h explicitly.
24413
c90edae4 244142009-08-29 Robert Millan <rmh.grub@aybabtu.com>
24415
24416 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
24417 to `ufs' in the vfs.root.mountfrom kernel parameter.
24418
d8888b5c 244192009-08-29 Robert Millan <rmh.grub@aybabtu.com>
24420
24421 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
24422
24423 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
24424 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
24425
24426 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
24427 `ARRAY_SIZE' macro.
24428
6f07b921 244292009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24430
24431 * kern/file.c (grub_file_read): Check offset.
24432 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
24433 * fs/jfs.c (grub_jfs_read_file): Likewise.
24434 * fs/ntfs.c (grub_ntfs_read): Likewise.
24435 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
24436 * fs/minix.c (grub_minix_read_file): Correct offset check.
24437 * fs/ufs.c (grub_ufs_read_file): Likewise.
24438
b4f34077 244392009-08-28 Colin Watson <cjwatson@ubuntu.com>
24440
24441 * term/i386/pc/console.c (bios_data_area): Cast
24442 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
24443
e7c69859 244442009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24445
24446 1-bit optimised blitters.
24447
24448 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
24449 prototype.
24450 (grub_video_fbblit_replace_24bit_1bit): Likewise.
24451 (grub_video_fbblit_replace_16bit_1bit): Likewise.
24452 (grub_video_fbblit_replace_8bit_1bit): Likewise.
24453 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
24454 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
24455 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
24456 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
24457 function.
24458 (grub_video_fbblit_replace_24bit_1bit): Likewise.
24459 (grub_video_fbblit_replace_16bit_1bit): Likewise.
24460 (grub_video_fbblit_replace_8bit_1bit): Likewise.
24461 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
24462 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
24463 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
24464 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
24465 when possible.
24466 * video/video.c (grub_video_get_blit_format): Return
24467 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
24468
a57da43f 244692009-08-28 Colin Watson <cjwatson@ubuntu.com>
24470
24471 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
24472 the first argument to grub_printf.
24473
4cbe67e5 244742009-08-28 Colin Watson <cjwatson@ubuntu.com>
244752009-08-28 Robert Millan <rmh.grub@aybabtu.com>
24476
24477 Add `getkeystatus' terminal method. Add a new `keystatus' command
24478 to query it.
24479
24480 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
24481 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
24482 modifier key bitmasks.
24483 (struct grub_term_input): Add `getkeystatus' member.
24484 (grub_getkeystatus): Add prototype.
24485 * kern/term.c (grub_getkeystatus): New function.
24486
24487 * include/grub/i386/pc/memory.h
24488 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
24489 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
24490 Data Area layout.
24491 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
24492 (grub_console_term_input): Set `getkeystatus' member.
24493 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
24494 constants.
24495 (grub_usb_keyboard_getreport): Likewise.
24496 (grub_usb_keyboard_checkkey): Likewise.
24497 (grub_usb_keyboard_getkeystatus): New function.
24498 (grub_usb_keyboard_term): Set `getkeystatus' member.
24499
24500 * commands/keystatus.c: New file.
24501 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
24502 (keystatus_mod_SOURCES): New variable.
24503 (keystatus_mod_CFLAGS): Likewise.
24504 (keystatus_mod_LDFLAGS): Likewise.
24505 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
24506 commands/keystatus.c.
24507 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24508 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24509 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24510 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24511 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24512 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 24513
6e2a9085 245142009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24515
24516 Split befs.mod and afs.mod into *_be.mod and *.mod
24517
24518 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
24519 (grub_fstest_SOURCES): Likewise.
24520 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
24521 (afs_be_mod_SOURCES): New variable.
24522 (afs_be_mod_CFLAGS): Likewise.
24523 (afs_be_mod_LDFLAGS): Likewise.
24524 (befs_be_mod_SOURCES): Likewise.
24525 (befs_be_mod_CFLAGS): Likewise.
24526 (befs_be_mod_LDFLAGS): Likewise.
24527 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
24528 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24529 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24530 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24531 (grub_emu_SOURCES): Likewise.
24532 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24533 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24534 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24535 * fs/afs_be.c: New file.
24536 * fs/befs_be.c: New file.
24537 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
24538 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
24539 (U16): Replaced with ...
24540 (grub_afs_to_cpu16): ...this. All users updated.
24541 (U32): Replaced with ...
24542 (grub_afs_to_cpu32): ...this. All users updated.
24543 (U64): Replaced with ...
24544 (grub_afs_to_cpu64): ...this. All users updated.
24545 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
24546 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 24547 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 24548 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
24549 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
24550 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
24551 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
24552 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
24553 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
24554 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
24555 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
24556
32a71655 245572009-08-26 Bean <bean123ch@gmail.com>
24558
24559 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
24560 64-bit number.
24561 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
24562 (grub_xfs_inode_block): Change return type to grub_uint64_t.
24563 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
24564
552bf6c5 245652009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24566
24567 NetBSD memory map support.
24568
24569 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
24570 (grub_netbsd_btinfo_mmap_header): New structure.
24571 (grub_netbsd_btinfo_mmap_entry): Likewise.
24572 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
24573
1ae2078c 245742009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24575
24576 Enable bsd.mod on coreboot.
24577
24578 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
24579 (bsd_mod_SOURCES): New variable.
24580 (bsd_mod_CFLAGS): Likewise.
24581 (bsd_mod_LDFLAGS): Likewise.
24582 (bsd_mod_ASFLAGS): Likewise.
24583 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
24584 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
24585
beefc598 245862009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24587
24588 Cleanup NetBSD root support.
24589
24590 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
24591 grub_bsd_get_device.
24592 Fix typo.
24593
3b76e68b 245942009-08-25 Felix Zielcke <fzielcke@z-51.de>
24595
24596 * util/grub.d/00_header.in: Move check for the video backend of
24597 gfxterm from here ...
24598 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
24599 a suitable video backend.
24600
aea664ea 246012009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24602
24603 Fix breakage in grub-setup.
24604
24605 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
24606 "msdos_partition_map".
24607
ff747d50 246082009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24609
24610 Fix breakage in normal/auth.c.
24611
24612 * normal/auth.c (grub_iswordseparator): New function.
24613
e7e1f93f 246142009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24615
24616 Authentication support.
24617
24618 * commands/password.c: New file.
24619 * conf/common.rmk (pkglib_MODULES): Add password.mod.
24620 (password_mod_SOURCES): New variable.
24621 (password_mod_CFLAGS): Likewise.
24622 (password_mod_LDFLAGS): Likewise.
24623 (normal_mod_SOURCES): Add normal/auth.c.
24624 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
24625 normal/auth.c.
24626 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24627 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24628 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24629 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24630 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24631 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24632 * include/grub/auth.h: New file.
24633 * include/grub/err.h (grub_err_t): New enum value
24634 GRUB_ERR_ACCESS_DENIED.
24635 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
24636 'users'.
24637 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
24638 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
24639 users updated.
24640 * normal/auth.c: New file.
24641 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
24642 (grub_cmdline_run): Don't allow to go to command line without
24643 authentication.
24644 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
24645 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
24646 menuentry without superuser rights.
24647 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
24648 user isn't a superuser.
24649
70f1161d 246502009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24651
24652 Save space by inlining misc.c functions.
24653
24654 * kern/misc.c (grub_iswordseparator): Made static.
24655 * kern/misc.c (grub_strcat): Moved from here ...
24656 * include/grub/misc.h (grub_strcat): ... here. Inlined.
24657 * kern/misc.c (grub_strncat): Moved from here ...
24658 * include/grub/misc.h (grub_strncat): ... here. Inlined.
24659 * kern/misc.c (grub_strcasecmp): Moved from here ...
24660 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
24661 * kern/misc.c (grub_strncasecmp): Moved from here ...
24662 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
24663 * kern/misc.c (grub_isalpha): Moved from here ...
24664 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
24665 * kern/misc.c (grub_isdigit): Moved from here ...
24666 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
24667 * kern/misc.c (grub_isgraph): Moved from here ...
24668 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
24669 * kern/misc.c (grub_tolower): Moved from here ...
24670 * include/grub/misc.h (grub_tolower): ... here. Inlined.
24671
48e40bff 246722009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24673
24674 * script/sh/function.c (grub_script_function_find): Cut error message
24675 not to flood terminal.
24676 * script/sh/lexer.c (grub_script_yylex): Remove command line length
24677 limit.
24678 * script/sh/script.c (grub_script_arg_add): Duplicate string.
24679
c385bfc3 246802009-08-24 Colin Watson <cjwatson@ubuntu.com>
24681
24682 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
24683 `report' grub_uint8_t *.
24684 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
24685 Use a 50-millisecond timeout rather than just repeating
24686 grub_usb_keyboard_getreport 50 times.
24687 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
24688
2d21e3e8 246892009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24690
24691 Rename *_partition_map to part_*
24692
24693 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
24694 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
24695 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
24696 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
24697 All users updated.
24698 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
24699 All users updated.
24700 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
24701 * util/grub-probe.c (probe_partmap): Don't transform partition name
24702 to get module name.
24703
dd103c4e 247042009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24705
24706 Fix OpenBSD and NetBSD support.
24707
24708 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
24709 memory address conflict.
24710 (OPENBSD_MMAP_ACPI): New definition.
24711 (OPENBSD_MMAP_NVS): Likewise.
24712 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
24713 and OPENBSD_MMAP_NVS.
24714 Add memory map terminator
24715 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 24716 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 24717
16c84d74 247182009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24719
24720 Let user specify NetBSD root device.
24721
24722 * loader/i386/bsd.c (netbsd_root): New variable.
24723 (netbsd_opts): New option 'root'.
24724 (NETBSD_ROOT_ARG): New macro.
24725 (grub_netbsd_boot): Use 'netbsd_root'.
24726 (grub_bsd_unload): Free 'netbsd_root'.
24727 (grub_cmd_netbsd): Fill 'netbsd_root'.
24728
adb29902 247292009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24730
24731 Support for 64-bit NetBSD.
24732
24733 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
24734 point when booting non-FreeBSD.
24735
f5ae9f74 247362009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24737
24738 Support --no-smp and --no-acpi for NetBSD.
24739
24740 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
24741 (NETBSD_AB_NOACPI): Likewise.
24742 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
24743 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
24744
de74f136 247452009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24746
24747 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
24748 errors.
24749 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
24750 errors. Call grub_error when needed.
24751
e9a925da 247522009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24753
24754 * commands/search.c (search_fs): Try searching without autoload first.
24755 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
24756 filesystem module explicitly for faster booting.
24757
5174302b 247582009-08-23 Colin Watson <cjwatson@ubuntu.com>
24759
24760 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
24761
c8c80635 247622009-08-23 Colin Watson <cjwatson@ubuntu.com>
24763
24764 * util/grub.d/30_os-prober.in: Disable os-prober if
24765 `GRUB_DISABLE_OS_PROBER' was set to true.
24766
71acf5e5 247672009-08-23 Robert Millan <rmh.grub@aybabtu.com>
24768
24769 * partmap/pc.c: Rename to ...
24770 * partmap/msdos.c: ... this. Update all users.
24771 (grub_pc_partition_map): Rename to ...
24772 (grub_msdos_partition_map): ... this. Update all users.
24773
24774 * parttool/pcpart.c: Rename to ...
24775 * parttool/msdospart.c: ... this. Update all users.
24776
24777 * include/grub/pc_partition.h: Rename to ...
24778 * include/grub/msdos_partition.h: ... this. Update all users.
24779 (grub_pc_partition_bsd_entry): Rename to ...
24780 (grub_msdos_partition_bsd_entry): ... this. Update all users.
24781 (grub_pc_partition_disk_label): Rename to ...
24782 (grub_msdos_partition_disk_label): ... this. Update all users.
24783 (grub_pc_partition_entry): Rename to ...
24784 (grub_msdos_partition_entry): ... this. Update all users.
24785 (grub_pc_partition_mbr): Rename to ...
24786 (grub_msdos_partition_mbr): ... this. Update all users.
24787 (grub_pc_partition): Rename to ...
24788 (grub_msdos_partition): ... this. Update all users.
24789 (grub_pc_partition_is_empty): Rename to ...
24790 (grub_msdos_partition_is_empty): ... this. Update all users.
24791 (grub_pc_partition_is_extended): Rename to ...
24792 (grub_msdos_partition_is_extended): ... this. Update all users.
24793 (grub_pc_partition_is_bsd): Rename to ...
24794 (grub_msdos_partition_is_bsd): ... this. Update all users.
24795
24796 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
24797 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
24798 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
24799 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
24800 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
24801 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
24802 (gpt_mod_LDFLAGS): Rename to ...
24803 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
24804 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
24805 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
24806 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
24807 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
24808 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
24809 (part_gpt_mod_LDFLAGS): ... this.
24810 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
24811 `pcpart.mod' to `msdospart.mod'.
24812 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
24813 to ...
24814 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
24815 (msdospart_mod_LDFLAGS): ... this.
24816
c11fded5 248172009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24818
24819 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
24820 (openbsd_opts): Likewise.
24821 (netbsd_opts): Likewise.
24822 (freebsd_flags): Added 0 terminator.
24823 (openbsd_flags): Likewise.
24824 (netbsd_flags): Likewise.
24825 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
24826 (grub_cmd_freebsd): Transformed into extended command.
24827 (grub_cmd_openbsd): Likewise.
24828 (grub_cmd_netbsd): Likewise.
24829 (cmd_freebsd): Changed type to grub_extcmd_t.
24830 (cmd_openbsd): Likewise.
24831 (cmd_netbsd): Likewise.
24832 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
24833 grub_cmd_openbsd as extended commands.
24834 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
24835 cmd_netbsd and cmd_openbsd
24836
11d1c769 248372009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
24838
24839 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
24840
7a9094e5 248412009-08-21 Pavel Roskin <proski@gnu.org>
24842
5496c37e 24843 * Makefile.in (install-local): When checking if a file is in the
24844 build directory, use "test -e" to detect symlinks.
24845
7a9094e5 24846 * Makefile.in (install-local): Remove all files in
24847 $(DESTDIR)$(pkglibdir) before installing new files there.
24848
e53cea11 248492009-08-18 Felix Zielcke <fzielcke@z-51.de>
24850
24851 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
24852 grub-mkelfimage.
24853
9aced544 248542009-08-18 Felix Zielcke <fzielcke@z-51.de>
24855
24856 * util/grub-mkconfig.in: Don't use gfxterm by default if not
24857 explicitly specified by the user.
24858
b7da6bab 248592009-08-18 Pavel Roskin <proski@gnu.org>
24860
24861 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
24862 grub_uint8_t pointer for data.
24863 * include/grub/fbutil.h (struct grub_video_fbblit_info):
24864 Likewise.
24865 * video/fb/fbutil.c: Remove unnecessary casts.
24866
19f1b335 248672009-08-17 Michal Suchanek <hramrach@centrum.cz>
24868
24869 VBE cleanup.
24870
24871 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
24872 (grub_vbe_set_video_mode): Save active mode info
24873 only after setting the mode.
24874 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
24875 second argument.
24876
2f467aa9 248772009-08-17 Michal Suchanek <hramrach@centrum.cz>
24878
24879 Rename variables for clarity.
24880
24881 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
24882 (active_vbe_mode_info): ... this. All users updated.
24883 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
24884 All users updated.
24885 (initial_mode): Rename to ...
24886 (initial_vbe_mode): ... this. All users updated.
24887 (mode_in_use): Rename to ..
24888 (vbe_mode_in_use): ... this. All users updated.
24889 (mode_list): Rename to ..
24890 (vbe_mode_list): ... this. All users updated.
24891 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
24892 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
24893 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
24894 'mode_list_size' to 'vbe_mode_list_size'.
24895 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
24896 'best_mode_info' to 'best_vbe_mode_info' and
24897 'best_mode' to 'best_vbe_mode'
24898
6025fcd7 248992009-08-17 Michal Suchanek <hramrach@centrum.cz>
24900
24901 Remove duplicate grub_video_fb_get_video_ptr.
24902
24903 * include/grub/fbutil.h (get_data_ptr): Rename to ...
24904 (grub_video_fb_get_video_ptr): ... this.
24905 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
24906 * video/fb/fbutil.c: Add comment about addressing.
24907 (get_data_ptr): Rename to ...
24908 (grub_video_fb_get_video_ptr): ... this. All users updated.
24909 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
24910
cc8c6faf 249112009-08-17 Robert Millan <rmh.grub@aybabtu.com>
24912
24913 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
24914 grub_dprintf() that was just added.
24915
08aa61f0 249162009-08-17 Robert Millan <rmh.grub@aybabtu.com>
24917
24918 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
24919 (DEFAULT_VIDEO_MODE): Remove macros.
24920 (grub_linux_boot): Remove assumption that Linux has FB support,
24921 and use "text" as default video mode.
24922
7cef4f75 249232009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
24924
24925 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
24926 grub_dprintf.
24927 * fs/fat.c (grub_fat_read_data): Likewise.
24928
e1f39873 249292009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24930
24931 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
24932 payload.
24933 (grub_module): Likewise.
24934
c166d79e 249352009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24936
24937 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
24938 mbi->cmdline but free playground.
24939
c60cee8e 249402009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24941
24942 Handle group offset on UFS1.
24943
24944 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
24945 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
24946
c0d8b5d4 249472009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24948
24949 Split ufs.mod into ufs1.mod and ufs2.mod.
24950
24951 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
24952 (grub_fstest_SOURCES): Likewise.
24953 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
24954 (ufs_mod_SOURCES): Remove.
24955 (ufs_mod_CFLAGS): Likewise.
24956 (ufs_mod_LDFLAGS): Likewise.
24957 (ufs1_mod_SOURCES): New variable.
24958 (ufs1_mod_CFLAGS): Likewise.
24959 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 24960 (ufs2_mod_SOURCES): New variable.
24961 (ufs2_mod_CFLAGS): Likewise.
24962 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 24963 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
24964 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
24965 Likewise.
24966 (grub_emu_SOURCES): Likewise.
24967 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24968 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24969 (grub_setup_SOURCES): Likewise.
24970 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24971 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
24972 (grub_setup_SOURCES): Likewise.
24973 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
24974 Likewise.
24975 * fs/ufs2.c: New file.
24976 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
24977
d3539132 249782009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24979
24980 Framebuffer split.
24981
24982 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
24983 subsystem at the end.
24984 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
24985 (video_fb_mod_SOURCES): New variable.
24986 (video_fb_mod_CFLAGS): Likewise.
24987 (video_fb_mod_LDFLAGS): Likewise.
24988 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
24989 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
24990 * video/i386/pc/vbeblit.c: Moved from here ...
24991 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
24992 * video/i386/pc/vbefill.c: Moved from here ...
24993 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
24994 * video/i386/pc/vbeutil.c: Moved from here ...
24995 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
24996 * include/grub/i386/pc/vbeblit.h: Moved from here ...
24997 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
24998 * include/grub/i386/pc/vbefill.h: Moved from here ...
24999 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
25000 * include/grub/i386/pc/vbeutil.h: Moved from here ...
25001 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
25002 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
25003 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
25004 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
25005 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
25006 (grub_video_adapter): Added 'get_info_and_fini'.
25007 (grub_video_get_info_and_fini): New prototype.
25008 (grub_video_set_mode): make modestring const char *.
25009 * loader/i386/linux.c (grub_linux_setup_video): Use
25010 grub_video_get_info_and_fini.
25011 (grub_linux_boot): Move modesetting just before booting.
25012 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
25013 grub_video_get_info_and_fini.
25014 * video/i386/pc/vbe.c: Moved framebuffer part ...
25015 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
25016 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
25017 grub_video_fbstd_colors and grub_video_fb_set_palette.
25018 (grub_video_vbe_init): Clear 'framebuffer' variable and use
25019 grub_video_fb_init.
25020 (grub_video_vbe_fini): Use grub_video_fb_fini.
25021 (grub_video_vbe_setup): Use framebuffer.render_target instead of
25022 render_target and use grub_video_fb_set_active_render_target and
25023 grub_video_fb_set_palette.
25024 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
25025 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
25026 (grub_video_vbe_adapter): Use framebuffer.
25027 * video/video.c (grub_video_get_info_and_fini): New function.
25028 (grub_video_set_mode): Make modestring const char *.
25029 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
25030 values are already initialised.
25031
d404ee56 250322009-08-14 Pavel Roskin <proski@gnu.org>
25033
25034 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
25035 ABS and APPLE_CC.
25036 * boot/i386/pc/diskboot.S: Likewise.
25037 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
25038 sectors allow compilation on MacOSX.
25039 * conf/i386-pc.rmk: Enable unconditional compilation of
25040 lnxboot.img.
25041
9a10df16 250422009-08-13 Colin Watson <cjwatson@ubuntu.com>
25043
25044 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
25045 * util/grub.d/00_header.in: Enter interruptible sleep if
25046 GRUB_HIDDEN_TIMEOUT is set.
25047
be3c9ca7 250482009-08-13 Yves Blusseau <blusseau@zetam.org>
25049
25050 * include/grub/symbol.h: Add the LOCAL macro.
25051 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
25052 starting with "L_".
25053
1f9e557e 250542009-08-13 Pavel Roskin <proski@gnu.org>
25055
9ca62843 25056 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
25057 any modern compilers we support.
25058
1f9e557e 25059 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
25060 Use local labels starting with "L_" so that Apple assembler
25061 knows they are local.
25062
81623db6 250632009-08-10 Robert Millan <rmh.grub@aybabtu.com>
25064
25065 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
25066 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
25067 (bsd_kernel_types): ... this enum.
25068
25069 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
25070 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
25071 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
25072
25073 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
25074 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
25075 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
25076 messages.
25077
f5d35e7a 250782009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25079
25080 * util/grub-dumpdevtree: Moved from here ...
25081 * util/i386/efi/grub-dumpdevtree: ... to here.
25082 (hexify): New function. Converts a string to its hex version.
25083 Generate hex versions of "efi" and "device-properties" by calling
25084 hexify() on the ASCII strings rather than by hardcoding numbers.
25085
d1e1d527 250862009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25087
25088 * fs/jfs.c: Update copyright year.
25089
1ebbe064 250902009-08-08 Felix Zielcke <fzielcke@z-51.de>
25091
25092 * util/grub.d/00_header.in: Fix a comment.
25093 * util/grub.d/10_linux.in: Likewise.
25094 * util/grub.d/10_windows.in: Likewise.
25095 * util/grub.d/10_hurd.in: Likewise.
25096
a78c8d24 250972009-08-08 Felix Zielcke <fzielcke@z-51.de>
25098
25099 * util/grub-mkconfig.in: Allow the user to specify the used font
25100 with GRUB_FONT.
25101
29a6b9e8 251022009-08-08 Pavel Roskin <proski@gnu.org>
25103
b5f16cc4 25104 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
25105 available, xfs.mod needs it now.
25106
2f5cb827 25107 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
25108 the "g" modifier in sed when the intention is to strip something
25109 once. This fixes comparison of kernels with multiple dashes.
25110
29a6b9e8 25111 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
25112 on it. Add missing space before closing bracket. Fix
25113 misleading formatting.
25114
892a3d98 251152009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25116
25117 * docs/grub.texi: Major overhaul. Remove all sections that are
25118 specific to GRUB Legacy, or mostly composed of Legacy-specific
25119 information.
25120
ed94253f 251212009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25122
25123 * docs/version.texi: New file. Provides version information for
25124 grub.texi.
25125
126d6628 251262009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25127
25128 * docs/grub.texi: Update CVS information to SVN.
25129 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
25130
998b5aa9 251312009-08-07 Felix Zielcke <fzielcke@z-51.de>
25132
25133 * util/grub-mkconfig.in: Remove a wrong `fi'.
25134
818e094a 251352009-08-07 Felix Zielcke <fzielcke@z-51.de>
25136
25137 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
25138 (grub_jfs_uuid): New function.
25139 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
25140
b969c52f 251412009-08-07 Felix Zielcke <fzielcke@z-51.de>
25142
25143 * util/grub-mkconfig_lib.in (font_path): Move the functionality
25144 of it to ...
25145 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
25146 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
25147
7a4894cc 251482009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25149
25150 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
25151 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
25152 Update all users.
25153
25154 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
25155 not just "vmlinu[zx]".
25156 Moved from here ...
25157 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
25158 all users.
25159
25160 * util/grub.d/10_linux.in (find_latest): Moved from here ...
25161 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
25162 all users.
25163
4e2171f8 251642009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25165
25166 * util/grub.d/10_freebsd.in: Use an absolute device path for
25167 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
25168
6dcfcb32 251692009-08-06 Felix Zielcke <fzielcke@z-51.de>
25170
25171 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
25172 handling of multiple abstraction modules.
25173
f56a8756 251742009-08-04 Robert Millan <rmh.grub@aybabtu.com>
25175
25176 Fix a bug resulting in black screen when loading Linux using a
25177 packed video mode.
25178
25179 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
25180 function.
25181
25182 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
25183 (grub_vbe_bios_getset_dac_palette_width): New function.
25184 (grub_vbe_bios_get_dac_palette_width)
25185 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
25186 grub_vbe_bios_getset_dac_palette_width()).
25187
25188 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
25189 check for return status.
25190 (grub_vbe_get_video_mode_info): When getting information for a packed
25191 mode (<= 8 bpp), obtain DAC palette width using
25192 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
25193 {red,green,blue}_mark_size.
25194
222671b2 251952009-08-04 Felix Zielcke <fzielcke@z-51.de>
25196
ecb1a6d9 25197 * commands/search.c (options): Fix help output to match actual code.
222671b2 25198
f84114f5 251992009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
25200
25201 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
25202 of homegrown code.
25203
bd288a20 252042009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 25205
25206 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
25207 on XFS or ReiserFS.
25208
8aab5e25 252092009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25210
25211 Support Apple partition map with sector size different from 512 bytes.
25212
25213 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
25214 (apple_partition_map_iterate): Respect 'aheader.blocksize'
25215 and 'apart.partmap_size'.
25216
6ad6258a 252172009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
252182009-08-01 Robert Millan <rmh.grub@aybabtu.com>
25219
25220 Fix cpuid command.
25221
25222 * commands/i386/cpuid.c (options): New variable.
25223 (grub_cmd_cpuid): Return real error.
25224 (GRUB_MOD_INIT(cpuid)): Declare options.
25225
67459bc6 252262009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
25227
25228 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
25229 valid.
25230
fbc6ab54 252312009-07-31 Bean <bean123ch@gmail.com>
25232
25233 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
25234 log2_inode.
25235 (grub_fshelp_node): Move inode field to the end.
25236 (grub_xfs_data): Remove inode field.
25237 (grub_xfs_inode_block): Calculate inode size using sblock.
25238 (grub_xfs_inode_offset): Likewise.
25239 (grub_xfs_read_inode): Calculate inode size using sblock.
25240 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
25241 (grub_xfs_iterate_dir): Calculate inode size using sblock.
25242 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
25243 to match inode size.
25244 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
25245 not accessible when data is null.
25246 (grub_xfs_open): Likewise.
25247
f45d6cfc 252482009-07-31 Bean <bean123ch@gmail.com>
25249
25250 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
25251 Don't change pv->disk if it's already set.
25252
25253 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
25254 (grub_raid_register): ... here.
25255 (grub_raid_rescan): Removed.
25256
25257 * include/grub/raid.h (grub_raid_rescan): Removed.
25258
25259 * util/grub-fstest.c: Remove include file <grub/raid.h>.
25260 (fstest): Replace grub_raid_rescan with module fini function followed
25261 by init function.
25262
25263 * util/grub-probe.c: Add include file <grub/raid.h>.
25264 (probe_raid_level): New function.
25265 (probe): Detect abstraction by walking the disk device, support two
25266 level of abstraction (LVM on RAID) when detecting partition map.
25267
24443b5a 252682009-07-31 Pavel Roskin <proski@gnu.org>
25269
25270 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
25271 to grub_zalloc(), it was erroneous.
25272 Reported by Bean <bean123ch@gmail.com>
25273
a275d9e7 252742009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
25275
25276 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 25277 embedding zone, not only the first one.
a275d9e7 25278
56c5a47f 252792009-07-29 Joe Auricchio <jauricchio@gmail.com>
25280
25281 * term/gfxterm.c (clear_char): New function.
25282 (grub_virtual_screen_setup): Use clear_char.
25283 (scroll_up): Likewise.
25284 (grub_virtual_screen_cls): Likewise.
25285
67bb323a 252862009-07-29 Felix Zielcke <fzielcke@z-51.de>
25287
25288 * util/deviceiter.c (get_acceleraid_disk_name): New static
25289 function.
25290 (grub_util_iterate_devices): Handle Accelraid devices.
25291 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
25292
388a7c75 252932009-07-28 Robert Millan <rmh.grub@aybabtu.com>
25294
25295 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
25296 separator for the suggested gfxpayload string (';' collides with the
25297 parser and needs escaping).
25298
3bb7abcf 252992009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
25300
25301 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
25302 Clear direction flag before jumping to OS.
25303 (grub_multiboot2_real_boot): Likewise.
25304
2ddd36d7 253052009-07-28 Felix Zielcke <fzielcke@z-51.de>
25306
25307 * util/i386/pc/grub-install: Fix parsing of --disk-module
25308 option.
25309
c521b62b 253102009-07-28 Felix Zielcke <fzielcke@z-51.de>
25311
25312 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
25313 when embedding.
25314
880e0a0c 253152009-07-26 Felix Zielcke <fzielcke@z-51.de>
25316
25317 * util/grub-mkconfig.in (package_version): New variable.
25318 Use it do display the version.
25319
2366e356 253202009-07-25 Felix Zielcke <fzielcke@z-51.de>
25321
25322 * kern/file.c (grub_file_open): Revert to previous check with
25323 grub_errno.
25324
7ad8c80e 253252009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
25326
25327 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
25328 from help line. It's out of sync with code.
25329
72b9658b 253302009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
25331
25332 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
25333 entries on failed boot.
25334
77435277 253352009-07-25 Felix Zielcke <fzielcke@z-51.de>
25336
25337 * kern/file.c (grub_file_open): Fix an error check.
25338
fcaa8b21 253392009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
25340
35d16c74 25341 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
25342 partition map couldn't be identified.
fcaa8b21 25343
48904cd1 253442009-07-23 Pavel Roskin <proski@gnu.org>
25345
ef3c317f 25346 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
25347 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
25348 case of little endian words becomes just an optimization.
25349 Respect const modifier.
ad8ea1f4 25350 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 25351
48904cd1 25352 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
25353 to avoid loss of upper bits if align is unsigned and shorter
25354 than addr.
25355
260c9a89 253562009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
25357
25358 UUID support for UFS
25359
25360 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
25361 (grub_ufs_uuid): New function.
25362 (grub_ufs_fs): add .uuid
25363
f76ce889 253642009-07-21 Pavel Roskin <proski@gnu.org>
25365
25366 * kern/dl.c (grub_dl_check_header): Make static.
25367
6a6cbcaf 253682009-07-21 Felix Zielcke <fzielcke@z-51.de>
25369
25370 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
25371 add drivemap for Vista. It breaks Windows 7.
25372
cffcddb2 253732009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
25374
25375 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
25376 128 bytes
25377
1ef44b80 253782009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25379
25380 Add BFS support
25381
25382 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
25383 (grub_fstest_SOURCES): Likewise.
25384 (pkglib_MODULES): Add befs.mod.
25385 (befs_mod_SOURCES): New variable.
25386 (befs_mod_CFLAGS): Likewise.
25387 (befs_mod_LDFLAGS): Likewise.
25388 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25389 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25390 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25391 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25392 (grub_setup_SOURCES): Likewise.
25393 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25394 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25395 (grub_setup_SOURCES): Likewise.
25396 * fs/befs.c: New file.
25397 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
25398 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
25399 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
25400 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
25401 (B_KEY_INDEX_ALIGN): New declaration.
25402 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
25403 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
25404 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
25405 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
25406 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
25407 (grub_afs_mount) [MODE_BFS]: Likewise.
25408 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
25409 (grub_afs_fs): Use GRUB_AFS_FSNAME
25410 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
25411 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
25412 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
25413 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
25414
4f253044 254152009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
25416
25417 * util/getroot.c (find_root_device): Add support for MacOSX.
25418 * util/hostdisk.c: Likewise.
25419
57a55913 254202009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25421
25422 * font/font.c (find_glyph): Check whether a font is present to avoid
25423 segmentation fault.
75421ca9 25424
254252009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 25426
25427 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
25428
e98cd0c2 254292009-07-20 Pavel Roskin <proski@gnu.org>
25430
25431 * configure.ac: Trim excessively wordy excuses.
25432
1d2d169a 254332009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25434
25435 Add symlink, mtime and label support to AtheFS.
25436
25437 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
25438 (grub_afs_iterate_dir): Handle symlinks.
25439 (grub_afs_open): Use grub_afs_read_symlink.
25440 (grub_afs_dir): Likewise.
25441 Pass mtime.
25442 (grub_afs_label): New function.
25443 (grub_afs_fs): Add grub_afs_label.
25444 (grub_afs_read_symlink): New function.
25445
186f3189 254462009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25447
25448 Fix AtheFS support.
25449
25450 * fs/afs.c: Fix comments style.
25451 (grub_afs_blockrun): Declare as packed.
25452 (grub_afs_datastream): Likewise.
25453 (grub_afs_bnode): Likewise.
25454 (grub_afs_btree): Likewise.
25455 (grub_afs_sblock): Likewise.
25456 Declare `name' as char.
25457 (grub_afs_inode): Declare as packed.
25458 Change void *vnode to grub_uint32_t unused.
25459 (grub_afs_iterate_dir): Check that key_size is positive.
25460 (grub_afs_mount): Don't read superblock twice.
75421ca9 25461 (grub_afs_dir): Don't free node in case of error,
186f3189 25462 grub_fshelp_find_file already handles this.
25463 (grub_afs_open): Likewise.
25464
5680109e 254652009-07-19 Pavel Roskin <proski@gnu.org>
25466
25467 * Makefile.in: Remove LIBLZO and enable_lzo.
25468 * conf/i386-pc.rmk: Remove lzo support.
25469 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
25470 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
25471 support.
25472 * kern/i386/pc/lzo1x.S: Remove.
25473 * kern/i386/pc/startup.S: Remove lzo support.
25474 * util/i386/pc/grub-mkimage.c: Likewise.
25475
ac70fa32 254762009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
25477
25478 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
25479 * fs/xfs.c (grub_xfs_dir): Likewise.
25480 * fs/afs.c (grub_afs_dir): Likewise.
25481 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
25482 (grub_iso9660_open): Likewise.
25483 * fs/jfs.c (grub_jfs_open): Likewise.
25484 * fs/ext2.c (grub_ext2_dir): Likewise.
25485 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
25486 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 25487
eab58da2 254882009-07-16 Pavel Roskin <proski@gnu.org>
25489
d2838156 25490 * configure.ac: Never add "-c" to CFLAGS.
25491
55c70904 25492 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
25493
43e6200c 25494 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
25495 grub_cv_cc_efiemu should be used.
25496
ce7a733d 25497 * configure.ac: Typo fixes.
25498
eab58da2 25499 * kern/mm.c (grub_zalloc): New function.
25500 (grub_debug_zalloc): Likewise.
25501 * include/grub/mm.h: Declare grub_zalloc() and
25502 grub_debug_zalloc().
25503 * util/misc.c (grub_zalloc): New function.
25504 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
25505 instead of grub_malloc(), remove unneeded initializations.
25506 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
25507 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
25508 * commands/parttool.c (grub_cmd_parttool): Likewise.
25509 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
25510 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
25511 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
25512 * disk/usbms.c (grub_usbms_finddevs): Likewise.
25513 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
25514 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
25515 (grub_cmd_efiemu_pnvram): Likewise.
25516 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
25517 * fs/iso9660.c (grub_iso9660_mount): Likewise.
25518 (grub_iso9660_iterate_dir): Likewise.
25519 * fs/jfs.c (grub_jfs_opendir): Likewise.
25520 * fs/ntfs.c (list_file): Likewise.
25521 (grub_ntfs_mount): Likewise.
25522 * kern/disk.c (grub_disk_open): Likewise.
25523 * kern/dl.c (grub_dl_load_core): Likewise.
25524 * kern/elf.c (grub_elf_file): Likewise.
25525 * kern/env.c (grub_env_context_open): Likewise.
25526 (grub_env_set): Likewise.
25527 (grub_env_set_data_slot): Likewise.
25528 * kern/file.c (grub_file_open): Likewise.
25529 * kern/fs.c (grub_fs_blocklist_open): Likewise.
25530 * loader/i386/multiboot.c (grub_module): Likewise.
25531 * loader/xnu.c (grub_xnu_create_key): Likewise.
25532 (grub_xnu_create_value): Likewise.
25533 * normal/main.c (grub_normal_add_menu_entry): Likewise.
25534 (read_config_file): Likewise.
25535 * normal/menu_entry.c (make_screen): Likewise.
25536 * partmap/sun.c (sun_partition_map_iterate): Likewise.
25537 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
25538 * script/sh/script.c (grub_script_parse): Likewise.
25539 * video/bitmap.c (grub_video_bitmap_create): Likewise.
25540 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
25541 * video/readers/png.c (grub_png_output_byte): Likewise.
25542 (grub_video_reader_png): Likewise.
25543
830afef7 255442009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 25545
25546 Enable all targets that can be built by default
25547
830afef7 25548 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 25549 grub-mkfont and grub-fstest if they can be built
25550
ee293aee 255512009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25552
25553 Fix hang and segmentation fault in grub-emu-usb
25554
25555 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
25556 * util/usb.c (grub_libusb_devices): likewise
25557 (grub_libusb_init): rename to ...
25558 (GRUB_MOD_INIT (libusb)):...this
25559 (grub_libusb_fini): rename to ..
25560 (GRUB_MOD_FINI (libusb)):...this
25561 * disk/usbms.c (grub_usbms_transfer): fix retry logic
25562 * include/grub/disk.h (grub_raid_init): removed, it's useless
25563 (grub_raid_fini): likewise
25564 (grub_lvm_init): likewise
25565 (grub_lvm_fini): likewise
25566 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
25567 by grub_init_all
25568
94414221 255692009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25570
25571 Fix libusb
25572
25573 * Makefile.in (LIBUSB): new macro
25574 * genmk.rb (Utility/print_tail): new method
25575 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
25576 (top level): call util.print_tail at the end.
25577
59ade63d 255782009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25579
25580 Make FreeBSD accept zpool.cache
25581
25582 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
25583 type is /boot/zfs/zpool.cache
25584
a58da8c7 255852009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25586
25587 Fix 64-bit efiemu
25588
25589 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
25590 correct wrong typedef
25591 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
25592
20591577 255932009-07-15 Pavel Roskin <proski@gnu.org>
25594
560ca572 25595 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
25596 * kern/disk.c (struct grub_disk_cache): Likewise.
25597
e8e8e4fd 25598 * commands/probe.c (options): Typo fix.
25599
fde24e10 25600 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
25601 Increase to 0x5a to accommodate FAT32. Adjust other offsets
25602 accordingly.
25603 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
25604
379c54c1 25605 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
25606 the end of "Error" to make the message more readable.
25607
7bd8f5bf 25608 * boot/i386/pc/boot.S (kernel_segment): Remove.
25609 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
25610 for destination.
25611
40b132c5 25612 * boot/i386/pc/boot.S (boot_version): Remove.
25613 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
25614 Remove.
25615
20591577 25616 * include/grub/i386/pc/boot.h: Sort all offsets.
25617 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
25618 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
25619 * boot/i386/pc/boot.S: Assert location of every offset listed in
25620 include/grub/i386/pc/boot.h.
25621
2df32b2c 256222009-07-13 Pavel Roskin <proski@gnu.org>
25623
44b5d879 25624 * include/grub/i386/coreboot/machine.h: Rename
25625 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
25626 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
25627 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
25628
17dc3751 25629 * kern/dl.c: Force native word size to suppress warnings when
25630 compiling grub-emu.
25631
2df32b2c 25632 * kern/device.c (grub_device_iterate): Change struct part_ent to
25633 hold the name, not a pointer to it. Use one grub_malloc() per
25634 partition, not two. Free partition_name if grub_malloc() fails.
25635 Set ents to NULL only before grub_partition_iterate() is called.
25636
75c59f59 256372009-07-11 Bean <bean123ch@gmail.com>
25638
25639 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
25640 childname.
25641
0ae1bf88 256422009-07-10 Bean <bean123ch@gmail.com>
256432009-07-10 Robert Millan <rmh.grub@aybabtu.com>
25644
25645 * kern/ieee1275/openfw.c (grub_children_iterate)
25646 (grub_devalias_iterate): Fix size evaluation for property or path
25647 strings, which was broken since r2132.
25648
8279cade 256492009-07-07 Pavel Roskin <proski@gnu.org>
25650
7d8a52d3 25651 * commands/search.c (search_file): Merge into ...
25652 (search_fs): ... this. Accept search type as argument.
25653 (grub_cmd_search): Pass search type to search_fs().
25654
25f9a05a 25655 * include/grub/util/console.h: New file.
25656 * util/console.c: Use it instead of grub/machine/console.h.
25657 * util/grub-emu.c: Likewise.
25658
8279cade 25659 * lib/arg.c (find_long_option): Remove.
25660 (find_long): Add `len' argument, make `s' const char *.
25661 (grub_arg_parse): Parse long options in place, not in a
25662 temporary buffer.
25663
4a11b60f 256642009-07-06 Pavel Roskin <proski@gnu.org>
25665
99f68041 25666 * commands/search.c (search_fs): Fix potential NULL pointer
25667 dereference.
25668
4a11b60f 25669 * commands/search.c (search_fs): Replace QUID macro with quid_fn
25670 function pointer.
25671
e110f4de 256722009-07-06 Daniel Mierswa <impulze@impulze.org>
25673
25674 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
25675 comparison.
25676
46eeb6a2 256772009-07-05 Pavel Roskin <proski@gnu.org>
25678
bab74958 25679 * include/grub/i386/linux.h (struct linux_kernel_params):
25680 Restore padding3, it's still needed.
25681
46eeb6a2 25682 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
25683 FreeBSD.
25684 * util/osdetect.lua: Likewise.
25685
b4a1dc79 256862009-07-05 Bean <bean123ch@gmail.com>
25687
25688 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
25689
25690 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
25691 (grub_lua_getenv): Likewise.
25692 (grub_lua_setenv): Likewise.
25693 (save_errno): New function.
25694 (push_result): Likewise.
25695 (grub_lua_enum_device): Likewise.
25696 (grub_lua_enum_file): Likewise.
25697 (grub_lua_file_open): Likewise.
25698 (grub_lua_file_close): Likewise.
25699 (grub_lua_file_seek): Likewise.
25700 (grub_lua_file_read): Likewise.
25701 (grub_lua_file_getline): Likewise.
25702 (grub_lua_file_getsize): Likewise.
25703 (grub_lua_file_getpos): Likewise.
25704 (grub_lua_file_eof): Likewise.
25705 (grub_lua_file_exist): Likewise.
25706 (grub_lua_add_menu): Likewise.
25707
25708 * script/lua/grub_lua.h (isupper): New inline function.
25709 (islower): Likewise.
25710 (ispunct): Likewise.
25711 (isxdigit): Likewise.
25712 (strcspn): Change to normal function.
25713 (strpbkr): New function declaration.
25714 (memchr): Likewise.
25715
25716 * script/lua/grub_main.c (scan_str): New function.
25717 (strcspn): Likewise.
25718 (strpbrk): Likewise.
25719 (memchr): Likewise.
25720
25721 * script/lua/linit.c (lualibs): Enable the string library.
25722
25723 * util/osdetect.lua: New file.
25724
2da92295 257252009-07-04 Robert Millan <rmh.grub@aybabtu.com>
25726
25727 * include/grub/i386/linux.h (struct linux_kernel_params): Add
25728 `capabilities' member.
25729
b2582ec9 257302009-07-02 Pavel Roskin <proski@gnu.org>
25731
25732 * genparttoollist.sh: Add missing newline at the end.
25733
32622956 257342009-07-01 Pavel Roskin <proski@gnu.org>
25735
87a7339e 25736 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
25737
d23af54e 25738 * util/hostdisk.c (open_device): Remove `const' from
25739 `sysctl_size', as sysctlbyname() can change it (in this case it
25740 doesn't actually happen).
25741
c94b18a9 25742 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
25743 using signed long int constants.
25744
c6cd3ef0 25745 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
25746 constant to avoid a warning on FreeBSD.
25747
0df63420 25748 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
25749 where it's needed.
25750
999577f1 25751 * Makefile.in: Install include/grub/machine symlink.
25752
6f41557f 25753 * Makefile.in: When installing symlinks, use "cp -fR", which
25754 works on FreeBSD and MacOSX.
25755 From Yves Blusseau <cl7m42e02@sneakemail.com>
25756
c8d22988 25757 * kern/dl.c (grub_dl_resolve_symbol): Make static.
25758 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
25759
1b96e952 25760 * util/misc.c: Move grub_reboot() and grub_halt() ...
25761 * util/grub-emu.c: ... here. Make main_env static.
25762 * include/grub/util/misc.h: Remove main_env.
25763
2ef0084d 25764 * kern/mm.c: Use correct format to print size_t.
25765
32622956 25766 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
25767 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
25768 * kern/powerpc/dl.c: Likewise.
25769 * kern/sparc64/dl.c: Likewise.
25770 * kern/x86_64/dl.c: Likewise.
25771
3f7f0cd0 257722009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25773
25774 Fix grub-emu build on sparc64-ieee1275.
25775
75421ca9 25776 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 25777 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
25778
211d06b5 257792009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25780
25781 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
25782 (grub_reboot, grub_halt): New functions.
25783
25784 * util/i386/pc/misc.c: Delete. Update all users.
25785 * util/sparc64/ieee1275/misc.c: Likewise.
25786 * util/powerpc/ieee1275/misc.c: Likewise.
25787
aaf53e3c 257882009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25789
25790 * conf/i386.rmk (setjmp_mod_SOURCES)
25791 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
25792 * conf/common.rmk (setjmp_mod_SOURCES)
25793 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
25794 to use $(target_cpu).
25795 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
25796 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
25797 * conf/powerpc-ieee1275.rmk: Likewise.
25798 * conf/sparc64-ieee1275.rmk: Likewise.
25799
25800 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
25801 $(target_cpu) for kern/$(target_cpu)/dl.c.
25802 * conf/i386-efi.rmk: Likewise.
25803 * conf/i386-ieee1275.rmk: Likewise.
25804 * conf/x86_64-efi.rmk: Likewise.
25805 * conf/i386-coreboot.rmk: Likewise.
25806 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
25807 $(target_cpu) for kern/$(target_cpu)/dl.c and for
25808 kern/$(target_cpu)/cache.S.
25809 * conf/sparc64-ieee1275.rmk: Likewise.
25810
a337130b 258112009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25812
25813 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
25814 type to `grub_uint8_t', and adjust `padding9' accordingly.
25815
c6fe4d53 258162009-06-29 Robert Millan <rmh.grub@aybabtu.com>
25817
b09db61d 25818 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
25819
c6fe4d53 25820 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
25821 assembly in final jump, using register constraints.
25822
b09db61d 25823 (grub_linux_boot): For text mode, initialize `have_vga' using
25824 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
25825
25826 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
25827 right before the final jump.
25828
25829 Set `video_mode' to 0x3.
25830
25831 Document initialization of `video_page', `video_mode' and
25832 `video_ega_bx'.
25833
28333ad0 258342009-06-29 Robert Millan <rmh.grub@aybabtu.com>
25835
25836 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
25837 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 25838 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 25839
02164e1b 258402009-06-29 Robert Millan <rmh.grub@aybabtu.com>
25841
25842 Fix build on Debian / sparc.
25843
25844 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
25845
18b6c557 258462009-06-28 Pavel Roskin <proski@gnu.org>
25847
85f2aab6 25848 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
25849 fix a warning.
25850
18b6c557 25851 * util/grub.d/10_linux.in: Match SUSE style initrd names.
25852
ad760f81 258532009-06-27 Robert Millan <rmh.grub@aybabtu.com>
25854
25855 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
25856 `err'.
25857
87a4623b 258582009-06-27 Robert Millan <rmh.grub@aybabtu.com>
25859
25860 Revert r2338.
25861
25862 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
25863 file can't be opened. grub_file_open() is already supposed to set
75421ca9 25864 grub_errno / grub_errmsg appropriately.
87a4623b 25865 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25866
8231fb77 258672009-06-27 Pavel Roskin <proski@gnu.org>
258682009-06-27 Robert Millan <rmh.grub@aybabtu.com>
25869
25870 * include/grub/dl.h: Include grub/elf.h.
25871 (struct grub_dl): Add symtab field.
25872 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
25873 GRUB_MODULES_MACHINE_READONLY.
25874 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
25875 of the header for read-only modules.
25876 (grub_dl_unload): Free mod->symtab for read-only modules.
25877 * kern/i386/dl.c: Use mod->symtab.
25878 * kern/powerpc/dl.c: Likewise.
25879 * kern/sparc64/dl.c: Likewise.
25880 * kern/x86_64/dl.c: Likewise.
25881
25882 * conf/i386-qemu.rmk: New file.
25883 * kern/i386/qemu/startup.S: Likewise.
25884 * kern/i386/qemu/mmap.c: Likewise.
25885 * boot/i386/qemu/boot.S: Likewise.
25886 * include/grub/i386/qemu/time.h: Likewise.
25887 * include/grub/i386/qemu/serial.h: Likewise.
25888 * include/grub/i386/qemu/kernel.h: Likewise.
25889 * include/grub/i386/qemu/console.h: Likewise.
25890 * include/grub/i386/qemu/boot.h: Likewise.
25891 * include/grub/i386/qemu/init.h: Likewise.
25892 * include/grub/i386/qemu/machine.h: Likewise.
25893 * include/grub/i386/qemu/loader.h: Likewise.
25894 * include/grub/i386/qemu/memory.h: Likewise.
25895
25896 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
25897 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
25898 [qemu] (pkglib_IMAGES): Add `boot.img'.
25899 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
25900 [qemu] (boot_img_FORMAT): New variables.
25901 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
25902 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
25903 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
25904 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25905 [qemu] (kernel_img_FORMAT): New variables.
25906
25907 * configure.ac: Recognise `i386-qemu'.
25908
25909 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
25910 (for no compression).
25911 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
25912 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
25913 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
25914 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
25915 ifdefs).
25916
97fe384e 259172009-06-27 Pavel Roskin <proski@gnu.org>
25918
25919 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
25920 read.
25921 * efiemu/prepare32.c: Likewise.
25922 * efiemu/prepare64.c: Likewise.
25923
c402ab17 259242009-06-26 Pavel Roskin <proski@gnu.org>
25925
25926 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
25927 * include/grub/elf.h: Define symbols without "32" or "64" based
25928 on GRUB_TARGET_WORDSIZE.
25929 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
25930 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
25931 ELF definitions.
25932 * efiemu/loadcore64.c: Likewise.
25933 * loader/i386/bsd32.c: Likewise.
25934 * loader/i386/bsd64.c: Likewise.
25935 * kern/dl.c: Remove own ELF definitions.
25936 * util/i386/efi/grub-mkimage.c: Likewise.
25937
9bbdfd4d 259382009-06-23 Robert Millan <rmh.grub@aybabtu.com>
25939
25940 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
25941 segment 0x0 unconditionally, because the reference generated by
25942 GAS is an absolute address.
25943
a42ce6e9 259442009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25945
25946 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
25947 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
25948
c952cf92 259492009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25950
25951 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
25952 indexes. Check for -f explicitly.
cc3752ad 25953 (search_file): Improve error message.
25954 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 25955
132a0a59 259562009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25957
25958 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
25959 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
25960
387a140c 259612009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25962
25963 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
25964 * conf/i386-ieee1275.rmk: Likewise.
25965 * conf/i386-coreboot.rmk: Likewise.
25966
25967 * kern/i386/pc/startup.S (grub_stop): Remove function.
25968 * kern/i386/ieee1275/startup.S: Likewise.
25969 * kern/i386/coreboot/startup.S: Likewise.
25970 * kern/i386/misc.S (grub_stop): New function.
25971
41da9665 259722009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25973
25974 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
25975 * kern/i386/realmode.S (real_to_prot): ... to here.
25976
bf337234 259772009-06-22 Robert Millan <rmh.grub@aybabtu.com>
25978
25979 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
25980 with `kernel.img'.
25981 (kernel_elf_SOURCES): Rename to ...
25982 (kernel_img_SOURCES): ... this.
25983 (kernel_elf_HEADERS): Rename to ...
25984 (kernel_img_HEADERS): ... this. Update all users.
25985 (kernel_elf_ASFLAGS): Rename to ...
25986 (kernel_img_ASFLAGS): ... this.
25987 (kernel_elf_CFLAGS): Rename to ...
25988 (kernel_img_CFLAGS): ... this.
25989 (kernel_elf_LDFLAGS): Rename to ...
25990 (kernel_img_LDFLAGS): ... this.
25991 * conf/i386-coreboot.rmk: Likewise.
25992 * conf/powerpc-ieee1275.rmk: Likewise.
25993
25994 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
25995 with "kernel.img".
25996
f52196ff 259972009-06-21 Pavel Roskin <proski@gnu.org>
25998
c3cee413 25999 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
26000 to match nested functions.
26001 * loader/sparc64/ieee1275/linux.c: Likewise.
26002
f52196ff 26003 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
26004
58750afc 260052009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26006
26007 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
26008 all i386 platforms.
26009
15355c7d 260102009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26011
26012 Fix asm file handling on ELF, and remove workarounds.
26013
26014 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 26015 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 26016 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
26017 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
26018
3f3ec72b 260192009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
26020
26021 Load BSD ELF modules
26022
26023 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
26024 and loader/i386/bsd64.c
26025 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
26026 (FREEBSD_MODTYPE_ELF_MODULE): New definition
26027 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
26028 (grub_freebsd_load_elfmodule32): New declaration
26029 (grub_freebsd_load_elfmoduleobj64): Likewise
26030 (grub_freebsd_load_elf_meta32): Likewise
26031 (grub_freebsd_load_elf_meta64): Likewise
26032 (grub_freebsd_add_meta): Likewise
26033 (grub_freebsd_add_meta_module): Likewise
26034 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
26035 (grub_freebsd_add_meta_module): Likewise and move module-specific
26036 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
26037 (grub_cmd_freebsd): Add elf-kernel specific parts
26038 based on grub_freebsd_add_meta_module
26039 (grub_cmd_freebsd_module): Add type parsing moved from
26040 grub_freebsd_add_meta_module
26041 (grub_cmd_freebsd_module_elf): New function
26042 (cmd_freebsd_module_elf): New variable
26043 (GRUB_MOD_INIT): Register freebsd_module_elf
26044 * loader/i386/bsd32.c: New file
26045 * loader/i386/bsd64.c: Likewise
26046 * loader/i386/bsdXX.c: Likewise
26047 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
26048 (grub_elf64_load): Likewise
26049 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
26050 All users updated
26051 (grub_elf64_load_hook_t): Likewise
26052
0db15301 260532009-06-21 Colin Watson <cjwatson@ubuntu.com>
26054
26055 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
26056 variable.
26057 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
26058 don't write a menu entry for recovery mode.
26059
546796c1 260602009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26061
26062 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
26063 after it's no longer needed.
26064
cd7310d5 260652009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26066
26067 * include/grub/i386/loader.h (grub_linux_prot_size)
26068 (grub_linux_tmp_addr, grub_linux_real_addr)
26069 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
26070 GRUB_MACHINE_PCBIOS.
26071 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
26072 common grub_util_info() call to ...
26073 (generate_image): ... here.
26074 Fix use of uninitialized memory, comparison of signed with
26075 unsigned integers and memory leak.
26076 Remove bogus module address message.
26077
ab32d3b5 260782009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26079
26080 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
26081 grub_raid_register
26082 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
26083
024ef597 260842009-06-19 Pavel Roskin <proski@gnu.org>
26085
26086 * configure.ac: Remove stray AC_MSG_CHECKING.
26087
3ac72b51 260882009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
26089
26090 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 26091
e14cd814 260922009-06-18 Pavel Roskin <proski@gnu.org>
26093
26094 * conf/common.rmk: Add fs_file.mod.
26095 * disk/fs_file.c: New file.
26096 * include/grub/disk.h (enum grub_disk_dev_id): Add
26097 GRUB_DISK_DEVICE_FILE_ID.
26098
26586d98 260992009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26100
26101 Fix build with Apple's toolchain. Part 2
26102
26103 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
26104 a fake start
26105
26de2bcd 261062009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26107
26108 Fix build with Apple's toolchain. Part 1
26109
26110 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
26111 for long calls
26112 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 26113 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 26114 Apple's toolchain
26115
09b3490b 261162009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26117
26118 Fix warnings
26119
26120 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
26121 (decomp_block): initialize ch
26122 use grub_memcpy instead of memcpy
26123
c22a006a 261242009-06-17 Pavel Roskin <proski@gnu.org>
26125
d3638678 26126 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
26127 version, use declarations needed to use vga_text as the startup
26128 console.
26129
c22a006a 26130 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
26131 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
26132 the kernel.
26133 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
26134 and grub_at_keyboard_fini(), it's done on module load and
26135 unload.
26136
05b129e0 261372009-06-17 Felix Zielcke <fzielcke@z-51.de>
26138
26139 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
26140 file can't be found.
26141 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26142
cf24ed9e 261432009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26144
26145 Fix newline handling
26146
26147 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 26148 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 26149 (grub_script_yylex): don't segfault on unterminated script
26150 newline terminates command and variable
26151
74aa8e4b 261522009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26153
26154 avoid double grub_adjust_range call. Bug reported by David Simner
26155
26156 * kern/disk.c (grub_disk_write): change to raw disk access before
26157 calling disk_read
26158
1bd265f3 261592009-06-17 Colin Watson <cjwatson@ubuntu.com>
26160
26161 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
26162 spaces, for the benefit of help2man.
26163 * util/i386/efi/grub-mkimage.c (usage): Likewise.
26164
a2d08c06 261652009-06-16 Pavel Roskin <proski@gnu.org>
26166
26167 * kern/i386/halt.c: Include grub/machine/init.h.
26168 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
26169
b97bcb19 261702009-06-16 Felix Zielcke <fzielcke@z-51.de>
26171
26172 * util/grub.d/30_os-prober.in: Use ${root} in the generated
26173 drivemap menuentry.
26174
0644f96c 261752009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
26176
26177 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
26178 `echo' command.
26179
3ef17a2e 261802009-06-16 Pavel Roskin <proski@gnu.org>
26181
26182 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
26183 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
26184 save %dx, we only need %dl and we never change it.
26185 * boot/i386/pc/cdboot.S: Don't set the root drive.
26186 * boot/i386/pc/pxeboot.S: Likewise.
26187 * include/grub/i386/pc/boot.h: Remove
26188 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
26189 GRUB_BOOT_MACHINE_DRIVE_CHECK.
26190 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
26191 * kern/i386/pc/init.c (make_install_device): Remove references
26192 to grub_root_drive.
26193 * kern/i386/pc/startup.S: Likewise.
26194 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
26195
693fe637 261962009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
26197
26198 xnu_uuid command
26199
26200 * commands/xnu_uuid.c: new file
26201 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
26202 (xnu_uuid_mod_SOURCES): new variable
26203 (xnu_uuid_mod_CFLAGS): likewise
26204 (xnu_uuid_mod_LDFLAGS): likewise
26205 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
26206 * conf/i386-ieee1275.rmk: likewise
26207 * conf/i386-pc.rmk: likewise
26208 * conf/powerpc-ieee1275.rmk: likewise
26209 * conf/sparc64-ieee1275.rmk: likewise
26210 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
26211
c9da87d0 262122009-06-16 Pavel Roskin <proski@gnu.org>
26213
26214 * configure.ac: Avoid '==' in test command, it's not portable.
26215
9c6f4596 262162009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
26217
26218 Probe command
26219
26220 * commands/probe.c: new file
26221 * conf/common.rmk (pkglib_MODULES): add probe.mod
26222 (probe_mod_SOURCES): new variable
26223 (probe_mod_CFLAGS): likewise
26224 (probe_mod_LDFLAGS): likewise
26225 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
26226 * conf/i386-ieee1275.rmk: likewise
26227 * conf/i386-pc.rmk: likewise
26228 * conf/powerpc-ieee1275.rmk: likewise
26229 * conf/sparc64-ieee1275.rmk: likewise
26230
70b7f9fd 262312009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
26232
26233 Fix handling of string like \"hello\" and "a
26234 b"
26235
26236 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
26237 (grub_script_yylex): fix parsing of quoting, escaping and newline
26238
71c79a6b 262392009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
26240
dd74360c 26241 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 26242 handling
dd74360c 26243
0644f96c 262442009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 26245
26246 * util/grub-mkconfig.in: Fix parsing of --output option.
26247
e40893c3 262482009-06-12 Pavel Roskin <proski@gnu.org>
26249
26250 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
26251 genmk.rb don't need to be generated or installed.
26252
3a1acfe2 262532009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26254
26255 * commands/i386/pc/drivemap_int13h.S: add more comments
26256
3a4575d4 262572009-06-11 Pavel Roskin <proski@gnu.org>
26258
0658e928 26259 * Makefile.in (uninstall): Uninstall manuals.
26260
ca0388f0 26261 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
26262 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
26263 and update-grub_lib in two places.
26264 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
26265
e3b27c39 26266 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
26267 a compiler warning.
26268
3a4575d4 26269 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
26270 `entry_lo' to fix variable shadowing.
26271
af1f4f55 262722009-06-11 Christian Franke <franke@computer.org>
26273
26274 * kern/misc.c (__enable_execute_stack): Add missing return type
26275 to prevent gcc warning.
26276
5225e649 262772009-06-11 Felix Zielcke <fzielcke@z-51.de>
26278
26279 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
26280
7d83bd47 262812009-06-11 Pavel Roskin <proski@gnu.org>
26282
c1cb63ba 26283 * Makefile.in: Don't rely on any scripts being executable.
26284 Always use $(SHELL) to run shell scripts.
26285
7d83bd47 26286 * configure.ac: Always define ___main if using -nostdlib. This
26287 fixes tests on Cygwin.
26288
948f48e7 262892009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
26290
26291 UDF fix
26292
7d83bd47 26293 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 26294 is in bytes and not in blocks
7d83bd47 26295
8ada9bc1 262962009-06-11 Pavel Roskin <proski@gnu.org>
26297
26298 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
26299 warning.
26300
25ad2323 263012009-06-11 Felix Zielcke <fzielcke@z-51.de>
26302
26303 * util/grub.d/30_os-prober.in: Fix a comment. Source
26304 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
26305 to set the root device. Place drivemap command in the generated
26306 chain entry.
26307
e65acb0c 263082009-06-11 Pavel Roskin <proski@gnu.org>
26309
26310 * configure.ac: Remove host_m32. Issues with 64-bit utilities
26311 have long been resolved.
26312
f285fe2d 263132009-06-11 Colin Watson <cjwatson@ubuntu.com>
26314
bd47b0b5 26315 * util/grub.d/10_linux.in: Capitalise "Linux".
26316
f285fe2d 26317 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
26318
a0c62e4e 263192009-06-11 Pavel Roskin <proski@gnu.org>
26320
b6783cb2 26321 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
26322 fix a gcc warning and ensure that the function won't ever exit.
26323
dde032e8 26324 * kern/i386/ieee1275/init.c: Add missing prototype for
26325 grub_stop_floppy().
26326
22cd079d 26327 * loader/ieee1275/multiboot2.c [__i386__]: Include
26328 grub/cpu/multiboot.h.
26329
a0c62e4e 26330 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
26331 casts to short - they are not portable and cause warnings. Fix
26332 use of uninitialized values in input_buf. Use ARRAY_SIZE.
26333
63963d17 263342009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
26335
26336 Drivemap fixes
26337
26338 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
26339 new function
26340 (grub_get_root_biosnumber_saved): new variable
26341 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
26342 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 26343 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 26344 %dx after the call if necessary
26345 * conf/common.rmk (pkglib_MODULES): remove boot.mod
26346 (boot_mod_SOURCES): remove
26347 (boot_mod_CFLAGS): remove
26348 (boot_mod_LDFLAGS): remove
26349 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
26350 (boot_mod_SOURCES): new variable
26351 (boot_mod_CFLAGS): likewise
26352 (boot_mod_LDFLAGS): likewise
26353 * conf/i386-efi.rmk: likewise
26354 * conf/i386-ieee1275.rmk: likewise
26355 * conf/i386-pc.rmk: likewise
26356 * conf/powerpc-ieee1275.rmk: likewise
26357 * conf/sparc64-ieee1275.rmk: likewise
26358 * conf/x86_64-efi.rmk: likewise
26359 * include/grub/i386/pc/biosnum.h: new file
26360 * lib/i386/pc/biosnum.c: likewise
26361 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
26362 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
26363 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 26364
33abf7ae 263652009-06-10 Pavel Roskin <proski@gnu.org>
26366
5ac35b35 26367 * io/gzio.c (test_header): Don't reuse one buffer for all data.
26368 Use separate variables. Read only the file size at the end, but
26369 not the checksum that we don't use.
26370
5c5215d5 26371 * kern/file.c (grub_file_read): Use void pointer for the buffer.
26372 Adjust all callers.
26373
27d5fef7 26374 * kern/ieee1275/openfw.c: Remove libc includes.
26375 * kern/ieee1275/cmain.c: Likewise.
26376 * include/grub/ieee1275/ieee1275.h: Likewise.
26377
33abf7ae 26378 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
26379 compiler warnings.
26380
19d50c2b 263812009-06-10 Felix Zielcke <fzielcke@z-51.de>
26382
26383 * Makefile.in: Remove all trailing whitespace.
26384 * conf/i386-pc.rmk: Likewise.
26385 * conf/powerpc-ieee1275.rmk: Likewise.
26386 * conf/sparc64-ieee1275.rmk: Likewise.
26387 * docs/grub.texi: Likewise.
26388 * docs/texinfo.tex: Likewise.
26389 * disk/fs_uuid.c: Likewise.
26390 * disk/lvm.c: Likewise.
26391 * disk/scsi.c: Likewise.
26392 * disk/ata.c: Likewise.
26393 * disk/ieee1275/ofdisk.c: Likewise.
26394 * disk/i386/pc/biosdisk.c: Likewise.
26395 * disk/host.c: Likewise.
26396 * disk/raid.c: Likewise.
26397 * disk/efi/efidisk.c: Likewise.
26398 * disk/usbms.c: Likewise.
26399 * disk/memdisk.c: Likewise.
26400 * disk/loopback.c: Likewise.
26401 * kern/powerpc/dl.c: Likewise.
26402 * kern/device.c: Likewise.
26403 * kern/dl.c: Likewise.
26404 * kern/sparc64/dl.c: Likewise.
26405 * kern/ieee1275/ieee1275.c: Likewise.
26406 * kern/term.c: Likewise.
26407 * kern/fs.c: Likewise.
26408 * kern/i386/dl.c: Likewise.
26409 * kern/i386/pc/startup.S: Likewise.
26410 * kern/i386/pc/init.c: Likewise.
26411 * kern/i386/pc/mmap.c: Likewise.
26412 * kern/i386/pc/lzo1x.S: Likewise.
26413 * kern/i386/ieee1275/init.c: Likewise.
26414 * kern/i386/realmode.S: Likewise.
26415 * kern/i386/tsc.c: Likewise.
26416 * kern/partition.c: Likewise.
26417 * kern/corecmd.c: Likewise.
26418 * kern/file.c: Likewise.
26419 * kern/efi/efi.c: Likewise.
26420 * kern/efi/init.c: Likewise.
26421 * kern/efi/mm.c: Likewise.
26422 * kern/main.c: Likewise.
26423 * kern/err.c: Likewise.
26424 * kern/env.c: Likewise.
26425 * kern/disk.c: Likewise.
26426 * kern/generic/millisleep.c: Likewise.
26427 * kern/generic/rtc_get_time_ms.c: Likewise.
26428 * kern/misc.c: Likewise.
26429 * kern/parser.c: Likewise.
26430 * genmk.rb: Likewise.
26431 * configure.ac: Likewise.
26432 * boot/i386/pc/diskboot.S: Likewise.
26433 * boot/i386/pc/pxeboot.S: Likewise.
26434 * boot/i386/pc/boot.S: Likewise.
26435 * boot/i386/pc/lnxboot.S: Likewise.
26436 * boot/i386/pc/cdboot.S: Likewise.
26437 * parttool/pcpart.c: Likewise.
26438 * video/readers/tga.c: Likewise.
26439 * video/video.c: Likewise.
26440 * video/bitmap.c: Likewise.
26441 * lib/envblk.c: Likewise.
26442 * lib/i386/setjmp.S: Likewise.
26443 * fs/xfs.c: Likewise.
26444 * fs/afs.c: Likewise.
26445 * fs/fat.c: Likewise.
26446 * fs/ntfs.c: Likewise.
26447 * fs/udf.c: Likewise.
26448 * fs/affs.c: Likewise.
26449 * fs/iso9660.c: Likewise.
26450 * fs/hfs.c: Likewise.
26451 * fs/fshelp.c: Likewise.
26452 * fs/ext2.c: Likewise.
26453 * fs/jfs.c: Likewise.
26454 * fs/reiserfs.c: Likewise.
26455 * fs/hfsplus.c: Likewise.
26456 * fs/minix.c: Likewise.
26457 * fs/cpio.c: Likewise.
26458 * fs/sfs.c: Likewise.
26459 * fs/ufs.c: Likewise.
26460 * efiemu/prepare.c: Likewise.
26461 * efiemu/loadcore_common.c: Likewise.
26462 * efiemu/runtime/efiemu.sh: Likewise.
26463 * efiemu/runtime/efiemu.S: Likewise.
26464 * efiemu/runtime/efiemu.c: Likewise.
26465 * efiemu/pnvram.c: Likewise.
26466 * efiemu/main.c: Likewise.
26467 * efiemu/i386/pc/cfgtables.c: Likewise.
26468 * efiemu/i386/loadcore64.c: Likewise.
26469 * efiemu/i386/loadcore32.c: Likewise.
26470 * efiemu/loadcore.c: Likewise.
26471 * efiemu/symbols.c: Likewise.
26472 * efiemu/mm.c: Likewise.
26473 * include/grub/autoefi.h: Likewise.
26474 * include/grub/datetime.h: Likewise.
26475 * include/grub/term.h: Likewise.
26476 * include/grub/hfs.h: Likewise.
26477 * include/grub/lvm.h: Likewise.
26478 * include/grub/i386/tsc.h: Likewise.
26479 * include/grub/i386/linux.h: Likewise.
26480 * include/grub/i386/xnu.h: Likewise.
26481 * include/grub/i386/efiemu.h: Likewise.
26482 * include/grub/i386/pc/biosdisk.h: Likewise.
26483 * include/grub/i386/pc/memory.h: Likewise.
26484 * include/grub/i386/pc/vbe.h: Likewise.
26485 * include/grub/parttool.h: Likewise.
26486 * include/grub/video.h: Likewise.
26487 * include/grub/memory.h: Likewise.
26488 * include/grub/fs.h: Likewise.
26489 * include/grub/partition.h: Likewise.
26490 * include/grub/xnu.h: Likewise.
26491 * include/grub/efi/api.h: Likewise.
26492 * include/grub/efi/pe32.h: Likewise.
26493 * include/grub/efi/memory.h: Likewise.
26494 * include/grub/multiboot.h: Likewise.
26495 * include/grub/usbdesc.h: Likewise.
26496 * include/grub/multiboot2.h: Likewise.
26497 * include/grub/acpi.h: Likewise.
26498 * include/grub/efiemu/efiemu.h: Likewise.
26499 * include/grub/disk.h: Likewise.
26500 * include/grub/ieee1275/ieee1275.h: Likewise.
26501 * include/grub/net.h: Likewise.
26502 * include/grub/machoload.h: Likewise.
26503 * include/grub/macho.h: Likewise.
26504 * include/multiboot.h: Likewise.
26505 * genmoddep.awk: Likewise.
26506 * normal/main.c: Likewise.
26507 * normal/menu_entry.c: Likewise.
26508 * normal/menu_viewer.c: Likewise.
26509 * normal/completion.c: Likewise.
26510 * normal/cmdline.c: Likewise.
26511 * normal/misc.c: Likewise.
26512 * normal/datetime.c: Likewise.
26513 * bus/usb/usbtrans.c: Likewise.
26514 * bus/usb/ohci.c: Likewise.
26515 * bus/usb/uhci.c: Likewise.
26516 * bus/usb/usb.c: Likewise.
26517 * mmap/efi/mmap.c: Likewise.
26518 * mmap/i386/pc/mmap_helper.S: Likewise.
26519 * mmap/i386/pc/mmap.c: Likewise.
26520 * mmap/i386/mmap.c: Likewise.
26521 * mmap/i386/uppermem.c: Likewise.
26522 * mmap/mmap.c: Likewise.
26523 * commands/acpi.c: Likewise.
26524 * commands/echo.c: Likewise.
26525 * commands/blocklist.c: Likewise.
26526 * commands/loadenv.c: Likewise.
26527 * commands/usbtest.c: Likewise.
26528 * commands/boot.c: Likewise.
26529 * commands/parttool.c: Likewise.
26530 * commands/search.c: Likewise.
26531 * commands/cat.c: Likewise.
26532 * commands/i386/pc/play.c: Likewise.
26533 * commands/i386/pc/drivemap.c: Likewise.
26534 * commands/i386/pc/vbeinfo.c: Likewise.
26535 * commands/i386/pc/acpi.c: Likewise.
26536 * commands/i386/pc/vbetest.c: Likewise.
26537 * commands/ls.c: Likewise.
26538 * commands/cmp.c: Likewise.
26539 * commands/test.c: Likewise.
26540 * commands/efi/acpi.c: Likewise.
26541 * commands/gptsync.c: Likewise.
26542 * commands/help.c: Likewise.
26543 * partmap/amiga.c: Likewise.
26544 * partmap/apple.c: Likewise.
26545 * partmap/acorn.c: Likewise.
26546 * partmap/pc.c: Likewise.
26547 * partmap/sun.c: Likewise.
26548 * partmap/gpt.c: Likewise.
26549 * script/sh/lexer.c: Likewise.
26550 * script/sh/function.c: Likewise.
26551 * font/font.c: Likewise.
26552 * font/font_cmd.c: Likewise.
26553 * loader/powerpc/ieee1275/linux.c: Likewise.
26554 * loader/efi/chainloader.c: Likewise.
26555 * loader/multiboot_loader.c: Likewise.
26556 * loader/macho.c: Likewise.
26557 * loader/i386/multiboot.c: Likewise.
26558 * loader/i386/linux.c: Likewise.
26559 * loader/i386/pc/linux.c: Likewise.
26560 * loader/i386/pc/multiboot2.c: Likewise.
26561 * loader/i386/pc/chainloader.c: Likewise.
26562 * loader/i386/pc/xnu.c: Likewise.
26563 * loader/i386/bsd_trampoline.S: Likewise.
26564 * loader/i386/efi/linux.c: Likewise.
26565 * loader/i386/multiboot_elfxx.c: Likewise.
26566 * loader/i386/bsd_helper.S: Likewise.
26567 * loader/i386/bsd.c: Likewise.
26568 * loader/i386/linux_trampoline.S: Likewise.
26569 * loader/i386/xnu_helper.S: Likewise.
26570 * loader/i386/xnu.c: Likewise.
26571 * loader/i386/bsd_pagetable.c: Likewise.
26572 * loader/i386/multiboot_helper.S: Likewise.
26573 * loader/xnu.c: Likewise.
26574 * loader/xnu_resume.c: Likewise.
26575 * io/gzio.c: Likewise.
26576 * term/efi/console.c: Likewise.
26577 * term/terminfo.c: Likewise.
26578 * term/ieee1275/ofconsole.c: Likewise.
26579 * term/i386/pc/serial.c: Likewise.
26580 * term/i386/pc/vesafb.c: Likewise.
26581 * term/i386/pc/vga.c: Likewise.
26582 * term/usb_keyboard.c: Likewise.
26583 * term/gfxterm.c: Likewise.
26584 * aclocal.m4: Likewise.
26585 * util/lvm.c: Likewise.
26586 * util/grub.d/30_os-prober.in: Likewise.
26587 * util/grub.d/10_hurd.in: Likewise.
26588 * util/console.c: Likewise.
26589 * util/grub-macho2img.c: Likewise.
26590 * util/grub-probe.c: Likewise.
26591 * util/hostfs.c: Likewise.
26592 * util/i386/pc/grub-mkimage.c: Likewise.
26593 * util/i386/pc/grub-setup.c: Likewise.
26594 * util/i386/efi/grub-mkimage.c: Likewise.
26595 * util/grub-mkconfig.in: Likewise.
26596 * util/raid.c: Likewise.
26597 * util/resolve.c: Likewise.
26598 * util/grub-mkdevicemap.c: Likewise.
26599 * util/grub-emu.c: Likewise.
26600 * util/getroot.c: Likewise.
26601 * util/hostdisk.c: Likewise.
26602 * util/usb.c: Likewise.
26603 * util/grub-editenv.c: Likewise.
26604 * util/misc.c: Likewise.
26605
d2d49665 266062009-06-10 Felix Zielcke <fzielcke@z-51.de>
26607
26608 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
26609 `genparttoollist.sh'.
26610 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
26611 Add `*.sh' to the list find searches for and change `mdate.sh'
26612 to `mdate-sh'.
26613
fe052e37 266142009-06-10 Pavel Roskin <proski@gnu.org>
26615
2763ac18 26616 * include/grub/multiboot2.h: Provide compatibility defines for
26617 multiboot2.h.
26618 * include/multiboot2.h: Include stdint.h only if needed, using
26619 angle brackets.
26620 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
26621 grub/multiboot2.h.
26622 * loader/ieee1275/multiboot2.c: Likewise.
26623 * loader/multiboot2.c: Likewise.
26624 * loader/multiboot_loader.c: Likewise.
26625
437e6adc 26626 * configure.ac: Use -nostdlib when probing for the target. It
26627 should not be required to have libc for the target.
26628
06a6836c 26629 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
26630 they fail without libc headers for the target.
26631 * include/grub/powerpc/libgcc.h: Use weak attribute for all
26632 exports.
26633 * include/grub/sparc64/libgcc.h: Likewise. Don't use
26634 preprocessor conditionals.
26635
fe052e37 26636 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
26637 build system doesn't need to be aware of the tar.c internals.
26638
afd22553 266392009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 26640
afd22553 26641 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 26642
6b787c4f 266432009-06-09 Robert Millan <rmh.grub@aybabtu.com>
26644
26645 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
26646 disk limit to 26 for IDE, Virtio, Xen and SCSI.
26647
266482009-06-09 Felix Zielcke <fzielcke@z-51.de>
26649
26650 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 26651 aren't available if ata.mod gets used.
6b787c4f 26652
473d1e45 266532009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 26654
473d1e45 26655 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 26656 initialising controller.
473d1e45 26657 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 26658
255a27d4 266592009-06-08 Felix Zielcke <fzielcke@z-51.de>
26660
26661 * util/i386/pc/grub-install.in: Add a parameter --disk-module
26662 to choose between ata and biosdisk module on i386-pc.
26663
473d1e45 266642009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 26665
d55842d8 26666 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
26667 Subclass and Programming Interface fields in terms of the 3 byte
26668 Class Code register.
26669 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
26670
fa5db0b1 26671 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
26672 interface is OHCI. Add grub_dprintf for symmetry with
26673 bus/usb/uhci.c.
26674 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
26675 interface is UHCI. Add interf variable for programming
26676 interface. Print interface with class/subclass.
26677
c0947beb 26678 * bus/usb/ohci.c: Set interf with correct field.
26679
69da8877 26680 * bus/usb/uhci.c: Remove unneeded doubled lines.
26681 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
26682 Remove whitespace inside comment.
26683
9e172e30 266842009-06-08 Robert Millan <rmh.grub@aybabtu.com>
26685
26686 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
26687 as fallback an equivalent option without depth.
26688
de65ee2b 266892009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
26690
26691 Not fail if unable to retrieve C/H/S on LBA disks
26692
473d1e45 26693 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 26694 if unable to retrieve C/H/S on LBA disks
26695
b57ea2c9 266962009-06-08 Pavel Roskin <proski@gnu.org>
26697
26698 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
26699 about aliasing.
26700
af361263 267012009-06-08 Felix Zielcke <fzielcke@z-51.de>
26702
26703 * Makefile.in (uninstall): Remove all $lib_DATA files.
26704
4c9ec6b3 267052009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
26706
26707 Bugfix: install on partitionless device
26708
26709 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
26710 is a whole disk
26711
e76fc924 267122009-06-08 Felix Zielcke <fzielcke@z-51.de>
26713
26714 * Makefile.in (uninstall): Remove all $include_DATA files.
26715
ba5a0d05 267162009-06-08 Felix Zielcke <fzielcke@z-51.de>
26717
26718 * commands/true.c: New file. Implement the true and false commands.
26719 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
26720 (true_mod_SOURCES): New variable.
26721 (true_mod_CFLAGS): Likewise.
26722 (true_mod_LDFLAGS): Likewise.
26723
c8048e32 267242009-06-05 Colin D Bennett <colin@gibibit.com>
26725
26726 Optimized font character lookup using binary search instead of linear
26727 search. Fonts now are required to have the character index ordered by
26728 code point.
26729
26730 * font/font.c (load_font_index): Verify that fonts have ordered
26731 character indices.
26732 (find_glyph): Use binary search instead of linear search to find a
26733 character in a font.
26734
408305be 267352009-06-05 Michael Scherer <misc@mandriva.org>
26736
26737 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
26738 uses case sensitive btree.
26739 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
26740 only for case insensitive filesystems.
26741
8ee1e0d9 267422009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
26743
26744 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
26745 * conf/common.rmk (search_mod_CFLAGS): likewise
26746
a9966eb1 267472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26748
473d1e45 26749 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 26750 compensate a compiler bug
26751
9e7100fb 267522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26753
473d1e45 26754 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 26755 instead of '\b'
473d1e45 26756
ede21d71 267572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26758
26759 Definitions for creating asm symbols with Apple's CC
26760
26761 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
26762 [APPLE_CC] (VARIABLE): likewise
26763
9dbf7653 267642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26765
26766 Disable lnxboot.img when compiled
26767 with Apple's CC
26768
26769 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
26770 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
26771 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
26772 [! APPLE_CC] (CODE_LENG): skip
26773 [! APPLE_CC] (setup_sects): likewise
26774 [! APPLE_CC]: skip filling
473d1e45 26775
e93cdc3d 267762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26777
26778 Address in trampolines based on 32-bit registers when compiled
26779 with Apple's CC
26780
473d1e45 26781 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 26782 for addresses
26783 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
26784
6c688477 267852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26786
26787 Avoid aliases when compiling with Apple's CC for PCBIOS machine
26788
26789 * kern/misc.c [APPLE_CC] (memcpy): new function
26790 [APPLE_CC] (memmove): likewise
26791 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 26792 (memcpy): define alias conditionally on !APPLE_CC
6c688477 26793 (memset): likewise
26794 (abort): likewise
26795 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
26796 APPLE_CC are defined
26797 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
26798 (grub_assert_fail): make prototype conditional
26799
e37ffc5c 268002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26801
26802 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
26803
473d1e45 26804 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
26805 grub-macho2img
e37ffc5c 26806 (CLEANFILES): add grub-macho2img
26807 (grub_macho2img_SOURCES): new variable
26808 * kern/i386/pc/startup.S (bss_start): new variable
26809 (bss_end): likewise
26810 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
26811 * util/grub-macho2img.c: new file
26812
cf00df31 268132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26814
26815 Use objconv when compiling with Apple's CC
26816
26817 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
26818 (efiemu64.o): likewise
26819 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
26820 when compiling with Apple's CC
26821 (efiemu64_s.o): likewise
26822 * configure.ac: check for objconv when compiling with Apple's CC
26823 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 26824
d119a20c 268252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26826
26827 Define segment as well as section when compiling with
26828 Apple's CC
26829
26830 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
26831 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
26832 (efiemu_convert_pointer): likewise
26833 (efiemu_set_virtual_address_map): likewise
26834 (efiemu_convert_pointer): likewise
26835 (efiemu_getcrc32): likewise
26836 (init_crc32_table): likewise
26837 (reflect): likewise
26838 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
26839 (GRUB_MOD_DEP): likewise
473d1e45 26840
c8600122 268412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26842
26843 Allow a compilation without -mcmodel=large
26844
26845 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
26846 when compiled without -mcmodel=large
473d1e45 26847 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 26848 without -mcmodel=large
473d1e45 26849 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 26850 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 26851
e8df1d4e 268522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26853
26854 Remove nested functions in efiemu core
26855
26856 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 26857
cc6c3ac1 268582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26859
26860 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
26861
26862 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
26863 temporary storage
473d1e45 26864 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
26865 using Apple's CC
cc6c3ac1 26866 (grub_cpu_is_tsc_supported): likewise
26867 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 26868
3e325901 268692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26870
26871 Absolute addressing through constant with Apple's cc
26872
26873 * kern/i386/pc/startup.S: Define necessary constants
26874 and address through it when using ABS with Apple's CC
26875 * boot/i386/pc/diskboot.S: likewise
26876 * boot/i386/pc/boot.S: likewise
26877 * boot/i386/pc/lnxboot.S: likewise
26878 * boot/i386/pc/cdboot.S: likewise
26879 * mmap/i386/pc/mmap_helper.S: likewise
26880 * commands/i386/pc/drivemap_int13h.S: likewise
26881
2b167a72 268822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26883
26884 Check if compiler is apple cc
26885
26886 * Makefile.in (ASFLAGS): new variable
26887 (TARGET_ASFLAGS): likewise
26888 (TARGET_MODULE_FORMAT): likewise
26889 (TARGET_APPLE_CC): likewise
26890 (OBJCONV): likewise
26891 (TARGET_IMG_CFLAGS): likewise
26892 (TARGET_CPPFLAGS): add includedir
26893 * configure.ac: call grub_apple_cc and grub_apple_target_cc
26894 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
26895 Check for linker script only if compiler isn't Apple's CC
26896 (TARGET_MODULE_FORMAT): set
26897 (TARGET_APPLE_CC): likewise
26898 (TARGET_ASFLAGS): likewise
26899 (ASFLAGS): likewise
26900 Check for objcopy only if compiler isn't Apple's CC
26901 Check for BSS symbol only if compiler isn't Apple's CC
26902 * genmk.rb: adapt nm options if we use Apple's utils
26903 * aclocal.m4 (grub_apple_cc): new test
26904 (grub_apple_target_cc): likewise
473d1e45 26905
fb14123e 269062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26907
26908 Simplify sed expressions and improve awk
26909
26910 * Makefile.in (install-local): simplify sed expression
26911 * gencmdlist.sh: likewise
26912 * genmoddep.awk: avoid adding module as a dependency of itself
26913
5b889789 269142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26915
26916 Add missing start symbols
26917
26918 * boot/i386/pc/boot.S: add start
fb14123e 26919 * boot/i386/pc/pxeboot.S: likewise
473d1e45 26920
fd2bf2e3 269212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26922
26923 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 26924
26925 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 26926 (relocate_addresses): consider both r_addend and value at offset
26927 (make_mods_section): zerofill modinfo and header
26928 (convert_elf): write prefix here
473d1e45 26929
5389763d 269302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26931
26932 Use .asciz instead of .string
26933
26934 * i386/pc/diskboot.S: use .asciz instead of .string
26935 * i386/pc/boot.S: likewise
26936 * include/grub/dl.h (GRUB_MOD_DEP): likewise
26937 (GRUB_MOD_NAME): likewise
473d1e45 26938
3eb5ed4e 269392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26940
26941 gfxpayload support
26942
26943 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
26944 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
26945 (grub_video_setup): remove
26946 (grub_video_set_mode): new prototype
26947 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
26948 (vid_mode): remove
26949 (linux_vesafb_res): compile only on PCBIOS
26950 (grub_linux_boot): support gfxpayload
26951 * loader/i386/pc/xnu.c (video_hook): new function
26952 (grub_xnu_set_video): support gfxpayload
26953 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
26954 (DEFAULT_VIDEO_HEIGHT): likewise
26955 (DEFAULT_VIDEO_FLAGS): likewise
26956 (DEFAULT_VIDEO_MODE): new definition
26957 (video_hook): new function
26958 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 26959 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 26960 loading xnu
26961 * video/video.c (grub_video_setup): removed
473d1e45 26962 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 26963 grub_video_setup
26964
4b0e1143 269652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26966
26967 Avoid calling biosdisk in drivemap
26968
26969 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
26970 (revparse_biosdisk): likewise
26971 (list_mappings): derive name from id directly
26972 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 26973
fda6cb98 269742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26975
26976 Script fixes
26977
26978 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
26979 (grub_lexer_param): add tokenonhold
26980 (grub_script_create_cmdline): remove cmdline. All callers updated
26981 (grub_script_function_create): make functionname
26982 grub_script_arg. All callers updated
26983 (grub_script_execute_argument_to_string): new prototype
26984 * kern/parser.c (state_transitions): reorder
26985 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 26986 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 26987 make global
26988 (grub_script_execute_cmdline): use new format
26989 * script/sh/function.c (grub_script_function_create): make functionname
26990 grub_script_arg. All callers updated
473d1e45 26991 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 26992 (grub_script_yylex): remove
26993 (grub_script_yylex2): renamed to ...
26994 (grub_script_yylex): ...renamed
26995 parse the expressions like a${b}c
26996 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
26997 (GRUB_PARSER_TOKEN_VAR): remove
26998 (GRUB_PARSER_TOKEN_NAME): likewise
26999 ("if"): declare as typeless
27000 ("while"): likewise
27001 ("function"): likewise
27002 ("else"): likewise
27003 ("then"): likewise
27004 ("fi"): likewise
27005 (text): remove
27006 (argument): likewise
27007 (script): accept empty scripts and make exit on error
27008 (arguments): use GRUB_PARSER_TOKEN_ARG
27009 (function): likewise
27010 (command): move error handling to script
27011 (menuentry): move grub_script_lexer_ref before
473d1e45 27012 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 27013 argument. All callers updated
27014
f4448a07 270152009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27016
27017 Prevent GRUB from probing floppies during boot.
27018
27019 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
27020 * commands/search.c (options): Add --no-floppy.
27021 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
27022 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
27023 --no-floppy when searching for UUIDs.
27024
2bf5885a 270252009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27026
27027 Simplify the code duplication in commands/search.c.
27028
27029 * commands/search.c (search_label, search_fs_uuid): Merge into ...
27030 (search_fs): ... this. Update all users.
27031
f6fd460a 270322009-06-03 Felix Zielcke <fzielcke@z-51.de>
27033
27034 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
27035
cbb3c83e 270362009-05-28 Pavel Roskin <proski@gnu.org>
27037
57788cfd 27038 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
27039 Remove the original symlink explicitly.
27040
cbb3c83e 27041 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
27042 just one slash. That's how grub_fshelp_find_file() does it.
27043
cd0d5e30 270442009-05-26 Pavel Roskin <proski@gnu.org>
27045
f0f8bbe2 27046 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
27047 to `str'.
27048
cd0d5e30 27049 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
27050 possibly unused.
27051
8c2cab51 270522009-05-25 Christian Franke <franke@computer.org>
27053
27054 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
27055 register.
27056 (grub_atapi_identify): Add wait after drive select.
27057 (grub_ata_identify): Do more strict status register check before
27058 calling grub_atapi_identify (). Suppress error message if status
27059 register is 0x00 after command failure. Add status register
27060 check after PIO read to avoid bogus identify due to stuck DRQ.
27061 Thanks to Pavel Roskin for testing.
27062 (grub_device_initialize): Remove unsafe status register check.
27063 Thanks to 'phcoder' for problem report and patch.
27064 Prevent sign extension in debug message.
27065
230c0ad6 270662009-05-23 Colin D Bennett <colin@gibibit.com>
27067
27068 Cleaned up `include/grub/normal.h'. Grouped prototypes by
27069 definition file, and functions defined in `normal/menu.c' have had
27070 their prototypes moved to `include/grub/menu.h' for consistency.
27071
27072 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
27073 from normal.h.
27074 (grub_menu_get_entry): Likewise.
27075 (grub_menu_get_timeout): Likewise.
27076 (grub_menu_set_timeout): Likewise.
27077 (grub_menu_execute_entry): Likewise.
27078 (grub_menu_execute_with_fallback): Likewise.
27079 (grub_menu_entry_run): Likewise.
27080
27081 * include/grub/normal.h: Re-ordered and grouped function
27082 prototypes by file that the function is defined in.
27083 (grub_menu_execute_callback): Removed; moved to menu.h.
27084 (grub_menu_get_entry): Likewise.
27085 (grub_menu_get_timeout): Likewise.
27086 (grub_menu_set_timeout): Likewise.
27087 (grub_menu_execute_entry): Likewise.
27088 (grub_menu_execute_with_fallback): Likewise.
27089 (grub_menu_entry_run): Likewise.
27090 (grub_menu_addentry): Renamed from this ...
27091 (grub_normal_add_menu_entry): ... to this.
27092
27093 * normal/main.c (grub_menu_addentry): Renamed from this ...
27094 (grub_normal_add_menu_entry): ... to this.
27095
27096 * script/sh/execute.c (grub_script_execute_menuentry): Update
27097 reference to renamed grub_menu_addentry function.
27098
861f03a5 270992009-05-23 Felix Zielcke <fzielcke@z-51.de>
27100
27101 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
27102
96b1619a 271032009-05-22 Pavel Roskin <proski@gnu.org>
27104
bf6a5fb2 27105 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
27106 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
27107 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
27108 compiling for the i386 targets, but not for the utilities.
27109
96b1619a 27110 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
27111 to grub_uint8_t.
27112 (grub_root_drive): Likewise.
27113 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
27114 remove alignment.
27115 (grub_root_drive): Change size to byte.
27116 (grub_start_addr): Remove.
27117 (grub_end_addr): Likewise.
27118 (grub_apm_bios_info): Likewise.
27119
b729776b 271202009-05-21 Felix Zielcke <fzielcke@z-51.de>
27121
27122 * normal/i386: Remove.
27123 * normal/powerpc: Likewise.
27124 * normal/sparc64: Likewise.
27125 * normal/x86_64: Likewise.
27126
0a15ce80 271272009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
27128
27129 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 27130 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 27131 * loader/i386/xnu_helper.S: Likewise
d6da58e6 27132
33db9015 271332009-05-18 Colin D Bennett <colin@gibibit.com>
27134
d6da58e6 27135 Display error messages when parsing a Lua statement fails.
27136 Previously, executing a syntactically invalid statement like
27137 ")foo" or "bar;" would silently fail.
33db9015 27138
27139 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 27140 (grub_lua_parse_line): Improved reporting of Lua parser and
27141 execution errors.
33db9015 27142
46422c89 271432009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27144
27145 Remove -Werror which causes build to fail on some systems
27146
27147 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
27148 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
27149 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 27150
22f53a96 271512009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27152
27153 trampoline for linux on 64-bit platform
27154
18f547ad 27155 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
27156 loader/i386/efi/linux_trampoline.S
27157 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 27158 declaration
d6da58e6 27159 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
27160 here
22f53a96 27161 * loader/i386/linux_trampoline.S: moved here
d6da58e6 27162 * loader/i386/efi/linux.c (allocate_pages): reserve space for
27163 trampoline
22f53a96 27164 (jumpvector): removed
27165 (grub_linux_trampoline_start): new declaration
27166 (grub_linux_trampoline_end): likewise
27167 (grub_linux_boot): use trampoline when on 64-bit platform
27168 * loader/i386/linux.c: likewise
27169
cb5a0f40 271702009-05-16 Pavel Roskin <proski@gnu.org>
27171
27172 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
27173 const to avoid a warning.
27174 (grub_lua_setenv): Likewise.
27175 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
27176 lmsg to fix a warning.
27177
334f2c28 271782009-05-16 Felix Zielcke <fzielcke@z-51.de>
27179
27180 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 27181 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27182 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
27183 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27184 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
27185 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27186 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
27187 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 27188
59e5d3ec 271892009-05-16 Felix Zielcke <fzielcke@z-51.de>
27190
27191 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
27192
9d87a1ba 271932009-05-16 Bean <bean123ch@gmail.com>
27194
27195 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
27196 (lua_mod_SOURCES): New variable.
27197 (lua_mod_CFLAGS): Likewise.
27198 (lua_mod_LDFLAGS): Likewise.
27199
27200 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
27201 (setjmp_mod_SOURCES): New variable.
27202 (setjmp_mod_CFLAGS): Likewise.
27203 (setjmp_LDFLAGS): Likewise.
27204
27205 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
27206 (setjmp_mod_SOURCES): New variable.
27207 (setjmp_mod_CFLAGS): Likewise.
27208 (setjmp_LDFLAGS): Likewise.
27209
27210 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
27211 (setjmp_mod_SOURCES): New variable.
27212 (setjmp_mod_CFLAGS): Likewise.
27213 (setjmp_LDFLAGS): Likewise.
27214
27215 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
27216 (setjmp_mod_SOURCES): New variable.
27217 (setjmp_mod_CFLAGS): Likewise.
27218 (setjmp_LDFLAGS): Likewise.
27219
27220 * normal/i386/setjmp.S: Moved from here ...
27221 * lib/i386/setjmp.S: ... Moved here
27222 * normal/x86_64/setjmp.S: Moved from here ...
27223 * lib/x86_64/setjmp.S: ... Moved here
27224 * normal/powerpc/setjmp.S: Moved from here ...
27225 * lib/powerpc/setjmp.S: ... Moved here
27226 * normal/sparc64/setjmp.S: Moved from here ...
27227 * lib/sparc64/setjmp.S: ... Moved here
27228
27229 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
27230 returns_twice in mingw.
27231
27232 * script/lua/grub_lib.c: New file.
27233 * script/lua/grub_lib.h: Likewise.
27234 * script/lua/grub_lua.h: Likewise.
27235 * script/lua/grub_main.c: Likewise.
27236 * script/lua/lapi.c: Likewise.
27237 * script/lua/lapi.h: Likewise.
27238 * script/lua/lauxlib.c: Likewise.
27239 * script/lua/lauxlib.h: Likewise.
27240 * script/lua/lbaselib.c: Likewise.
27241 * script/lua/lcode.c: Likewise.
27242 * script/lua/lcode.h: Likewise.
27243 * script/lua/ldblib.c: Likewise.
27244 * script/lua/ldebug.c: Likewise.
27245 * script/lua/ldebug.h: Likewise.
27246 * script/lua/ldo.c: Likewise.
27247 * script/lua/ldo.h: Likewise.
27248 * script/lua/ldump.c: Likewise.
27249 * script/lua/lfunc.c: Likewise.
27250 * script/lua/lfunc.h: Likewise.
27251 * script/lua/lgc.c: Likewise.
27252 * script/lua/lgc.h: Likewise.
27253 * script/lua/linit.c: Likewise.
27254 * script/lua/liolib.c: Likewise.
27255 * script/lua/llex.c: Likewise.
27256 * script/lua/llex.h: Likewise.
27257 * script/lua/llimits.h: Likewise.
27258 * script/lua/lmathlib.c: Likewise.
27259 * script/lua/lmem.c: Likewise.
27260 * script/lua/lmem.h: Likewise.
27261 * script/lua/loadlib.c: Likewise.
27262 * script/lua/lobject.c: Likewise.
27263 * script/lua/lobject.h: Likewise.
27264 * script/lua/lopcodes.c: Likewise.
27265 * script/lua/lopcodes.h: Likewise.
27266 * script/lua/loslib.c: Likewise.
27267 * script/lua/lparser.c: Likewise.
27268 * script/lua/lparser.h: Likewise.
27269 * script/lua/lstate.c: Likewise.
27270 * script/lua/lstate.h: Likewise.
27271 * script/lua/lstring.c: Likewise.
27272 * script/lua/lstring.h: Likewise.
27273 * script/lua/lstrlib.c: Likewise.
27274 * script/lua/ltable.c: Likewise.
27275 * script/lua/ltable.h: Likewise.
27276 * script/lua/ltablib.c: Likewise.
27277 * script/lua/ltm.c: Likewise.
27278 * script/lua/ltm.h: Likewise.
27279 * script/lua/lua.h: Likewise.
27280 * script/lua/luaconf.h: Likewise.
27281 * script/lua/lualib.h: Likewise.
27282 * script/lua/lundump.c: Likewise.
27283 * script/lua/lundump.h: Likewise.
27284 * script/lua/lvm.c: Likewise.
27285 * script/lua/lvm.h: Likewise.
27286 * script/lua/lzio.c: Likewise.
27287 * script/lua/lzio.h: Likewise.
27288
5e898c9d 272892009-05-16 Bean <bean123ch@gmail.com>
27290
27291 * include/grub/kernel.h (grub_module_header_types): Add type
27292 OBJ_TYPE_CONFIG.
27293
27294 * kern/main.c (grub_load_config): New function.
27295 (grub_main): Call grub_load_config to read boot config.
27296
27297 * grub-mkimage (generate_image): New parameter config_path.
27298 (options): New option --config.
27299 (main): Parse --config option, and pass it to generate_image.
27300
cf353a47 273012009-05-14 Christian Franke <franke@computer.org>
27302
27303 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
27304 This fixes build on Cygwin.
27305
3834887f 273062009-05-14 Pavel Roskin <proski@gnu.org>
27307
27308 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
27309 jump. This saves two bytes, so the typical case of 2 swapped
27310 drives would fit 32 bytes.
27311
8090fc01 273122009-05-13 Pavel Roskin <proski@gnu.org>
27313
ac963883 27314 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
27315 grub_uint32_t to avoid a warning.
27316
8090fc01 27317 * loader/i386/linux.c (allocate_pages): When assigning
27318 real_mode_mem, cast through grub_size_t to fix a warning. The
27319 code already makes sure that the value would fit a pointer.
27320 (grub_linux_setup_video): Cast render_target->data to
27321 grub_size_t to fix a warning.
27322
18f547ad 273232009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 27324
27325 * commands/i386/pc/drivemap.c: New file - implement drivemap
27326 command.
27327 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
27328 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
27329
6f6a8b28 273302009-05-13 Pavel Roskin <proski@gnu.org>
27331
27332 * util/i386/pc/grub-setup.c (setup): Remove unused variable
27333 embedding_area_exists.
27334
15fbf4c4 273352009-05-13 Robert Millan <rmh.grub@aybabtu.com>
27336
27337 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
27338 it easier to understand / work with.
59978c8a 27339 Improve warning messages for cases where there's no embedding area,
27340 or when it is too small (or core.img too large).
15fbf4c4 27341
238e871f 273422009-05-13 Pavel Roskin <proski@gnu.org>
27343
0ab3a9a4 27344 * loader/i386/pc/multiboot2.c: Add necessary includes for
27345 grub_multiboot2_real_boot().
27346
a2c8c5f8 27347 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
27348 PX record is always little-endian. We only need the lower 2
27349 bytes of the mode.
27350
faec96af 27351 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
27352 facilitate code reuse.
27353 (grub_cpio_mount): Use "struct head", not a char buffer. This
27354 fixes a warning reported by gcc 4.4.
27355
238e871f 27356 * kernel/disk.c (grub_disk_read): Use void pointer for the
27357 buffer.
27358 (grub_disk_write): Use const void pointer for the buffer.
27359 Adjust all callers. Remove unnecessary casts.
27360
901d2f0c 273612009-05-10 Robert Millan <rmh.grub@aybabtu.com>
27362
27363 * util/i386/pc/grub-install.in: Update copyright year.
27364
18f547ad 273652009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 27366
27367 gptsync
27368
27369 * commands/gptsync.c: new file
27370 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
27371 (gptsync_mod_SOURCES): new variable
27372 (gptsync_mod_CFLAGS): likewise
27373 (gptsync_mod_LDFLAGS): likewise
18f547ad 27374 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 27375 new definition
27376 (GRUB_PC_PARTITION_TYPE_HFS): likewise
27377 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
27378 * conf/i386-ieee1275.rmk: likewise
27379 * conf/i386-pc.rmk: likewise
27380 * conf/powerpc-ieee1275.rmk: likewise
27381
b4ba690a 273822009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
27383
27384 Fixed grub-emu
27385
27386 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
27387 (grub_dl_ref): likewise
27388
317e1a44 273892009-05-08 Robert Millan <rmh.grub@aybabtu.com>
27390
27391 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
27392 split in two functions (one for msdos and one for gpt).
27393
041b8094 273942009-05-08 Pavel Roskin <proski@gnu.org>
27395
752473c2 27396 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
27397 not modified.
27398
041b8094 27399 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
27400 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
27401 Initialize them with -1. Add sanity check for bad1. Eliminate
27402 nerr variable.
27403
172800ce 274042009-05-08 David S. Miller <davem@davemloft.net>
27405
27406 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
27407
29aa5e81 274082009-05-06 Robert Millan <rmh.grub@aybabtu.com>
27409
27410 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 27411 existence.
29aa5e81 27412
96613b62 274132009-05-05 Felix Zielcke <fzielcke@z-51.de>
27414
27415 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 27416 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 27417
eef73c8a 274182009-05-05 David S. Miller <davem@davemloft.net>
27419
27420 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
27421
119494b5 274222009-05-05 Pavel Roskin <proski@gnu.org>
27423
27424 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
27425 of grub_dl_ref() and grub_dl_unref().
27426 * commands/parttool.c: Remove preprocessor conditionals around
27427 grub_dl_ref() and grub_dl_unref().
27428 * fs/affs.c: Likewise.
27429 * fs/afs.c: Likewise.
27430 * fs/cpio.c: Likewise.
27431 * fs/ext2.c: Likewise.
27432 * fs/fat.c: Likewise.
27433 * fs/hfs.c: Likewise.
27434 * fs/hfsplus.c: Likewise.
27435 * fs/iso9660.c: Likewise.
27436 * fs/jfs.c: Likewise.
27437 * fs/minix.c: Likewise.
27438 * fs/ntfs.c: Likewise.
27439 * fs/reiserfs.c: Likewise.
27440 * fs/sfs.c: Likewise.
27441 * fs/udf.c: Likewise.
27442 * fs/ufs.c: Likewise.
27443 * fs/xfs.c: Likewise.
27444 * include/grub/dl.h: Likewise.
27445 * loader/xnu.c: Likewise.
27446
de5fd76e 274472009-05-04 Pavel Roskin <proski@gnu.org>
27448
27449 * commands/acpi.c: Remove unused variable my_mod.
27450 * partmap/amiga.c: Likewise.
27451 * partmap/apple.c: Likewise.
27452 * partmap/gpt.c: Likewise.
27453 * partmap/pc.c: Likewise.
27454 * partmap/sun.c: Likewise.
27455 * term/gfxterm.c: Likewise.
27456 * term/i386/pc/vesafb.c: Likewise.
27457 * term/i386/pc/vga.c: Likewise.
27458
983598ad 274592009-05-04 David S. Miller <davem@davemloft.net>
27460
27461 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
27462 pointer args to grub_ieee1275_get_property().
27463
8aadec43 27464 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
27465
9554b15e 27466 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
27467 devices, and do not traverse down under controller nodes.
27468
67e23c90 27469 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
27470 (grub_ofdisk_open): Use it to un-escape "," characters.
27471 * kern/disk.c (find_part_sep): New.
27472 (grub_disk_open): Use it to find the first non-escaped ','
27473 character in the disk name.
27474 * util/ieee1275/devicemap.c (escape_of_path): New.
27475 (grub_util_emit_devicemap_entry): Use it.
27476 * util/sparc64/ieee1275/grub-install.in: Update script to
27477 strip partition specifiers properly by not triggering on
27478 '\' escaped ',' characters.
27479
74bfdd2f 274802009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27481
27482 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
27483 to 0x300.
27484 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
27485 resolutions.
27486 (linux_vesafb_modes): Add a lot of additional modes to the list (based
27487 on documentation from Wikipedia).
27488
4241d2b1 274892009-05-04 Pavel Roskin <proski@gnu.org>
27490
27491 * disk/ata.c: Spelling fixes.
27492 * disk/raid.c: Likewise.
27493 * disk/usbms.c: Likewise.
27494 * disk/dmraid_nvidia.c: Likewise.
27495 * kern/ieee1275/openfw.c: Likewise.
27496 * kern/ieee1275/init.c: Likewise.
27497 * kern/ieee1275/cmain.c: Likewise.
27498 * boot/i386/pc/cdboot.S: Likewise.
27499 * video/readers/png.c: Likewise.
27500 * video/i386/pc/vbe.c: Likewise.
27501 * fs/udf.c: Likewise.
27502 * fs/hfs.c: Likewise.
27503 * fs/reiserfs.c: Likewise.
27504 * efiemu/runtime/efiemu.c: Likewise.
27505 * efiemu/main.c: Likewise.
27506 * efiemu/mm.c: Likewise.
27507 * include/grub/elf.h: Likewise.
27508 * include/grub/xnu.h: Likewise.
27509 * include/grub/usbdesc.h: Likewise.
27510 * include/grub/usb.h: Likewise.
27511 * include/grub/script_sh.h: Likewise.
27512 * include/grub/lib/LzmaEnc.h: Likewise.
27513 * include/grub/efiemu/efiemu.h: Likewise.
27514 * include/grub/command.h: Likewise.
27515 * normal/menu.c: Likewise.
27516 * normal/main.c: Likewise.
27517 * normal/datetime.c: Likewise.
27518 * bus/usb/uhci.c: Likewise.
27519 * mmap/i386/uppermem.c: Likewise.
27520 * mmap/mmap.c: Likewise.
27521 * commands/acpi.c: Likewise.
27522 * commands/test.c: Likewise.
27523 * partmap/apple.c: Likewise.
27524 * font/font.c: Likewise.
27525 * loader/sparc64/ieee1275/linux.c: Likewise.
27526 * loader/macho.c: Likewise.
27527 * loader/i386/bsd_trampoline.S: Likewise.
27528 * loader/i386/bsd.c: Likewise.
27529 * loader/xnu.c: Likewise.
27530 * term/i386/pc/vesafb.c: Likewise.
27531 * term/usb_keyboard.c: Likewise.
27532 * util/resolve.c: Likewise.
27533 * util/getroot.c: Likewise.
27534
0cfc0083 275352009-05-04 Felix Zielcke <fzielcke@z-51.de>
27536
27537 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
27538
7c1d00cd 275392009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27540
27541 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
27542 build error.
27543
b01f0548 275442009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27545
27546 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
27547 parameter only available on BIOS.
27548
ecc3eb22 275492009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27550
27551 Removed wrong semicolon in declaration
27552
27553 * grub/misc.h (grub_dprintf): remove semicolon
27554
112972a9 275552009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27556
27557 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
27558 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
27559 is done by grub_cmd_linux() now).
27560 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
27561 restore video to text mode.
27562 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
27563 indicates lack of "vga=" parameter. "vga=0" is mapped to
27564 `GRUB_LINUX_VID_MODE_NORMAL'.
27565
afd5c115 275662009-05-04 Felix Zielcke <fzielcke@z-51.de>
27567
27568 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
27569 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
27570 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 27571 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 27572 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
27573 `grub_script.tab.c'.
27574
27575 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27576 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27577 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27578 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27579 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27580
faa517ce 27581 * Makefile.in: Remove duplicated 2008 in Copyright line.
27582
ae0c0bdc 275832009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27584
473d1e45 27585 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 27586 unconditionally.
27587 * include/grub/util/misc.h (grub_util_warn): New declaration.
27588
27589 * util/i386/pc/grub-install.in: Understand --force and pass it down
27590 to grub-setup.
27591
27592 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
27593 down to setup().
27594 (setup): Improve error messages and add warnings when requested to
27595 install in odd layouts. Refuse to install using blocklists unless
27596 --force was set.
27597
18f547ad 275982009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 27599
27600 * disk/raid.c (grub_raid_scan_device): Improve debug message.
27601
6d260daa 276022009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27603
27604 Updated copyright year
27605
27606 * fs/hfsplus.c: updated copyright year
18f547ad 27607
69f853f8 276082009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27609
27610 HFS+ UUID
27611
18f547ad 27612 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 27613 in the space previously used by unused3
27614 (grub_hfsplus_uuid): new function
27615 (grub_hfsplus_fs): added uuid field
27616
4c402e73 276172009-05-03 Pavel Roskin <proski@gnu.org>
27618
27619 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
27620 suppress warnings. It's no longer needed.
27621 * disk/host.c: Likewise.
27622 * disk/ata_pthru.c: Likewise.
27623 * disk/loopback.c: Likewise.
27624 * hook/datehook.c: Likewise.
27625 * parttool/pcpart.c: Likewise.
27626 * fs/i386/pc/pxe.c: Likewise.
27627 * fs/ntfscomp.c: Likewise.
27628 * efiemu/main.c: Likewise.
27629 * mmap/mmap.c: Likewise.
27630 * commands/crc.c: Likewise.
27631 * commands/hexdump.c: Likewise.
27632 * commands/hdparm.c: Likewise.
27633 * commands/acpi.c: Likewise.
27634 * commands/echo.c: Likewise.
27635 * commands/minicmd.c: Likewise.
27636 * commands/blocklist.c: Likewise.
27637 * commands/memrw.c: Likewise.
27638 * commands/loadenv.c: Likewise.
27639 * commands/usbtest.c: Likewise.
27640 * commands/lsmmap.c: Likewise.
27641 * commands/boot.c: Likewise.
27642 * commands/parttool.c: Likewise.
27643 * commands/configfile.c: Likewise.
27644 * commands/search.c: Likewise.
27645 * commands/ieee1275/suspend.c: Likewise.
27646 * commands/cat.c: Likewise.
27647 * commands/i386/pc/pxecmd.c: Likewise.
27648 * commands/i386/pc/play.c: Likewise.
27649 * commands/i386/pc/halt.c: Likewise.
27650 * commands/i386/pc/vbeinfo.c: Likewise.
27651 * commands/i386/pc/vbetest.c: Likewise.
27652 * commands/lspci.c: Likewise.
27653 * commands/date.c: Likewise.
27654 * commands/handler.c: Likewise.
27655 * commands/ls.c: Likewise.
27656 * commands/test.c: Likewise.
27657 * commands/cmp.c: Likewise.
27658 * commands/efi/loadbios.c: Likewise.
27659 * commands/efi/fixvideo.c: Likewise.
27660 * commands/halt.c: Likewise.
27661 * commands/help.c: Likewise.
27662 * commands/reboot.c: Likewise.
27663 * hello/hello.c: Likewise.
27664 * script/sh/main.c: Likewise.
27665 * loader/xnu.c: Likewise.
27666 * term/terminfo.c: Likewise.
27667 * term/i386/pc/serial.c: Likewise.
27668 * term/usb_keyboard.c: Likewise.
27669
515b5079 276702009-05-03 David S. Miller <davem@davemloft.net>
27671
27672 * normal/menu.c: Include grub/parser.h
27673
dfc31a22 276742009-05-03 Pavel Roskin <proski@gnu.org>
27675
2fee74f1 27676 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
27677 not char*.
27678 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
27679 Suggested by Javier Martín <lordhabbit@gmail.com>
27680
dfc31a22 27681 * util/i386/pc/grub-mkrescue.in: Allow for the case when
27682 efiemu??.o doesn't exist.
27683 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
27684 copying.
27685
18f547ad 276862009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 27687
27688 FreeBSD 64-bit support
27689
18f547ad 27690 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 27691 and loader/i386/bsd_trampoline.S
27692 (bsd_mod_ASFLAGS): new variable
27693 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
27694 (FREEBSD_MODTYPE_KERNEL64): likewise
27695 (grub_bsd64_trampoline_start): likewise
27696 (grub_bsd64_trampoline_end): likewise
27697 (grub_bsd64_trampoline_selfjump): likewise
27698 (grub_bsd64_trampoline_gdt): likewise
27699 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
27700 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
27701 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
27702 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 27703 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 27704 of "attrib" member
27705 * loader/i386/bsd_pagetable.c: new file
27706 * loader/i386/bsd_trampoline.S: likewise
27707 * loader/i386/bsd.c (ALIGN_QWORD): new macro
27708 (ALIGN_VAR): likewise
27709 (entry_hi): new variable
27710 (kern_end_mdofs): likewise
27711 (is_64bit): likewise
27712 (grub_freebsd_add_meta): use ALIGN_VAR
27713 (grub_e820_mmap): new declaration
27714 (grub_freebsd_add_mmap): new function
27715 (grub_freebsd_add_meta_module): support 64 bit kernels
27716 (grub_freebsd_list_modules): use ALIGN_VAR
27717 (gdt_descriptor): new declaration
27718 (grub_freebsd_boot): support 64 bit kernels
27719 (grub_bsd_elf64_hook): new function
27720 (grub_bsd_load_elf): support elf64
27721
038c5720 277222009-05-03 Bean <bean123ch@gmail.com>
27723
27724 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
27725 after we get the result of if statement.
27726
fc45fb58 277272009-05-03 Bean <bean123ch@gmail.com>
27728
27729 * Makefile.in (enable_efiemu): New variable.
27730
27731 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
27732 set.
27733 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
27734 path.
27735 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
27736 path, add -mno-red-zone option.
27737 (efiemu64_s.o): Likewise.
27738 (efiemu64.o): Use macro $^ for source file.
27739
27740 * configure.ac (--enable-efiemu): New option.
27741
bbee0f2b 277422009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
27743
27744 xnu support
27745
27746 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
27747 (pkglib_MODULES): add xnu.mod
27748 (xnu_mod_SOURCES): new variable
27749 (xnu_mod_CFLAGS): likewise
27750 (xnu_mod_LDFLAGS): likewise
27751 (xnu_mod_ASFLAGS): likewise
27752 * conf/i386-pc.rmk: likewise
27753 * conf/x86_64-efi.rmk: likewise
7dd4a573 27754 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 27755 new declaration
27756 * include/grub/i386/macho.h: new file
27757 * include/grub/i386/xnu.h: likewise
27758 * include/grub/macho.h: likewise
27759 * include/grub/machoload.h: likewise
27760 * include/grub/x86_64/macho.h: likewise
27761 * include/grub/x86_64/xnu.h: likewise
27762 * include/grub/xnu.h: likewise
27763 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
27764 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
27765 * loader/i386/efi/xnu.c: new file
27766 * loader/i386/pc/xnu.c: likewise
27767 * loader/i386/xnu.c: likewise
27768 * loader/i386/xnu_helper.S: likewise
27769 * loader/macho.c: likewise
27770 * loader/xnu.c: likewise
27771 * loader/xnu_resume.c: likewise
27772 * util/grub-dumpdevtree: likewise
27773 * include/grub/i386/pit.h: include grub/err.h
27774 (grub_pit_wait): export
27775 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 27776
5caf964d 277772009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
27778
27779 Efiemu
7dd4a573 27780
5caf964d 27781 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 27782 _linux_efi, linux_efi.
27783 new files in grub-emu
5caf964d 27784 new targets efiemu32.o and efiemu64.o
27785 * loader/linux_normal_efiemu.c: likewise
27786 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 27787 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 27788 files to copy
27789 * include/grub/autoefi.h: new file
7dd4a573 27790 * include/grub/i386/efiemu.h: likewise
5caf964d 27791 * include/grub/i386/pc/efiemu.h: likewise
27792 * include/grub/efi/api.h: add LL suffix when necessary
27793 new definitions relating to tables
27794 * include/grub/efiemu/efiemu.h: new file
27795 * include/grub/efiemu/runtime.h: likewise
27796 * efiemu/prepare.c: likewise
27797 * efiemu/loadcore_common.c: likewise
27798 * efiemu/loadcore64.c: likewise
27799 * efiemu/runtime/efiemu.sh: likewise
27800 * efiemu/runtime/efiemu.S: likewise
27801 * efiemu/runtime/efiemu.c: likewise
27802 * efiemu/runtime/config.h: likewise
27803 * efiemu/prepare32.c: likewise
27804 * efiemu/main.c: likewise
27805 * efiemu/modules/pnvram.c: likewise
27806 * efiemu/modules/i386: likewise
27807 * efiemu/modules/i386/pc: likewise
27808 * efiemu/modules/acpi.c: likewise
27809 * efiemu/i386/pc/cfgtables.c: likewise
27810 * efiemu/i386/loadcore64.c: likewise
27811 * efiemu/i386/loadcore32.c: likewise
27812 * efiemu/prepare64.c: likewise
27813 * efiemu/loadcore.c: likewise
27814 * efiemu/symbols.c: likewise
27815 * efiemu/mm.c: likewise
27816 * efiemu/loadcore32.c: likewise
7dd4a573 27817
278182009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 27819
27820 ACPI spoofing
27821
27822 * commands/acpi.c: new file
27823 * commands/i386/pc/acpi.c: likewise
27824 * commands/efi/acpi.c: likewise
27825 * include/grub/acpi.h: likewise
27826 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
27827 (acpi_mod_SOURCES): new variable
27828 (acpi_mod_CFLAGS): likewise
27829 (acpi_mod_LDFLAGS): likewise
27830 * conf/i386-efi.rmk: likewise
27831 * conf/x86_64-efi.rmk: likewise
27832
7dd4a573 278332009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 27834
27835 Missing part from mmap patch
27836
27837 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
27838 (grub_mmap_unregister)
27839 (grub_mmap_free_and_unregister): use grub_mmap_register
27840
7dd4a573 278412009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 27842
27843 Mmap services
27844
27845 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
27846 * loader/i386/linux.c (find_mmap_size): likewise
27847 (allocate_pages): likewise
27848 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
27849 (grub_fill_multiboot_mmap): likewise
27850 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
27851 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
27852 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
27853 (OPENBSD_MMAP_RESERVED): likewise
27854 * include/grub/i386/pc/memory.h: include grub/memory.h
27855 (grub_lower_mem): removed
27856 (grub_upper_mem): likewise
27857 (GRUB_MACHINE_MEMORY_ACPI): new definition
27858 (GRUB_MACHINE_MEMORY_NVS): likewise
27859 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
27860 (GRUB_MACHINE_MEMORY_HOLE): likewise
27861 (grub_machine_mmap_register): likewise
27862 (grub_machine_mmap_unregister): likewise
27863 (grub_machine_get_upper): likewise
27864 (grub_machine_get_lower): likewise
27865 (grub_machine_get_post64): likewise
27866 * include/grub/i386/efi/memory.h: new file
27867 * include/grub/x86_64/efi/memory.h: likewise
27868 * include/grub/efi/memory.h: likewise
27869 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
27870 (mmap_mod_SOURCES): new variable
27871 (mmap_mod_LDFLAGS): likewise
27872 (mmap_mod_ASFLAGS): likewise
27873 * conf/i386-coreboot.rmk: likewise
27874 * conf/i386-ieee1275.rmk: likewise
27875 * conf/i386-efi.rmk: likewise
27876 * conf/x86_64-efi.rmk: likewise
27877 * include/grub/types.h (UINT_TO_PTR): new macro
27878 (PTR_TO_UINT32): likewise
27879 (PTR_TO_UINT64): likewise
27880 * include/grub/memory.h: new file
27881 * mmap/i386/pc/mmap.c: likewise
27882 * mmap/i386/pc/mmap_helper.S: likewise
27883 * mmap/i386/uppermem.c: likewise
27884 * mmap/mmap.c: likewise
27885 * mmap/efi/mmap.c: likewise
7dd4a573 27886 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 27887 grub_upper_mem
27888 * kern/i386/pc/init.c (grub_lower_mem): removed variable
27889 (grub_upper_mem): likewise
27890 (grub_machine_init): don't use grub_upper_mem,
27891 make grub_lower_mem local
27892 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
27893 grub_mmap_iterate and grub_mmap_get_upper
27894 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
27895
d558e6b5 278962009-05-02 Bean <bean123ch@gmail.com>
27897
27898 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
27899 script/sh/parser.y.
27900 (pkglib_MODULES): Add normal.mod and sh.mod.
27901 (normal_SOURCES): New variable.
27902 (normal_mod_CFLAGS): Likewise.
27903 (normal_mod_LDFLAGS): Likewise.
27904 (sh_mod_SOURCES): Likewise.
27905 (sh_mod_CFLAGS): Likewise.
27906 (sh_mod_LDFLAGS): Likewise.
27907
27908 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
27909 script/sh/lexer.c_DEPENDENCIES.
27910 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
27911 kern/rescue_reader.c and kern/rescue_parser.c.
27912 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
27913 (grub_emu_SOURCES): Change source files.
27914 (pkglib_MODULES): Remove normal.mod.
27915 (normal_SOURCES): Removed.
27916 (normal_mod_CFLAGS): Likewise.
27917 (normal_mod_LDFLAGS): Likewise.
27918 * conf/i386-coreboot.rmk: Likewise.
27919 * conf/i386-efi.rmk: Likewise.
27920 * conf/i386-ieee1276.rmk: Likewise.
27921 * conf/powerpc-ieee1275.rmk: Likewise.
27922 * conf/sparc64-ieee1275.rmk: Likewise.
27923 * conf/x86_64-efi.rmk: Likewise.
27924
27925 * include/grub/command.h (grub_command_execute): New inline function.
27926
27927 * include/grub/menu.h (grub_menu_entry): Removed commands field.
27928
27929 * include/grub/normal.h: Remove <grub/setjmp.h>.
27930 (grub_fs_module_list): Moved to normal/autofs.c.
27931 (grub_exit_env): Removed.
27932 (grub_command_execute): Likewise.
27933 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
27934 parameter script.
27935 (read_command_list): New function declaration.
27936 (read_fs_list): Likewise.
27937
27938 * include/parser.h: Include <grub/reader.h>.
27939 (grub_parser_split_cmdline): Change type of getline parameter.
27940 (grub_parser): New structure.
27941 (grub_parser_class): New variable.
27942 (grub_parser_execute): New function declaration.
27943 (grub_register_rescue_parser): Likewise.
27944 (grub_parser_register): New inline function.
27945 (grub_parser_unregister): Likewise.
27946 (grub_parser_get_current): Likewise.
27947 (grub_parser_set_current): Likewise.
27948
27949 * include/grub/reader.h: New file.
27950 * kern/reader.c: Likewise.
27951 * kern/rescue_parser.c: Likewise.
27952 * kern/rescue_reader.c: Likewise.
27953 * normal/autofs.c: Likewise.
27954 * normal/dyncmd.c: Likewise.
27955
27956 * include/grub/rescue.h: Removed.
27957 * normal/command.h: Likewise.
27958
27959 * include/grub/script.h: Moved to ...
27960 * include/grub/script_sh.h: ... Moved here.
27961 * normal/execute.c: Moved to ...
27962 * script/sh/execute.c: ... Moved here.
27963 * normal/function.c: Moved to ...
27964 * script/sh/function.c: ... Moved here.
27965 * normal/lexer.c: Moved to ...
27966 * script/sh/lexer.c: ... Moved here.
27967 * normal/parser.y: Moved to ...
27968 * script/sh/parser.y: ... Moved here.
27969 * normal/script.c: Moved to ...
27970 * script/sh/script.c: ... Moved here.
27971
27972 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
27973 <grub/reader.h>.
27974 (grub_exit_env): Removed.
27975 (fs_module_list): Moved to normal/autofs.c.
27976 (grub_file_getline): Don't handle comment here.
27977 (free_menu): Skip removed field entry->commands.
27978 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
27979 script parameter.
27980 (read_config_file): Removed nested parameter, change getline function.
27981 (grub_enter_normal_mode): Removed.
27982 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
27983 (read_command_list): Likewise.
27984 (autoload_fs_module): Moved to normal/autofs.c.
27985 (read_fs_list): Likewise.
27986 (reader_nested): New variable.
27987 (grub_normal_execute): Run parser.sh to switch to sh parser.
27988 (grub_cmd_rescue): Removed.
27989 (cmd_normal): Removed.
27990 (grub_cmd_normal): Unregister itself at the beginning. Don't register
27991 rescue command.
27992 (grub_cmdline_run): New function.
27993 (grub_normal_reader_init): Likewise.
27994 (grub_normal_read_line): Likewise.
27995 (grub_env_write_pager): Likewise.
27996 (cmdline): New variable.
27997 (grub_normal_reader): Likewise.
27998 (GRUB_MOD_INIT): Register normal reader and set as current, register
27999 pager hook, register normal command with grub_register_command_prio,
28000 so that it won't show up in command.lst.
28001 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
28002 grub_fs_autoload_hook.
28003
28004 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
28005 (grub_menu_execute_entry): Replace grub_script_execute with
28006 grub_parser_execute, change parameter to grub_command_execute.
28007
28008 * normal/menu_text.c: Remove <grub/script.h>.
28009
28010 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
28011 and <grub/parser.h>.
28012 (run): Change editor_getline to use new parser interface. Change
28013 parameter to grub_command_execute.
28014
28015 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
28016 <grub/reader.h> and <grub/parser.h>.
28017 (grub_load_normal_mode): Execute normal command.
28018 (grub_main): Call grub_register_core_commands,
28019 grub_register_rescue_parser and grub_register_rescue_reader, use
28020 grub_reader_loop to enter input loop.
28021
7dd4a573 28022 * kern/parser.c (grub_parser_split_cmdline): Change type of
28023 getline parameter.
d558e6b5 28024 (grub_parser_class): New variable.
28025 (grub_parser_execute): New function.
28026
28027 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
28028 * loader/multiboot2.c: Likewise.
28029 * loader/sparc64/ieee1275/linux.c: Likewise.
28030
28031 * util/grub-emu.c (read_command_list): New dummy function.
28032
18db813d 280332009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28034
28035 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
28036 count to 16 for CCISS and IDA.
28037
6c67de15 280382009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28039
28040 * normal/menu_text.c (grub_wait_after_message): Print a newline
28041 after waiting for user input.
28042
28043 * loader/i386/linux.c: Include `<grub/normal.h>'.
28044 (grub_cmd_linux): Improve the error message about `ask' mode, by
28045 waiting for user input so it's not missed (we can do this, since
28046 user requested interaction).
28047
d9dc87b0 280482009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28049
28050 Added missing lst to grub-mkrescue
28051
28052 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
28053 and ${input_dir}/parttool.lst
28054
ac8a2baa 280552009-04-30 David S. Miller <davem@davemloft.net>
28056
ad22a610 28057 * util/hostdisk.c (device_is_wholedisk): New function.
28058 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
28059 zero only if device_is_wholedisk() returns true.
28060
6966215d 28061 * util/hostdisk.c (convert_system_partition_to_system_disk):
28062 Handle virtual disk devices named /dev/vdiskX as found on sparc
28063 and powerpc.
28064
ac8a2baa 28065 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
28066 lettered partition specifier is found, convert to numbered.
28067
979b4fb4 280682009-04-29 David S. Miller <davem@davemloft.net>
28069
e2bf39b2 28070 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
28071 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28072
3c64e104 28073 * normal/command.c: Add missing newline at end of file.
28074
979b4fb4 28075 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
28076 warnings.
28077 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
28078 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
28079 grub_ofdisk_read): Likewise, and deal similarly with the fact that
28080 ihandles have a 32-bit type but need to be stored in a "void *".
28081
136d9f82 280822009-04-28 Pavel Roskin <proski@gnu.org>
28083
9459c306 28084 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
28085 not disk. Adjust all dependencies.
2e08a26a 28086 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 28087 grub_disk_close().
28088
136d9f82 28089 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
28090 parent's partition, don't copy it by reference, as it gets freed
28091 on close.
28092
7dd4a573 280932009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 28094
28095 Preboot hooks support
28096
28097 * commands/boot.c (struct grub_preboot_t): new declaration
28098 (preboots_head): new variable
28099 (preboots_tail): likewise
28100 (grub_loader_register_preboot_hook): new function
28101 (grub_loader_unregister_preboot_hook): likewise
28102 (grub_loader_set): launch preboot hooks
28103 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
28104 (grub_loader_register_preboot_hook): new declaration
28105 (grub_loader_unregister_preboot_hook): likewise
28106
5af922b5 281072009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
28108
28109 Warning fix
28110
7dd4a573 28111 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 28112 calling grub_dprintf
28113
a5562c30 281142009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
28115
28116 Bug and warning fixes
28117
7dd4a573 28118 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 28119 declaration
28120 * commands/test.c (test_parse): fixed bug with file tests and corrected
28121 declaration of find_file
28122
4006f85c 281232009-04-26 Pavel Roskin <proski@gnu.org>
28124
28125 * Makefile.in: Don't install empty manual pages if help2man is
28126 missing. Use help2man option for output, not shell redirection.
28127
5c77c3de 281282009-04-26 David S. Miller <davem@davemloft.net>
28129
28130 * util/grub-mkdevicemap.c (make_device_map): Add missing
28131 NESTED_FUNC_ATTR to process_device().
28132
033b10a8 281332009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28134
28135 Test command
28136
28137 * commands/test.c: rewritten to use bash-like test
28138
e4343593 281392009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28140
28141 Parttool autoloading and improvements
28142
7dd4a573 28143 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 28144 (parttool.lst): new target
28145 * genmk.rb: generate parttool-*
28146 (CLEANFILES): add #{parttool}
28147 (PARTTOOLFILES): new variable
28148 * genparttoollist.sh: new file
7dd4a573 28149 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 28150 (grub_pcpart_type): likewise
28151 * commands/parttool.c (helpmsg): new variable
28152 (grub_cmd_parttool): output help if not enough arguments are supplied
28153 autoload modules
28154 (GRUB_MOD_INIT(parttool)): use helpmsg
28155
0d312500 281562009-04-24 David S. Miller <davem@davemloft.net>
28157
7dd4a573 28158 Avoiding opening same device multiple times in device iterator.
0d312500 28159
28160 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 28161 and use it to build a list of partitions in iterate_disk() and
0d312500 28162 iterate_partition().
28163
ac20caff 28164 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
28165 on disk->data.
28166
0dcf7495 28167 * disk/ieee1275/nand.c (grub_nand_iterate): Return
28168 grub_devalias_iterate() result instead of unconditional 0.
28169 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
28170 Also, capture hook return value, either directly or via
28171 grub_children_iterate(), and propagate to caller.
28172 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
28173 grub_children_iterate): Return value is now 'int' instead of
28174 'grub_err_t'.
28175 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
28176 like a proper iterator, stopping when hooks return non-zero.
28177 (grub_devalias_iterate): Likewise.
28178
c8c08833 281792009-04-23 David S. Miller <davem@davemloft.net>
28180
28181 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
28182
f01005a8 281832009-04-22 David S. Miller <davem@davemloft.net>
28184
28185 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
28186 is larger than address_cells, use that value for address_cells too.
28187
4e8269da 28188 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
28189 IEEE1275_MAX_PATH_LEN): Define.
28190 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
28191 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
28192 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
28193 'devtype'. Explicitly NULL terminate devalias expansion.
28194
a1447506 28195 * util/sparc64/ieee1275/misc.c: New file.
28196 * util/sparc64/ieee1275/grub-setup.c: New file.
28197 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
28198 * util/sparc64/ieee1275/grub-mkimage.c: New file.
28199 * util/sparc64/ieee1275/grub-install.in: New file.
28200 * util/ieee1275/ofpath.c: New file.
28201 * util/ieee1275/devicemap.c: New file.
28202 * util/devicemap.c: New file.
28203 * util/deviceiter.c: New file.
28204 * kern/sparc64/ieee1275/init.c: New file.
28205 * include/grub/util/ofpath.h: New file.
28206 * include/grub/util/deviceiter.h: New file.
28207 * util/grub-mkdevicemap.c: Include deviceiter.h.
28208 Implement using grub_util_emit_devicemap_entry and
28209 grub_util_iterate_devices.
28210 * conf/i386-corebook.rmk: Build util/deviceiter.c and
28211 util/devicemap.c into grub-mkdevicemap
28212 * conf/i386-efi.rmk: Likewise.
28213 * conf/i386-ieee1275.rmk: Likewise.
28214 * conf/i386-pc.rmk: Likewise.
28215 * conf/powerpc-ieee1275.rmk: Likewise.
28216 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
28217 images and installation utilities. Build kernel as image
28218 instead of as elf binary. Use common rules as much as possible.
28219
7dd4a573 282202009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 28221
28222 Correct GPT definition
28223
7dd4a573 28224 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 28225 of "attrib" member
28226
c6c5219f 282272009-04-19 Felix Zielcke <fzielcke@z-51.de>
28228
28229 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
28230
0552ff9f 282312009-04-19 David S. Miller <davem@davemloft.net>
28232
28233 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
28234 (grub_rescue_cmd_linux): Rename to...
28235 (grub_cmd_linux): and fix prototype.
28236 (grub_rescue_cmd_initrd): Rename to...
28237 (grub_cmd_initrd): and fix prototype.
28238 (cmd_linux, cmd_initrd): New.
28239 (GRUB_MOD_INIT(linux)): Use grub_register_command().
28240 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
28241
d1a282fc 282422009-04-17 Pavel Roskin <proski@gnu.org>
28243
07c5039f 28244 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
28245 format.
28246 (grub_ohci_transfer): Likewise.
28247
b012002d 28248 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
28249
1bc09c35 28250 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
28251 return without a value. Fix inconsistent indentation.
28252
e0ff9126 28253 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
28254 match struct grub_fs.
28255
d1a282fc 28256 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
28257 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
28258 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
28259 * commands/lspci.c (grub_lspci_iter): Likewise.
28260
a96df3f2 282612009-04-16 Bean <bean123ch@gmail.com>
28262
28263 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
28264 value.
28265
41bb0fe9 282662009-04-15 Pavel Roskin <proski@gnu.org>
28267
28268 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
28269 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
28270 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
28271 definitions.
28272
596c6970 282732009-04-15 Felix Zielcke <fzielcke@z-51.de>
28274
28275 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 28276 that no multiple data or metadata areas are supported and `Unknown
596c6970 28277 metadata header'.
28278
7dd4a573 282792009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 28280
28281 Move loader out of the kernel
28282
28283 * kern/loader.c: moved to ...
28284 * commands/boot.c: ... moved here
28285 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
28286 * commands/boot.c (grub_cmd_boot): moved here. All users updated
28287 * include/grub/kernel.h (grub_machine_fini): export
28288 * include/grub/loader.h (grub_loader_is_loaded): update declaration
28289 (grub_loader_set): likewise
28290 (grub_loader_unset): likewise
28291 (grub_loader_boot): likewise
28292 * conf/common.rmk: new module boot.mod
28293 (pkglib_MODULES): add boot.mod
28294 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
28295 (grub_emu_SOURCES): likewise
28296 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
28297 (grub_emu_SOURCES): likewise
28298 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
28299 (grub_emu_SOURCES): likewise
28300 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
28301 (grub_emu_SOURCES): likewise
28302 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
28303 (grub_emu_SOURCES): likewise
7dd4a573 28304 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
28305 (grub_emu_SOURCES): likewise
0d5d5653 28306 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 28307 (grub_emu_SOURCES): likewise
0d5d5653 28308
7dd4a573 283092009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 28310
28311 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 28312
5999d619 28313 * kern/misc.c (grub_itoa): Removed function
28314 (grub_ltoa): likewise
28315 (grub_vsprintf): use grub_lltoa
28316
7dd4a573 283172009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 28318
28319 Restore grub-emu
28320
28321 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
28322 * conf/i386-coreboot.rmk: likewise
28323 * conf/i386-ieee1275.rmk: likewise
28324 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 28325
20318222 283262009-04-15 Felix Zielcke <fzielcke@z-51.de>
28327
28328 * INSTALL: Add that `./autogen.sh' needs to be run before
28329 `./configure.'.
28330
d05f0df3 283312009-04-14 Bean <bean123ch@gmail.com>
28332
28333 * Makefile.in (pkglib_DATA): Add handler.lst.
28334 (handler.lst): New rule.
28335
28336 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
28337 * conf/i386-coreboot.rmk: Likewise.
28338 * conf/i386-ieee1275.rmk: Likewise.
28339 * conf/i386-efi.rmk: Likewise.
28340 * conf/x86_64-efi.rmk: Likewise.
28341 * conf/powerpc-ieee1275.rmk: Likewise.
28342 * conf/sparc64-ieee1275.rmk: Likewise.
28343
28344 * genhandlerlist.sh: New file.
28345
28346 * genmk.rb: Add rules to generate handler.lst.
28347
28348 * include/grub/normal.h (grub_file_getline): New function definition.
28349 (read_handler_list): Likewise.
28350 (free_handler_list): Likewise.
28351
28352 * include/grub/term.h (grub_term_register_input): Add name parameter
28353 for auto generation of handler.lst.
28354 (grub_term_register_output): Likewise.
28355
28356 * normal/handler.c: New file.
28357
28358 * normal/main.c (get_line): Renamed to grub_file_getline.
28359 (read_config_file): Use the newly renamed grub_file_getline.
28360 (read_command_list): Likewise.
28361 (read_fs_list): Likewise.
28362 (grub_normal_execute): Call read_handler_list to parse handler.lst.
28363 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
28364
28365 * term/efi/console.c (grub_console_init): Add name parameter for auto
28366 generation of handler.lst.
28367 * term/gfxterm.c: Likewise.
28368 * term/i386/pc/at_keyboard.c: Likewise.
28369 * term/i386/pc/console.c: Likewise.
28370 * term/i386/pc/serial.c: Likewise.
28371 * term/i386/pc/vesafb.c: Likewise.
28372 * term/i386/pc/vga.c: Likewise.
28373 * term/i386/pc/vga_text.c: Likewise.
28374 * term/ieee1275/ofconsole.c: Likewise.
28375 * term/usb_keyboard.c: Likewise.
28376
33c846be 283772009-04-14 Bean <bean123ch@gmail.com>
28378
28379 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
28380 properly with null character.
28381
4484e01e 283822009-04-14 Felix Zielcke <fzielcke@z-51.de>
28383
28384 * configure: Remove.
28385 * config.h.in: Likewise.
f93d668e 28386 * stamp-h.in: Likewise.
4484e01e 28387 * DISTLIST: Likewise.
28388 * conf/common.mk: Likewise.
28389 * conf/i386-coreboot.mk: Likewise.
28390 * conf/i386-efi.mk: Likewise.
28391 * conf/i386-ieee1275.mk: Likewise.
28392 * conf/i386.mk: Likewise.
28393 * conf/i386-pc.mk: Likewise.
28394 * conf/powerpc-ieee1275.mk: Likewise.
28395 * conf/sparc64-ieee1275.mk: Likewise.
28396 * conf/x86_64-efi.mk: Likewise.
28397
28398 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
28399 develop on GRUB.
28400
7dd4a573 284012009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 28402 David S. Miller <davem@davemloft.net>
28403
28404 * util/hostdisk.c (make_device_name): Fix buffer length
28405 calculations.
28406
e25b5a8c 284072009-04-14 Felix Zielcke <fzielcke@z-51.de>
28408
28409 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
28410 <sys/param.h> and <sys/sysctl.h>.
28411 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
28412 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
28413 opening the device and reset them afterwards.
28414
1f1f580c 284152009-04-13 Pavel Roskin <proski@gnu.org>
28416
28417 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
28418 Reported by John Stanley <jpsinthemix@verizon.net>
28419
7ebc2d6b 284202009-04-13 Robert Millan <rmh@aybabtu.com>
28421
28422 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 28423 that name for menuentries when appropriate.
7ebc2d6b 28424
d8ba3667 284252009-04-13 Felix Zielcke <fzielcke@z-51.de>
28426
28427 * util/grub.d/10_freebsd.in: Add a missing `fi'.
28428
cba416eb 284292009-04-13 Robert Millan <rmh@aybabtu.com>
28430
28431 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
28432 to Linux, simply abort telling the user it's no longer supported.
28433
a547a745 284342009-04-13 Felix Zielcke <fzielcke@z-51.de>
28435
28436 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 28437 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 28438 `freebsd_loadenv' only when devices.hints exist.
28439
232a769c 284402009-04-13 Pavel Roskin <proski@gnu.org>
28441
28442 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
28443
c3012039 284442009-04-13 Felix Zielcke <fzielcke@z-51.de>
28445
28446 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
28447 partition number.
28448 (grub_drive): Likewise.
28449
234022fe 284502009-04-13 David S. Miller <davem@davemloft.net>
28451
28452 * kern/sparc64/ieee1275/ieee1275.c: New file.
28453 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
28454 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
28455 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
28456 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
28457 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
28458 grub_ieee1275_alloc_physmem): Declare new exported functions.
28459
d8e1836c 28460 * include/grub/sparc64/ieee1275/loader.h: New file.
28461 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28462 * include/grub/sparc64/kernel.h: Likewise.
28463 * loader/sparc64/ieee1275/linux.c: Likewise.
28464
96bd81ec 28465 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
28466 (grub_fstest_SOURCES): Likewise.
28467
6a4737e5 28468 * util/hostdisk.c (make_device_name): Do not make any assumptions
28469 about the length of drive names.
28470
1d7a72fd 28471 * kern/dl.c (grub_dl_load_file): Close file immediately when
28472 we are done using it.
28473
56bc2471 284742009-04-12 David S. Miller <davem@davemloft.net>
28475
28476 * kern/misc.c (grub_ltoa): Fix cast when handling negative
28477 values. Noticed by Pavel Roskin.
28478
df38d0bb 28479 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
28480 target compiler.
7dd4a573 28481
e382e93a 28482 * genmk.rb: Add more flexible image type specification, also
28483 pass --strip-unneeded to objcopy.
28484 * conf/i386-pc.rmk: Use *_FORMAT.
28485 * conf/i386-pc.mk: Rebuilt.
28486
f5dbbca9 28487 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
28488 (OFDISK_HASH_SZ): Define.
28489 (ofdisk_hash): New hash table.
28490 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
28491 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
28492 instead of device phandle which is not unique.
28493
91c88b12 28494 * kern/sparc64/ieee1275/init.c: Delete, replace with...
28495 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
28496 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
28497 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
28498 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
28499 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
28500 GRUB_KERNEL_MACHINE_DATA_END): Define.
28501 (grub_kernel_image_size, grub_total_module_size): Declare.
28502
5b5d4aa5 285032009-04-12 Pavel Roskin <proski@gnu.org>
28504
7dd4a573 28505 * configure.ac: Change the logic when we check for target tools.
28506 Do it when the target is specified and it's different from the
28507 specified value of the host.
5b5d4aa5 28508
c91e1793 285092009-04-11 Felix Zielcke <fzielcke@z-51.de>
28510
28511 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
28512 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
28513 GNU/kFreeBSD. Check if a device is a character device. Use
28514 DIOCGMEDIASIZE to get the size.
28515 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
28516 support for GNU/kFreeBSD.
28517 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
28518 is a character device instead of a block device. Add support for
28519 FreeBSD device names.
28520
28521 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
28522 is a character device instead of a block device.
28523
28524 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
28525 is a character device instead of a block device.
28526
b1ac8644 285272009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
28528
28529 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
28530 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
28531 FreeBSD. Check if a device is a character device. Use
28532 DIOCGMEDIASIZE to get the size.
28533 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
28534 support for FreeBSD.
28535 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
28536 is a character device instead of a block device. Add support for
28537 FreeBSD device names.
28538
28539 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
28540 a character device instead of a block device.
28541 (grub_util_check_char_device): New function.
28542
28543 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
28544 a character device instead of a block device.
28545
28546 * include/grub/util/getroot.h (grub_util_check_char_device): New
28547 prototype.
28548
a3f7515a 285492009-04-11 David S. Miller <davem@davemloft.net>
28550
28551 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
28552 static libgcc.
28553 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
28554 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
28555 function, if present.
28556 (__bswapdi2): Likewise.
28557
0d44993d 28558 * include/grub/sparc64/ieee1275/boot.h: New file.
28559 * boot/sparc64/ieee1275/boot.S: Likewise.
28560 * boot/sparc64/ieee1275/diskboot.S: Likewise.
28561
ed3d2bc2 28562 * kern/misc.c (grub_ltoa): New function.
28563 (grub_vsprintf): Use it to format 'long' integers.
28564
d3bfb59c 285652009-04-10 David S. Miller <davem@davemloft.net>
28566
28567 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
28568 slots are of type grub_ieee1275_cell_t.
28569 (grub_nand_read): Likewise.
28570 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
28571 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
28572 macros are used to compare values in arg/ret block of the call.
28573 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
28574 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
28575 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
28576 grub_ieee1275_instance_to_path, grub_ieee1275_write,
28577 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
28578 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
28579 grub_ieee1275_close, grub_ieee1275_set_property,
28580 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
28581 grub_ieee1275_cell_t.
28582 * kern/ieee1275/openfw.c (grub_map): Likewise.
28583 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
28584 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
28585
450e2238 28586 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
28587 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
28588 (grub_devalias_iterate): Likewise.
28589
7dd4a573 285902009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 28591
28592 UFS improvements
28593
28594 * fs/ufs.c (INODE_NBLOCKS): new definition
28595 (struct grub_ufs_dirent): added fields for non-BSD dirents
28596 (grub_ufs_get_file_block): fixed double indirect handling
28597 (grub_ufs_lookup_symlink): use more robust way to determine whether
28598 symlink is inline
28599 (grub_ufs_find_file): support for non-BSD dirents
28600 (grub_ufs_dir): support for non-BSD dirents
28601
e7e6862a 286022009-04-10 Bean <bean123ch@gnail.com>
28603
28604 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
28605 attribute, otherwise the size would be wrong for i386 platform.
28606
28607 * include/grub/pci.h (grub_pci_read_word): New inline function.
28608 (grub_pci_read_byte): Likewise.
28609 (grub_pci_write): Likewise.
28610 (grub_pci_write_word): Likewise.
28611 (grub_pci_write_byte): Likewise.
28612
28613 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
28614
28615 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
28616 (find_framebuf): Scan pci to locate the frame buffer address.
28617
28618 * commands/efi/fixvideo.c: New file.
28619
28620 * commands/efi/loadbios.c: Likewise.
28621
28622 * commands/memrw.c: Likewise.
28623
28624 * util/grub-dumpbios.in: Likewise.
28625
28626 * conf/common.rmk (grub-dumpbios): New utility.
28627 (pkglib_MODULES): New module memrw.mod.
28628 (memrw_mod_SOURCE): New macro.
28629 (memrw_mod_CFLAGS): Likewise.
28630 (memrw_mod_LDFLAGS): Likewise.
28631
7dd4a573 28632 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 28633 fixvideo.mod.
28634 (loadbios_mod_SOURCE): New macro.
28635 (loadbios_mod_CFLAGS): Likewise.
28636 (loadbios_mod_LDFLAGS): Likewise.
28637 (fixvideo_mod_SOURCE): Likewise.
28638 (fixvideo_mod_CFLAGS): Likewise.
28639 (fixvideo_mod_LDFLAGS): Likewise.
28640
7dd4a573 28641 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 28642 fixvideo.mod.
28643 (loadbios_mod_SOURCE): New macro.
28644 (loadbios_mod_CFLAGS): Likewise.
28645 (loadbios_mod_LDFLAGS): Likewise.
28646 (fixvideo_mod_SOURCE): Likewise.
28647 (fixvideo_mod_CFLAGS): Likewise.
28648 (fixvideo_mod_LDFLAGS): Likewise.
28649
af63ada2 286502009-04-08 Felix Zielcke <fzielcke@z-51.de>
28651
28652 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
28653
c2cdde70 286542009-04-07 David S. Miller <davem@davemloft.net>
28655
28656 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
28657 support for R_SPARC_OLO10 relocations. Fix compile warning for
28658 R_SPARC_WDISP30 case.
ea3f72cf 28659 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 28660
761319cf 286612009-04-06 Pavel Roskin <proski@gnu.org>
28662
1007d1f5 28663 * include/grub/misc.h (ARRAY_SIZE): New macro.
28664 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
28665 New macro.
28666 * loader/i386/linux.c (allocate_pages): Use free_pages().
28667 (grub_linux_unload): Don't use free_pages().
28668 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
28669 wrong index. Treat all other modes as text modes.
28670 (grub_cmd_linux): Initialize vid_mode unconditionally to
28671 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
28672
761319cf 28673 * commands/help.c (print_command_help): Use cmd->prio, not
28674 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
28675
ea761d40 286762009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 28677
ea761d40 28678 Parttool
28679
28680 * parttool/pcpart.c: new file
28681 * commands/parttool.c: likewise
28682 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
28683 (parttool_mod_SOURCES): new variable
28684 (parttool_mod_CFLAGS): likewise
28685 (parttool_mod_LDFLAGS): likewise
28686 (pcpart_mod_SOURCES): likewise
28687 (pcpart_mod_CFLAGS): likewise
28688 (pcpart_mod_LDFLAGS): likewise
7dd4a573 28689 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 28690 and parttool/pcpart.c
28691 * conf/i386-efi.rmk: likewise
28692 * conf/i386-ieee1275.rmk: likewise
28693 * conf/i386-pc.rmk: likewise
28694 * conf/powerpc-ieee1275.rmk: likewise
28695 * conf/sparc64-ieee1275.rmk: likewise
28696 * conf/x86_64-ieee1275.rmk: likewise
28697
05aaebfb 286982009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28699
28700 Support for mtime and further expandability of dir command
28701
28702 * include/grub/lib/datetime.h: moved to ...
7dd4a573 28703 * include/grub/datetime.h: ... moved here and added
05aaebfb 28704 declaration of grub_unixtime2datetime. All users updated
7dd4a573 28705 * include/grub/fs.h: new syntax for dir and mtime functions in
28706 struct grub_fs
05aaebfb 28707 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
28708 and GRUB_FSHELP_FLAGS_MASK
28709 * commands/ls.c (grub_ls_list_files): Write mtime in long format
28710 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
28711 (grub_ext2_mtime): new function
28712 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
28713 (grub_hfsplus_mtime): new function
28714 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
28715 (GRUB_UFS_ATTR_FILE): likewise
28716 (GRUB_UFS_ATTR_LNK): likewise
28717 (struct grub_ufs_sblock): new fields mtime
28718 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
28719 all users updated
28720 (grub_ufs_dir): mtime support
28721 (grub_ufs_mtime): new function
28722 * fs/affs.c (grub_affs_dir): use new dir syntax
28723 * fs/afs.c (grub_afs_dir): likewise
28724 * fs/cpio.c (grub_cpio_dir): likewise
28725 * fs/fat.c (grub_fat_find_dir): likewise
28726 * fs/hfs.c (grub_hfs_dir): likewise
28727 * fs/iso9660.c (grub_iso9660_dir): likewise
28728 * fs/jfs.c (grub_jfs_dir): likewise
28729 * fs/minix.c (grub_minix_dir): likewise
28730 * fs/ntfs.c (grub_ntfs_dir): likewise
28731 * fs/reiserfs.c (grub_reiserfs_dir): likewise
28732 * fs/sfs.c (grub_sfs_dir): likewise
28733 * fs/xfs.c (grub_xfs_dir): likewise
28734 * util/hostfs.c (grub_hostfs_dir): likewise
28735 * lib/datetime.c: moved to ...
28736 * normal/datetime.c: ... moved here
28737 (grub_unixtime2datetime): new function
28738 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 28739 * normal/completion.c (iterate_dir): use new dir syntax
28740 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 28741 last modification time of a volume
7dd4a573 28742 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 28743 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 28744 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 28745 (normal_mod_SOURCES): likewise
28746 (datetime_mod_SOURCES): Removed lib/datetime.c
28747 * conf/i386-efi.rmk: likewise
7dd4a573 28748 * conf/i386-ieee1275.rmk: likewise
05aaebfb 28749 * conf/i386-pc.rmk: likewise
28750 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 28751 * conf/sparc64-ieee1275.rmk: likewise
28752 * conf/x86_64-efi.rmk: likewise
05aaebfb 28753
8a7e1a14 287542009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28755
28756 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 28757
28758 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 28759 on grub_fat_find_dir
28760 (grub_fat_find_dir): use grub_fat_iterate_dir
28761 (grub_fat_label): likewise
28762
04186a9c 287632009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
28764
7dd4a573 28765 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 28766 and command.h
28767 remove extraneous kernel_elf_HEADERS
28768
da4c0bb6 287692009-04-04 Bean <bean123ch@gnail.com>
28770
28771 * include/grub/util/misc.h: Add dummy function fsync for mingw.
28772
28773 * util/misc.c: Likewise.
28774
54ad9555 287752009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
28776
28777 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
28778 instead of grub_printf.
28779
7a6bf9f2 287802009-04-03 Robert Millan <rmh@aybabtu.com>
28781
28782 * loader/i386/linux.c (grub_linux_setup_video): Fill
28783 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
28784 values from `mode info' structure instead of hardcoded
28785 values.
28786
3fcc2083 287872009-04-01 Pavel Roskin <proski@gnu.org>
28788
28789 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
28790 unused now.
28791 * genmk.rb: Likewise.
28792 * configure.ac: Likewise.
28793
5ec9740b 287942009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
28795
28796 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
28797 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
28798
5270cec8 287992009-04-01 David S. Miller <davem@davemloft.net>
28800
28801 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 28802 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 28803 (grub_setjmp): Mark with 'returns_twice' attribute.
28804 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
28805 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
28806 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
28807
9c3dd854 288082009-04-01 Robert Millan <rmh@aybabtu.com>
28809
28810 Reapply fix from 2008-07-28 which was accidentally reverted; also
28811 perform the same fix to a similar check in same function.
28812
28813 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
28814 with the same number are found, just use issue a warning with
28815 grub_dprintf(), as this error has been reported to be non-fatal.
28816
0d818b7e 288172009-03-31 Pavel Roskin <proski@gnu.org>
28818
28819 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
28820 for cross-compilation.
28821
95646d92 288222009-03-30 Robert Millan <rmh@aybabtu.com>
28823
28824 Fix i386-ieee1275 build.
28825
28826 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
28827 Remove declaration.
28828
6a003ed1 288292009-03-30 Pavel Roskin <proski@gnu.org>
28830
28831 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
28832 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
28833 zero-terminated, rely only on the strlen value. Fix comparison
28834 of strings differing in length.
28835
92f33540 288362009-03-30 Robert Millan <rmh@aybabtu.com>
28837
28838 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
28839 checking for abi version. Improve error messages on BIOS to notify
28840 user about `linux16' command.
28841
a8c48fd5 288422009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
28843
f968172e 28844 Leak fixes
a8c48fd5 28845
f968172e 28846 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
28847 in case of collision
28848 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 28849
9c323f09 288502009-03-29 Robert Millan <rmh@aybabtu.com>
28851
28852 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
28853 set `vid_mode' accordingly.
28854 (grub_linux_boot): Process `vid_mode' and set video mode.
28855
ae68f423 288562009-03-29 Robert Millan <rmh@aybabtu.com>
28857
28858 * util/grub.d/10_linux.in (linux_entry): New function.
28859 Factorize generation of Linux boot entries.
28860
5709cfc4 288612009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
28862
28863 Make the format of Environment Block plain text. The boot loader
28864 part is not tested well yet.
7dd4a573 28865
5709cfc4 28866 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
28867 (buffer): Removed.
28868 (envblk): Likewise.
28869 (usage): Remove "info" and "clear". Add "unset". Update the
28870 description of "set", as this does not delete variables any
28871 longer.
28872 (create_envblk_file): Complete rewrite.
28873 (open_envblk_file): Likewise.
28874 (cmd_info): Removed.
28875 (cmd_list): Likewise.
28876 (cmd_set): Likewise.
28877 (cmd_clear): Likewise.
28878 (list_variables): New function.
28879 (write_envblk): Likewise.
28880 (set_variables): Likewise.
28881 (unset_variables): Likewise.
28882 (main): Complete rewrite.
28883
28884 * commands/loadenv.c (buffer): Removed.
28885 (envblk): Likewise.
28886 (open_envblk_file): New function.
28887 (read_envblk_file): Complete rewrite.
28888 (grub_cmd_load_env): Likewise.
28889 (grub_cmd_list_env): Likewise.
28890 (struct blocklist): New struct.
28891 (free_blocklists): New function.
28892 (check_blocklists): Likewise.
28893 (write_blocklists): Likewise.
28894 (grub_cmd_save_env): Complete rewrite.
28895
28896 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
28897 a plain text signature.
28898 (GRUB_ENVBLK_MAXLEN): Removed.
28899 (struct grub_envblk): Complete rewrite.
28900 (grub_envblk_find): Removed.
28901 (grub_envblk_insert): Likewise.
28902 (grub_envblk_open): New prototype.
28903 (grub_envblk_set): Likewise.
28904 (grub_envblk_delete): Put const to VALUE.
28905 (grub_envblk_iterate): Put const to NAME and VALUE.
28906 (grub_envblk_close): New prototype.
28907 (grub_envblk_buffer): New inline function.
28908 (grub_envblk_size): Likewise.
28909
28910 * lib/envblk.c: Include grub/mm.h.
28911 (grub_env_find): Removed.
28912 (grub_envblk_open): New function.
28913 (grub_envblk_close): Likewise.
28914 (escaped_value_len): Likewise.
28915 (find_next_line): Likewise.
28916 (grub_envblk_insert): Removed.
28917 (grub_envblk_set): New function.
28918 (grub_envblk_delete): Complete rewrite.
28919 (grub_envblk_iterate): Likewise.
28920
a9368fd3 289212009-03-28 Robert Millan <rmh@aybabtu.com>
28922
28923 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
28924 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
28925 variables. Use 16-bit loader.
28926 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
28927 loader.
28928 * kern/i386/loader.S (grub_linux_boot): Rename to ...
28929 (grub_linux16_boot): ... this. Update all users.
28930 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
28931 (grub_linux_boot): ... this. Update all users.
28932
28933 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
28934 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
28935 commands to `linux16' and `initrd16'.
28936 (GRUB_MOD_FINI(linux)): Rename to ...
28937 (GRUB_MOD_FINI(linux16)): ... this.
28938
e4dd5a7e 289392009-03-24 Pavel Roskin <proski@gnu.org>
28940
28941 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
28942 not just for compilation.
28943
c04d6e05 289442009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
28945
28946 Move multiboot helper out of kernel
28947
28948 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
28949 `loader/i386/multiboot_helper.S'.
28950 * conf/i386-coreboot.rmk: Likewise
28951 * conf/i386-ieee1275.rmk: Likewise
28952
28953 * kern/i386/loader.S: Move multiboot helpers from here...
28954 * loader/i386/multiboot_helper.S: ...moved here
28955 * include/grub/i386/loader.h: Move declarations of multiboot
28956 helpers from here...
28957 * include/grub/i386/multiboot.h: ...moved here
28958 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
28959
42a5b3fc 289602009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
28961
28962 * kern/env.c (grub_env_context_open): Added an argument to specify
28963 whether a new context inherits exported variables from current
28964 one. This is useful when making a sandbox to interpret a config
28965 file.
28966 All callers updated.
28967
28968 * include/grub/env.h (grub_env_context_open): Updated the prototype.
28969
b28bbc4e 289702009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
28971
28972 * kern/env.c (grub_env_context_close): Fix memory leaks.
28973
f04f02e4 289742009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
28975
28976 * normal/main.c (grub_normal_execute): Added an argument
28977 BATCH to specify if an interactive interface should be provided
28978 after reading a config file.
28979 All callers updated.
28980 (read_command_list): Prevent being executed twice.
28981 (read_fs_list): Likewise.
28982
42a5b3fc 28983 * include/grub/normal.h (grub_normal_execute): Updated the
28984 prototype.
f04f02e4 28985
41473ac2 289862009-03-22 Pavel Roskin <proski@gno.org>
28987
fbc00b0c 28988 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
28989 _start.
28990 * kern/i386/pc/startup.S: Likewise.
28991 * kern/i386/efi/startup.S: Likewise.
28992 * kern/i386/ieee1275/startup.S: Likewise.
28993 * kern/i386/coreboot/startup.S: Likewise.
28994 * kern/x86_64/efi/startup.S: Likewise.
28995
41473ac2 28996 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
28997 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
28998 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
28999
2274cc8f 290002009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
29001
29002 Bugfixes in multiboot for bugs uncovered by solaris kernel.
29003
29004 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
29005 limit detection.
29006 Use vaddr of correct segment for entry_point.
29007
b1b797cb 290082009-03-21 Bean <bean123ch@gmail.com>
29009
29010 * commands/blocklist.c: Add include file <grub/command.h>, remove
29011 <grub/normal.h> and <grub/arg.h>.
29012 (grub_cmd_blocklist): Use the new command interface.
29013 (GRUB_MOD_INIT): Likewise.
29014 (GRUB_MOD_FINI): Likewise.
29015 * commands/boot.c: Likewise.
29016 * commands/cat.c: Likewise.
29017 * commands/cmp.c: Likewise.
29018 * commands/configfile.c: Likewise.
29019 * commands/crc.c: Likewise.
29020 * commands/echo.c: Likewise.
29021 * commands/halt.c: Likewise.
29022 * commands/handler.c: Likewise.
29023 * commands/hdparm.c: Likewise.
29024 * commands/help.c: Likewise.
29025 * commands/hexdump.c: Likewise.
29026 * commands/loadenv.c: Likewise.
29027 * commands/ls.c: Likewise.
29028 * commands/lsmmap.c: Likewise.
29029 * commands/lspci.c: Likewise.
29030 * commands/loadenv.c: Likewise.
29031 * commands/read.c: Likewise.
29032 * commands/reboot.c: Likewise.
29033 * commands/search.c: Likewise.
29034 * commands/sleep.c: Likewise.
29035 * commands/test.c: Likewise.
29036 * commands/usbtest.c: Likewise.
29037 * commands/videotest.c: Likewise.
29038 * commands/i386/cpuid.c: Likewise.
29039 * commands/i386/pc/halt.c: Likewise.
29040 * commands/i386/pc/play.c: Likewise.
29041 * commands/i386/pc/pxecmd.c: Likewise.
29042 * commands/i386/pc/vbeinfo.c: Likewise.
29043 * commands/i386/pc/vbetest.c: Likewise.
29044 * commands/ieee1275/suspend.c: Likewise.
29045 * disk/loopback.c: Likewise.
29046 * font/font_cmd.c: Likewise.
29047 * hello/hello.c: Likewise.
29048 * loader/efi/appleloader.c: Likewise.
29049 * loader/efi/chainloader.c: Likewise.
29050 * loader/i386/bsd.c: Likewise.
29051 * loader/i386/efi/linux.c: Likewise.
29052 * loader/i386/ieee1275/linux.c: Likewise.
29053 * loader/i386/linux.c: Likewise.
29054 * loader/i386/pc/chainloader.c: Likewise.
29055 * loader/i386/pc/linux.c: Likewise.
29056 * loader/powerpc/ieee1275/linux.c: Likewise.
29057 * loader/multiboot_loader.c: Likewise.
29058 * term/gfxterm.c: Likewise.
29059 * term/i386/pc/serial.c: Likewise.
29060 * term/terminfo.c: Likewise.
29061
29062 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
29063 * term/i386/pc/vga.c: Likewise.
29064 * video/readers/jpeg.c: Likewise.
29065 * video/readers/png.c: Likewise.
29066 * video/readers/tga.c: Likewise.
29067
29068 * util/grub-fstest (cmd_loopback): Removed.
29069 (cmd_blocklist): Likewise.
29070 (cmd_ls): Likewise.
29071 (grub_register_command): Likewise.
29072 (grub_unregister_command): Likewise.
29073 (execute_command): Use grub_command_find to locate command and execute
29074 it.
29075
29076 * include/grub/efi/chainloader.h: Removed.
29077 * loader/efi/chainloader_normal.c: Likewise.
29078 * loader/i386/bsd_normal.c: Likewise.
29079 * loader/i386/pc/chainloader_normal.c: Likewise.
29080 * loader/i386/pc/multiboot_normal.c: Likewise.
29081 * loader/linux_normal.c: Likewise.
29082 * loader/multiboot_loader_normal.c: Likewise.
29083 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
29084
29085 * gencmdlist.sh: Scan new registration command grub_register_extcmd
29086 and grub_register_command_p1.
29087
29088 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
29089 kern/command.c, lib/arg.c and commands/extcmd.c.
29090 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
29091 (minicmd_mod_SOURCES): New variable.
29092 (minicmd_mod_CFLAGS): Likewise.
29093 (minicmd_mod_LDFLAGS): Likewise.
29094 (extcmd_mod_SOURCES): Likewise.
29095 (extcmd_mod_CFLAGS): Likewise.
29096 (extcmd_mod_LDFLAGS): Likewise.
29097 (boot_mod_SOURCES): Removed.
29098 (boot_mod_CFLAGS): Likewise.
29099 (boot_mod_LDFLAGS): Likewise.
29100
29101 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
29102 kern/corecmd.c.
29103 (kernel_img_HEADERS): Add command.h.
29104 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
29105 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
29106 and lib/arg.c.
29107 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
29108 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
29109 remove the corresponding normal mode command.
29110 (normal_mod_SOURCES): Remove normal/arg.c.
29111 * conf/i386-coreboot.rmk: Likewise.
29112 * conf/i386-efi.rmk: Likewise.
29113 * conf/i386-ieee1275.rmk: Likewise.
29114 * conf/powerpc-ieee1275.rmk: Likewise.
29115 * conf/x86_64-efi.rmk: Likewise.
29116
29117 * include/grub/arg.h: Move from here ...
29118 * include/grub/lib/arg.h: ... to here.
29119
29120 * normal/arg.c: Move from here ...
29121 * lib/arg.c: ... to here.
29122
29123 * commands/extcmd.c: New file.
29124 * commands/minicmd.c: Likewise.
29125 * include/grub/command.h: Likewise.
29126 * include/grub/extcmd.h: Likewise.
29127 * kern/command.c: Likewise.
29128 * kern/corecmd.c: Likewise.
29129
29130 * kern/list.c (grub_list_iterate): Return int instead of void.
29131 (grub_list_insert): New function.
29132 (grub_prio_list_insert): Likewise.
29133
29134 * kern/rescue.c (grub_rescue_command): Removed.
29135 (grub_rescue_command_list): Likewise.
29136 (grub_rescue_register_command): Likewise.
29137 (grub_rescue_unregister_command): Likewise.
29138 (grub_rescue_cmd_boot): Move to minicmd.c
29139 (grub_rescue_cmd_help): Likewise.
29140 (grub_rescue_cmd_info): Likewise.
29141 (grub_rescue_cmd_boot): Likewise.
29142 (grub_rescue_cmd_testload): Likewise.
29143 (grub_rescue_cmd_dump): Likewise.
29144 (grub_rescue_cmd_rmmod): Likewise.
29145 (grub_rescue_cmd_lsmod): Likewise.
29146 (grub_rescue_cmd_exit): Likewise.
29147 (grub_rescue_print_devices): Moved to corecmd.c.
29148 (grub_rescue_print_files): Likewise.
29149 (grub_rescue_cmd_ls): Likewise.
29150 (grub_rescue_cmd_insmod): Likewise.
29151 (grub_rescue_cmd_set): Likewise.
29152 (grub_rescue_cmd_unset): Likewise.
7d074e3c 29153 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 29154 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 29155 commands, remove grub_rescue_register_command calls.
b1b797cb 29156
7d074e3c 29157 * normal/command.c (grub_register_command): Removed.
b1b797cb 29158 (grub_unregister_command): Likewise.
29159 (grub_command_find): Likewise.
29160 (grub_iterate_commands): Likewise.
29161 (rescue_command): Likewise.
29162 (export_command): Moved to corecmd.c.
29163 (set_command): Removed.
29164 (unset_command): Likewise.
29165 (insmod_command): Likewise.
29166 (rmmod_command): Likewise.
29167 (lsmod_command): Likewise.
29168 (grub_command_init): Likewise.
29169
29170 * normal/completion.c (iterate_command): Use cmd->prio to check for
29171 active command.
29172 (complete_arguments): Use grub_extcmd_t structure to find options.
29173 (grub_normal_do_completion): Change function grub_iterate_commands to
29174 grub_command_iterate.
29175
29176 * normal/execute.c (grub_script_execute_cmd): No need to parse
29177 argument here.
29178
29179 * normal/main.c (grub_dyncmd_dispatcher): New function.
29180 (read_command_list): Register unload commands as dyncmd.
29181 (grub_cmd_normal): Use new command interface, register rescue,
29182 unregister normal at entry, register normal, unregister rescue at exit.
29183
29184 * include/grub/list.h (grub_list_test_t): New type.
29185 (grub_list_iterate): Return int instead of void.
29186 (grub_list_insert): New function.
29187 (GRUB_AS_NAMED_LIST_P): New macro.
29188 (GRUB_AS_PRIO_LIST): Likewise.
29189 (GRUB_AS_PRIO_LIST_P): Likewise.
29190 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
29191 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
29192 (grub_prio_list): New structure.
29193 (grub_prio_list_insert): New function.
29194 (grub_prio_list_remove): New inline function.
29195
29196 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
29197 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
29198 (GRUB_COMMAND_FLAG_MENU): Likewise.
29199 (GRUB_COMMAND_FLAG_BOTH): Likewise.
29200 (GRUB_COMMAND_FLAG_TITLE): Likewise.
29201 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
29202 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
29203 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
29204 (grub_command): Likewise.
29205 (grub_register_command): Likewise.
29206 (grub_command_find): Likewise.
29207 (grub_iterate_commands): Likewise.
29208 (grub_command_init): Likewise.
29209 (grub_arg_parse): Likewise.
29210 (grub_arg_show_help): Likewise.
29211
29212 * include/grub/rescue.h (grub_rescue_register_command): Removed.
29213 (grub_rescue_unregister_command): Likewise.
29214
29215 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
29216 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
29217 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
29218
29219 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
29220 grub_rescue_cmd_initrd.
29221 * include/grub/i386/loader.h: Likewise.
29222 * include/grub/x86_64/loader.h: Likewise.
29223
29224 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
29225
1f4147aa 292262009-03-21 Bean <bean123ch@gmail.com>
29227
29228 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
29229 instead of stat in mingw environment.
29230
29231 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
29232
29233 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
29234
29235 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
29236 AC_CONFIG_LINKS.
29237
2156d5ba 292382009-03-21 Bean <bean123ch@gmail.com>
29239
29240 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
29241 out of range error.
29242
177b82ca 292432009-03-18 Michel Dänzer <michel@daenzer.net>
29244
29245 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
29246 checking inode flags for EXT4_EXTENTS_FLAG.
29247
14aad807 292482009-03-18 Robert Millan <rmh@aybabtu.com>
29249
29250 * loader/i386/linux.c: Include `<grub/video.h>' and
29251 `<grub/i386/pc/vbe.h>'..
29252 (grub_linux_setup_video): New function. Loosely based on the EFI one.
29253 (grub_linux32_boot): Attempt to configure video settings with
29254 grub_linux_setup_video().
29255 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
29256 to avoid grub_console_fini() which would step out of graphical mode
29257 unconditionally.
29258
8cf83a27 292592009-03-14 Robert Millan <rmh@aybabtu.com>
29260
29261 Fix build on powerpc.
29262 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
29263
40164e75 292642009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
29265
29266 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
29267 background image command.
29268
c58bc32a 292692009-03-12 Colin D Bennett <colin@gibibit.com>
29270
29271 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
29272 (grub_gfxterm_putchar): Extract pairs of identical calls to
29273 draw_cursor out of conditional blocks.
29274
5415144a 292752009-03-11 Pavel Roskin <proski@gnu.org>
29276
29277 * fs/hfs.c (grub_hfs_strncasecmp): New function.
29278 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
29279
6394042e 292802009-03-11 Robert Millan <rmh@aybabtu.com>
29281
29282 * loader/i386/multiboot_elfxx.c
29283 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
29284
b7b50e5f 292852009-03-11 Felix Zielcke <fzielcke@z-51.de>
29286
29287 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
29288 `kern/handler.c'.
29289
1ca7fc96 292902009-03-11 Robert Millan <rmh@aybabtu.com>
29291
29292 * loader/i386/multiboot.c (code_size): New variable.
29293 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 29294 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 29295 4-byte alignment to MBI and others by increasing
7d074e3c 29296 `boot_loader_name_length' appropriately.
1ca7fc96 29297
29298 * loader/i386/multiboot_elfxx.c
29299 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
29300
a83ea1d2 293012009-03-09 Felix Zielcke <fzielcke@z-51.de>
29302
29303 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
29304 `fs/ext2.c'.
29305
aa9f3bff 293062009-03-08 Robert Millan <rmh@aybabtu.com>
29307
29308 Make loader/i386/linux.c usable on i386-pc again.
29309
29310 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
29311 memory to heap.
29312 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
29313 `#error' stanza.
29314
d8b3b60e 293152009-03-07 Bean <bean123ch@gmail.com>
29316
29317 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
29318 allocation.
29319
b362c9e9 293202009-03-06 Robert Millan <rmh@aybabtu.com>
29321
29322 Fix display issue on terminals with screen size other than 80x25
29323 (e.g. gfxterm with resolution higher than 640x480).
29324
29325 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 29326 position relative to the center of the terminal instead of relying
b362c9e9 29327 on a hardcoded offset.
29328
9304eef1 293292009-03-04 Robert Millan <rmh@aybabtu.com>
29330
29331 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
29332 installed.
29333
29334 * Makefile.in (host_kernel): New variable.
29335 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
29336 scripts instead of just the windows one.
29337 * configure.ac: Initialize and AC_SUBST `host_kernel'.
29338
eabc95fb 293392009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 29340
29341 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
29342 `kern/handler.c'.
29343 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29344 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29345 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29346 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29347 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29348 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29349
ceb1223c 293502009-03-04 Felix Zielcke <fzielcke@z-51.de>
29351
29352 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
29353 or if there's no space for the disk label and print the partition number on a
29354 invalid magic.
29355
4910684a 293562009-03-04 Felix Zielcke <fzielcke@z-51.de>
29357
29358 * util/misc.c: Include <time.h>.
29359 (grub_millisleep): New function.
29360
7e9ca17a 293612009-03-04 Bean <bean123ch@gmail.com>
29362
29363 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
29364 another option -mno-red-zone.
29365
29366 * commands/handler.c: Change module description.
29367
29368 * kern/handler.c: Add missing space at the end of description line.
29369
29370 * kern/list.c: Likewise.
29371
f501677c 293722009-03-03 Robert Millan <rmh@aybabtu.com>
29373
29374 Move more components to the relocation area, and fix mbi pointer
29375 handling to use the destination rather than the origin (thanks to
29376 Vladimir Serbinenko for spotting).
29377
29378 * loader/i386/multiboot.c (mbi_dest): New variable.
29379 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
29380 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
29381 relocation area.
29382
9902d047 293832009-03-01 Bean <bean123ch@gmail.com>
29384
50fb7002 29385 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 29386 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
29387 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
29388 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
29389
29390 * loader/i386/efi/linux.c (acpi_guid): New variable.
29391 (acpi_guid): Likewise.
29392 (EBDA_SEG_ADDR): New constant.
29393 (LOW_MEM_ADDR): Likewise.
29394 (FAKE_EBDA_SEG): Likewise.
29395 (fake_bios_data): New function.
29396 (grub_linux_boot): Call fake_bios_data.
29397
71b9f361 293982009-03-01 Bean <bean123ch@gmail.com>
29399
29400 * commands/terminal.c: Removed.
29401
29402 * commands/handler.c: New file.
29403
29404 * include/grub/list.h: Likewise.
29405
29406 * include/grub/handler.h: Likewise.
29407
29408 * kern/list.c: Likewise.
29409
29410 * kern/handler.c: Likewise.
29411
29412 * kern/term.h: Include header file <grub/handler.h>.
29413 (grub_term_input): Move next field to the beginning.
29414 (grub_term_output): Likewise.
29415 (grub_term_input_class): New variable.
29416 (grub_term_output_class): Likewise.
29417 (grub_term_register_input): Changed to inline function.
29418 (grub_term_register_output): Likewise.
29419 (grub_term_unregister_input): Likewise.
29420 (grub_term_unregister_output): Likewise.
29421 (grub_term_set_current_input): Likewise.
29422 (grub_term_set_current_output): Likewise.
29423 (grub_term_get_current_input): Likewise.
29424 (grub_term_get_current_output): Likewise.
29425 (grub_term_iterate_input): Removed.
29426 (grub_term_iterate_output): Likewise.
29427
29428 * kern/term.c (grub_term_list_input): Removed.
29429 (grub_term_list_output): Likewise.
29430 (grub_term_input_class): New variable.
29431 (grub_term_output_class): Likewise.
50fb7002 29432 (grub_cur_term_input): Change variable as macro.
71b9f361 29433 (grub_cur_term_output): Likewise.
29434 (grub_term_register_input): Removed.
29435 (grub_term_register_output): Likewise.
29436 (grub_term_unregister_input): Likewise.
29437 (grub_term_unregister_output): Likewise.
29438 (grub_term_set_current_input): Likewise.
29439 (grub_term_set_current_output): Likewise.
29440 (grub_term_iterate_input): Likewise.
29441 (grub_term_iterate_output): Likewise.
29442 (grub_term_get_current_input): Likewise.
29443 (grub_term_get_current_output): Likewise.
29444
29445 * util/grub-editenv.c: Include header file <grub/handler.h>.
29446 (grub_term_get_current_input): Removed.
29447 (grub_term_get_current_output): Likewise.
29448 (grub_term_input_class): New variable.
50fb7002 29449 (grub_term_output_class): Likewise.
71b9f361 29450
29451 * util/grub-fstest.c (grub_term_get_current_input): Removed.
29452 (grub_term_get_current_output): Likewise.
29453 (grub_term_input_class): New variable.
50fb7002 29454 (grub_term_output_class): Likewise.
71b9f361 29455
29456 * util/grub-probe.c (grub_term_get_current_input): Removed.
29457 (grub_term_get_current_output): Likewise.
29458 (grub_term_input_class): New variable.
50fb7002 29459 (grub_term_output_class): Likewise.
71b9f361 29460
29461 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
29462 (grub_term_get_current_output): Likewise.
29463 (grub_term_input_class): New variable.
50fb7002 29464 (grub_term_output_class): Likewise.
71b9f361 29465
29466 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
29467 (terminal_mod_SOURCES): Likewise.
29468 (terminal_mod_CFLAGS): Likewise.
29469 (terminal_mod_LDFLAGS): Likewise.
29470
29471 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
29472 handler.c.
29473 (kernel_img_SOURCES): Add list.c and handler.c.
29474 (kernel_img_HEADERS): Add list.h and handler.h.
29475
29476 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
29477 handler.c.
29478 (kernel_mod_SOURCES): Add list.c and handler.c.
29479 (kernel_mod_HEADERS): Add list.h and handler.h.
29480
29481 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
29482 handler.c.
29483 (kernel_elf_SOURCES): Add list.c and handler.c.
29484 (kernel_elf_HEADERS): Add list.h and handler.h.
29485
29486 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
29487 handler.c.
29488 (kernel_elf_SOURCES): Add list.c and handler.c.
29489 (kernel_elf_HEADERS): Add list.h and handler.h.
29490
29491 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
29492 handler.c.
29493 (kernel_mod_SOURCES): Add list.c and handler.c.
29494 (kernel_mod_HEADERS): Add list.h and handler.h.
29495
29496 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
29497 handler.c.
29498 (kernel_elf_SOURCES): Add list.c and handler.c.
29499 (kernel_elf_HEADERS): Add list.h and handler.h.
29500
8a31787f 295012009-02-27 Robert Millan <rmh@aybabtu.com>
29502
29503 Factorize elf32 / elf64 code in Multiboot loader. This will
29504 prevent it from getting out of sync again.
29505
29506 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
29507 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
29508 grub_multiboot_load_elf64): Move from here ...
29509 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
29510 grub_multiboot_load_elf): ... to here (new file).
29511
51cd3dfc 295122009-02-27 Robert Millan <rmh@aybabtu.com>
29513
29514 * util/grub.d/10_linux.in: Rename "single-user mode" to
29515 "recovery mode".
29516
6e8c9c3a 295172009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
29518
29519 Don't leak in SCSI code.
29520 * disk/scsi.c (grub_scsi_close): free `scsi'.
29521
4b6bf4f9 295222009-02-27 Robert Millan <rmh@aybabtu.com>
29523
29524 * loader/i386/pc/multiboot.c: Move from here ...
29525 * loader/i386/multiboot.c: ... to here. Update all users.
29526
b9413424 295272009-02-27 Robert Millan <rmh@aybabtu.com>
29528
29529 Patch from Alexandre Bique <bique.alexandre@gmail.com>
29530 * util/i386/pc/grub-setup.c (setup): Fix directory path.
29531
50fb7002 295322009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 29533
29534 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
29535 b-tree.
29536
8cc50345 295372009-02-27 Robert Millan <rmh@aybabtu.com>
29538
29539 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
29540 `0x' qualifier as 0 when base is specified as parameter).
29541
6e09b8b7 295422009-02-24 Bean <bean123ch@gmail.com>
29543
29544 * configure.ac: Check for -mcmodel=large in x86_64 target.
29545
29546 * include/grub/efi/api.h (efi_call_10): New macro.
29547 (efi_wrap_10): New function.
29548
29549 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
29550 (GRUB_PE32_REL_BASED_HIGH): Likewise.
29551 (GRUB_PE32_REL_BASED_LOW): Likewise.
29552 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
29553 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
29554 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
29555 (GRUB_PE32_REL_BASED_SECTION): Likewise.
29556 (GRUB_PE32_REL_BASED_REL): Likewise.
29557 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
29558 (GRUB_PE32_REL_BASED_DIR64): Likewise.
29559 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
29560
29561 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
29562 issue.
29563
29564 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
29565 (efi_wrap_10): New function.
29566
29567 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
29568
29569 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
29570 MB/MBP model (NV chipset).
29571 (devdata_devs): Add devpath_5 to the list.
29572
29573 * load/i386/efi/linux.c (video_base): Remove variable.
29574 (RGB_MASK): New macro.
29575 (RGB_MAGIC): Likewise.
29576 (LINE_MIN): Likewise.
29577 (LINE_MAX): Likewise.
29578 (FBTEST_STEP): Likewise.
29579 (FBTEST_COUNT): Likewise.
29580 (fb_list): New variable.
29581 (grub_find_video_card): Remove function.
29582 (find_framebuf): New function.
29583 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
29584 line length.
29585
29586 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
29587 problem for x86_64.
29588
74b21bee 295892009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
29590
29591 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
29592
29593 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
29594 coding tool name.
29595
a455f472 295962009-02-22 Robert Millan <rmh@aybabtu.com>
29597
29598 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
29599 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
29600 in our relocation, instead of using it directly from heap. Also
29601 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
29602
6374daf3 296032009-02-21 Robert Millan <rmh@aybabtu.com>
29604
29605 Implement USB keyboard support (based on patch by Marco Gerards)
29606
29607 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
29608 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
29609 (usb_keyboard_mod_LDFLAGS): New variables.
29610
29611 * term/usb_keyboard.c: New file.
29612
8fa4ea70 296132009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29614
29615 Corrected wrong declaration
29616
29617 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
29618
353976ac 296192009-02-14 Christian Franke <franke@computer.org>
29620
29621 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
29622 (grub_lspci_iter): Print class code and programming interface byte.
29623
6aa1169b 296242009-02-14 Christian Franke <franke@computer.org>
29625
29626 * gendistlist.sh: Ignore `.svn' directories.
29627
265372ca 296282009-02-14 Felix Zielcke <fzielcke@z-51.de>
29629
29630 * fs/fat.c: Add 2009 to Copyright line.
29631
9ff516f3 296322009-02-14 Christian Franke <franke@computer.org>
29633
29634 * commands/hdparm.c: New file. Provides `hdparm' command
29635 which sends ATA commands via grub_disk_ata_pass_through ().
29636
29637 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
29638
29639 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
29640 and <grub/cpu/io.h> to include/grub/ata.h.
29641 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
29642 (GRUB_CDROM_SECTOR_SIZE): Remove.
29643 (GRUB_ATA_*): Move to include/grub/ata.h.
29644 (GRUB_ATAPI_*): Likewise.
29645 (enum grub_ata_commands): Likewise.
29646 (enum grub_ata_timeout_milliseconds): Likewise.
29647 (struct grub_ata_device): Likewise.
29648 (grub_ata_regset): Likewise.
29649 (grub_ata_regget): Likewise.
29650 (grub_ata_regset2): Likewise.
29651 (grub_ata_regget2): Likewise.
29652 (grub_ata_check_ready): Likewise.
29653 (grub_ata_wait_not_busy): Remove static, exported in
29654 include/grub/ata.h.
29655 (grub_ata_wait_drq): Likewise.
29656 (grub_ata_pio_read): Likewise.
29657
29658 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
29659 function for hdparm.mod.
29660
29661 * include/grub/ata.h: New file, contains declarations from
29662 disk/ata.c.
29663 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
29664
29665 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
29666 (grub_disk_ata_pass_through): New exported variable.
29667
29668 * kern/disk.c (grub_disk_ata_pass_through): New variable.
29669
772e23da 296702009-02-13 Colin D Bennett <colin@gibibit.com>
29671
29672 Support multiple fallback entries, and provide an API to support
29673 executing default+fallback menu entries. Renamed the `terminal' menu
29674 viewer to `text'.
29675
29676 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
29677 variable declaration.
29678 (grub_menu_execute_callback): New structure declaration.
29679 (grub_menu_execute_callback_t): New typedef.
29680 (grub_menu_execute_with_fallback): New function declaration.
29681 (grub_menu_get_entry): Likewise.
29682 (grub_menu_get_timeout): Likewise.
29683 (grub_menu_set_timeout): Likewise.
29684
29685 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
29686
29687 * normal/menu.c (grub_wait_after_message): Moved to
29688 `normal/menu_text.c'.
29689 (draw_border): Likewise.
29690 (print_message): Likewise.
29691 (print_entry): Likewise.
29692 (print_entries): Likewise.
29693 (grub_menu_init_page): Likewise.
29694 (get_entry_number): Likewise.
29695 (print_timeout): Likewise.
29696 (run_menu): Likewise.
29697 (grub_menu_execute_entry): Likewise.
29698 (show_text_menu): Likewise.
29699 (get_and_remove_first_entry_number): New function.
29700 (grub_menu_execute_with_fallback): Likewise.
29701 (get_entry): Renamed to ...
29702 (grub_menu_get_entry): .. this and made it global.
29703 (get_timeout): Renamed to ...
29704 (grub_menu_get_timeout): ... this and made it global.
29705 (set_timeout): Renamed to ...
29706 (grub_menu_set_timeout): ... this and made it global.
29707 (grub_normal_terminal_menu_viewer): Renamed to ...
29708 (grub_normal_text_menu_viewer): ... this.
29709
29710 * normal/menu_text.c: New file. Extracted text-menu-specific code
29711 from normal/menu.c.
29712
29713 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
29714 (normal_mod_SOURCES): Likewise.
29715
29716 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29717 (normal_mod_SOURCES): Likewise.
29718
29719 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29720 (normal_mod_SOURCES): Likewise.
29721
29722 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
29723 (normal_mod_SOURCES): Likewise.
29724
29725 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29726 (normal_mod_SOURCES): Likewise.
29727
29728 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29729 (normal_mod_SOURCES): Likewise.
29730
29731 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29732 (normal_mod_SOURCES): Likewise.
29733
16ac430e 297342009-02-11 Robert Millan <rmh@aybabtu.com>
29735
29736 * util/grub.d/00_header.in: Update old reference to `font' command.
29737
06ff20fc 297382009-02-10 Felix Zielcke <fzielcke@z-51.de>
29739
29740 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
29741
29742 Based on patch from Javier Martín.
29743
96da9407 297442009-02-09 Felix Zielcke <fzielcke@z-51.de>
29745
29746 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 29747 to avoid false positives with FAT.
96da9407 29748 (grub_fstest_SOURCES): Likewise.
29749 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29750 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29751 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29752 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29753 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29754 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29755
6dca6fe4 297562009-02-09 Felix Zielcke <fzielcke@z-51.de>
29757
06ff20fc 29758 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 29759 bpb.version_specific.fat12_or_fat16.fstype and
29760 bpb.version_specific.fat32.fstype.
29761
2550c62f 297622009-02-08 Robert Millan <rmh@aybabtu.com>
29763
be110b30 29764 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 29765
56978920 297662009-02-08 Robert Millan <rmh@aybabtu.com>
29767
29768 * Makefile.in (host_os, host_cpu): New variables.
29769 (target_os): Remove. Update all users.
29770
d64399b5 297712009-02-08 Marco Gerards <marco@gnu.org>
29772
29773 * Makefile.in (enable_grub_emu_usb): New variable.
29774 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
29775 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
29776 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
29777 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
29778 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
29779 `usbtest.mod' and `usbms.mod'.
29780 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
29781 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
29782 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
29783 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
29784 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
29785 variables.
29786
29787 * disk/usbms.c: New file.
29788
29789 * include/grub/usb.h: Likewise.
29790
29791 * include/grub/usbtrans.h: Likewise.
29792
29793 * include/grub/usbdesc.h: Likewise.
29794
29795 * bus/usb/usbtrans.c: Likewise.
29796
29797 * bus/usb/ohci.c: Likewise.
29798
29799 * bus/usb/uhci.c: Likewise.
29800
29801 * bus/usb/usbhub.c: Likewise.
29802
29803 * bus/usb/usb.c: Likewise.
29804
29805 * commands/usbtest.c: Likewise.
29806
29807 * util/usb.c: Likewise.
50fb7002 29808
d64399b5 29809 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
29810
29811 * configure.ac: Test for libusb presence.
50fb7002 29812
d64399b5 29813 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
29814
2b40d6bb 298152009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
29816
29817 * kern/mm.c: Add more comments.
29818
73a4ce81 298192009-02-08 Robert Millan <rmh@aybabtu.com>
29820
29821 Patch from Javier Martín.
29822 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
29823 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
29824
f821ce59 298252009-02-08 Robert Millan <rmh@aybabtu.com>
29826
29827 * fs/cpio.c: Split tar functionality to ...
29828 * fs/tar.c: ... here (new file). Update all users.
29829
aebfc4b0 298302009-02-07 Robert Millan <rmh@aybabtu.com>
29831
29832 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
29833 backward-incompatible features.
29834
29835 Based on patch from Javier Martín, with some adjustments.
29836
50fb7002 298372009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 29838
29839 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
29840
0bb5115e 298412009-02-07 Robert Millan <rmh@aybabtu.com>
29842
29843 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
29844 position of `disk/lvm.c' to ensure grub_init_all() always picks it
29845 after the RAID stuff.
29846
38a0f8e7 298472009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
29848
50fb7002 29849 Fixes problem when running vbetest command as reported by
38a0f8e7 29850 Vladimir Serbinenko <phcoder@gmail.com>.
29851
29852 * (grub_vbe_set_video_mode): Fixed problem with text modes.
29853
3143cc1c 298542009-02-04 Felix Zielcke <fzielcke@z-51.de>
29855
29856 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
29857 /dev/md/NpN style mdraid devices.
29858
9cba6fce 298592009-02-03 Felix Zielcke <fzielcke@z-51.de>
29860
29861 * util/unifont2pff.rb: Remove.
29862
e507a2c1 298632009-02-03 Felix Zielcke <fzielcke@z-51.de>
29864
29865 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
29866 `#'.
29867
d2c2b4cd 298682009-02-03 Felix Zielcke <fzielcke@z-51.de>
29869
29870 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
29871 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29872 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29873 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29874 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29875 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29876 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29877
b4315fb0 298782009-02-02 Christian Franke <franke@computer.org>
29879
29880 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
29881
de3aa260 298822009-02-01 Felix Zielcke <fzielcke@z-51.de>
29883
7c3ff286 29884 * INSTALL: Note that we now require at least autoconf 2.59 and
29885 that LZO is optional.
de3aa260 29886
825a182b 298872009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
29888
29889 Base on patch on bug #24154 created by Tomas Tintera
29890 <trosos@seznam.cz>.
29891
29892 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
29893
a69ef770 298942009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
29895
7c3ff286 29896 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 29897 <bero@arklinux.org>.
29898
29899 * normal/parser.y (script_init): Add missing semicolon.
29900
6fa42fa6 299012009-01-31 Colin D Bennett <colin@gibibit.com>
29902
7c3ff286 29903 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 29904 (free_menu_entry_classes): Added.
29905 (grub_normal_menu_addentry): Added class property handling.
29906 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
29907 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
29908
29909 * normal/menu_viewer.c: New file.
29910
29911 * normal/menu.c (run_menu_entry): Renamed to ...
29912 (grub_menu_execute_entry): ... this and made it as global.
29913 (grub_menu_run): Renamed to ...
29914 (show_text_menu): ... this and made it local.
29915 (show_text_menu): Adapt to new function names.
29916 (grub_normal_terminal_menu_viewer): New global variable.
29917
29918 * include/grub/menu.h: New file.
29919
29920 * include/grub/menu_viewer.h: New file.
29921
29922 * include/grub/normal.h: Added include to grub/menu.h.
29923 (grub_menu_entry): Moved to include/grub/menu.h.
29924 (grub_menu_entry_t): Likewise.
29925 (grub_menu): Likewise.
29926 (grub_menu_t): Likewise.
29927 (grub_normal_terminal_menu_viewer): Added.
29928 (grub_menu_execute_entry): Likewise.
29929 (grub_menu_run): Removed.
29930
29931 * DISTLIST: Added include/grub/menu.h.
29932 Added include/grub/menu_viewer.h.
29933 Added normal/menu_viewer.c.
29934
299352009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
29936
29937 * normal/execute.c (grub_script_execute_menuentry): Changed to use
29938 arglist for menutitle arguments.
29939
29940 * normal/main.c (grub_normal_menu_addentry): Likewise.
29941
29942 * normal/parser.y (menuentry): Likewise.
29943
29944 * normal/script.c (grub_script_create_cmdmenu): Likewise.
29945
29946 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
29947 (grub_script_create_cmdmenu): Likewise.
29948
29949 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
29950
29951 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
29952 changes.
29953
29954 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
29955
29956 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
29957
29958 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
29959
29960 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
29961
29962 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
29963
29964 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
29965
56192c23 299662009-01-30 Christian Franke <franke@computer.org>
29967
29968 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
29969 in option help text.
29970
d72521b3 299712009-01-27 Pavel Roskin <proski@gnu.org>
29972
29973 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
29974
994b5e84 299752009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
29976
29977 * commands/lsmmap.c: Add include to grub/machine/memory.h.
29978
29979 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
29980
29981 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
29982 unregister function.
29983
6a7eab2c 299842009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
29985
29986 * disk/scsi.c (grub_scsi_read): Fix sign problem.
29987
29988 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
29989
29990 * util/grub-mkfont.c (usage): Fix typo.
29991
29992 * util/elf/grub-mkimage.c (load_modules): Fix warning.
29993
1806b56e 299942009-01-26 Daniel Mierswa <impulze@impulze.org>
29995
3fb18f09 29996 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
29997
336e1fb9 29998 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
29999
1806b56e 30000 * kern/misc.c (grub_strcasecmp): New function.
30001 (grub_strcasecmp): Use grub_size_t instead of int for length.
30002 Fix return value.
30003 * include/grub/misc.h: Update function prototypes.
30004
580b2a0f 300052009-01-26 Robert Millan <rmh@aybabtu.com>
30006
30007 * configure.ac: Fix cross-compilation check.
ef257b36 30008
d31c24f1 300092009-01-22 Christian Franke <franke@computer.org>
30010
30011 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
30012 (precision) digit string. Allow `.format2' without `format1' (width).
30013 Limit input chars for `%s' output to `format2' if specified. This is
30014 compatible with standard printf ().
30015
3138b44c 300162009-01-22 Christian Franke <franke@computer.org>
30017
30018 * disk/ata.c (grub_ata_wait_status): Replace by ...
30019 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
30020 other status bits may be invalid while BSY is asserted.
30021 (grub_ata_check_ready): New function.
30022 (grub_ata_cmd): Removed.
30023 (grub_ata_wait_drq): New function.
30024 (grub_ata_strncpy): Remove inline.
30025 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
30026 and error check now done by grub_ata_wait_drq ().
30027 (grub_ata_pio_write): Likewise.
30028 (grub_atapi_identify): Set DEV before check for !BSY. Use
30029 grub_ata_wait_drq () to wait for data.
30030 (grub_ata_device_initialize): Add status register check to
30031 detect missing SATA slave devices. Add debug messages.
30032 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
30033 (grub_atapi_packet): Set DEV before check for !BSY. Replace
30034 transfer loop by grub_ata_pio_write ().
30035 (grub_ata_identify): Set DEV before check for !BSY. Use
30036 grub_ata_wait_drq () to wait for data.
ef257b36 30037 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 30038 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
30039 read/write in one loop. Fix invalid command on write. Fix incomplete
30040 command on (size % batch) == 0. Add missing error check after write of
30041 last block. Add debug messages.
30042 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
30043
59a64ef6 300442009-01-19 Christian Franke <franke@computer.org>
30045
30046 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
30047 (GRUB_ATAPI_IREASON_*): Likewise.
30048 (grub_ata_pio_write): Fix timeout error return.
30049 (grub_atapi_identify): Add grub_ata_wait () after cmd.
30050 (grub_atapi_wait_drq): New function.
30051 (grub_atapi_packet): New parameter `size'.
30052 Use grub_atapi_wait_drq () and direct write instead of
30053 grub_ata_pio_write ().
30054 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
30055 reads the number of bytes requested by the device for each DRQ
30056 assertion.
30057 (grub_atapi_write): Remove old implementation, return not
30058 implemented instead.
30059
1cfe20b3 300602009-01-19 Christian Franke <franke@computer.org>
30061
30062 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
30063 of 512 to calculate data size.
30064 (grub_scsi_read12): Likewise.
30065 (grub_scsi_write10): Likewise.
30066 (grub_scsi_write12): Likewise.
30067 (grub_scsi_read): Adjust size according to blocksize.
30068 Add checks for invalid blocksize and unaligned transfer.
30069
bee5fe5d 300702009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
30071
30072 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
30073
ef257b36 30074 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 30075 width glyphs.
30076
3e643f8c 300772009-01-19 Robert Millan <rmh@aybabtu.com>
30078
30079 * config.guess: Update to latest version from config git.
30080 * config.sub: Likewise.
30081
4fa80998 300822009-01-17 Felix Zielcke <fzielcke@z-51.de>
30083
30084 * Makefile.in: Change font compilation to use new grub-mkfont instead
30085 of java version.
30086
30087 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
30088 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
30089 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30090 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30091 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
30092 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
30093 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
30094 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
30095 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30096
7086085b 300972009-01-16 Christian Franke <franke@computer.org>
30098
30099 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
30100 (enum grub_ata_timeout_milliseconds): New enum.
30101 (grub_ata_wait_status): Add parameter milliseconds.
30102 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
30103 recovery from timed-out commands.
30104 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
30105 return grub_errno instead of REG_ERROR.
30106 (grub_ata_pio_write): Add parameter milliseconds.
30107 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
30108 Pass milliseconds to grub_ata_wait_status () and
30109 grub_ata_pio_read ().
30110 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
30111 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
30112 grub_ata_wait_status (). Fix IDENTIFY timeout check.
30113 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
30114 It is not suitable for device detection, because DEV bit is ignored,
30115 the command may run too long, and not all devices set the signature
30116 properly.
30117 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
30118 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
30119 Fix device selection, DEV bit must be set first to address the registers
30120 of the correct device.
30121 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
30122 grub_ata_pio_read/write ().
30123 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
30124 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
30125
4a412913 301262009-01-13 Carles Pina i Estany <carles@pina.cat>
30127
30128 * util/grub-editenv.c (main): Use fseeko(), not fseek().
30129
7795c55e 301302009-01-13 Bean <bean123ch@gmail.com>
d913988c 30131
30132 * util/grub-mkfont.c (write_font): forget to remove some debug code.
30133
7795c55e 301342009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 30135
30136 * Makefile.in: (enable_grub_mkfont): New variable.
30137 (freetype_cflags): Likewise.
30138 (freetype_libs): Likewise.
30139
30140 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
30141 (grub_mkfont_SOURCES): New variable.
30142 (grub_mkfont_CFLAGS): Likewise.
30143 (grub_mkfont_LDFLAGS): Likewise.
30144
30145 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
30146 library if `--enable-grub-mkfont' is requested.
30147 (enable_grub_mkfont): New variable.
30148 (freetype_cflags): Likewise.
30149 (freetype_libs): Likewise.
30150
30151 * util/grub-mkfont.c: New file.
30152
093af1fe 301532009-01-12 Christian Franke <franke@computer.org>
30154
30155 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
30156 mode check. Fix setting of compat_use[].
30157
f36cc108 301582009-01-10 Robert Millan <rmh@aybabtu.com>
30159
30160 Update a few copyright years which we forgot to do in 2008 (only for
30161 files whose changes made in 2008 were copyright-significant)
30162
30163 * Makefile.in: Add 2008 to Copyright line.
30164 * disk/ieee1275/ofdisk.c: Likewise.
30165 * disk/efi/efidisk.c: Likewise.
30166 * kern/dl.c: Likewise.
30167 * kern/sparc64/ieee1275/init.c: Likewise.
30168 * kern/mm.c: Likewise.
30169 * kern/efi/mm.c: Likewise.
30170 * boot/i386/pc/boot.S: Likewise.
30171 * genfslist.sh: Likewise.
30172 * fs/iso9660.c: Likewise.
30173 * fs/hfs.c: Likewise.
30174 * fs/jfs.c: Likewise.
30175 * fs/minix.c: Likewise.
30176 * fs/ufs.c: Likewise.
30177 * gensymlist.sh.in: Likewise.
30178 * genkernsyms.sh.in: Likewise.
30179 * include/grub/misc.h: Likewise.
30180 * include/grub/types.h: Likewise.
30181 * include/grub/symbol.h: Likewise.
30182 * include/grub/elf.h: Likewise.
30183 * include/grub/kernel.h: Likewise.
30184 * include/grub/disk.h: Likewise.
30185 * include/grub/dl.h: Likewise.
30186 * include/grub/i386/linux.h: Likewise.
30187 * include/grub/i386/pc/biosdisk.h: Likewise.
30188 * include/grub/efi/api.h: Likewise.
30189 * include/grub/efi/pe32.h: Likewise.
30190 * include/grub/util/misc.h: Likewise.
30191 * normal/execute.c: Likewise.
30192 * normal/arg.c: Likewise.
30193 * normal/completion.c: Likewise.
30194 * normal/lexer.c: Likewise.
30195 * normal/parser.y: Likewise.
30196 * normal/misc.c: Likewise.
30197 * commands/i386/pc/vbeinfo.c: Likewise.
30198 * commands/hexdump.c: Likewise.
30199 * commands/terminal.c: Likewise.
30200 * commands/ls.c: Likewise.
30201 * commands/help.c: Likewise.
30202 * partmap/pc.c: Likewise.
30203 * loader/efi/chainloader.c: Likewise.
30204 * loader/multiboot_loader.c: Likewise.
30205 * loader/i386/pc/multiboot2.c: Likewise.
30206 * term/efi/console.c: Likewise.
30207 * term/i386/pc/serial.c: Likewise.
30208 * util/lvm.c: Likewise.
30209 * util/console.c: Likewise.
30210 * util/i386/efi/grub-mkimage.c: Likewise.
30211 * util/raid.c: Likewise.
30212
7f02114b 302132009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
30214
30215 * commands/videotest.c: Removed include to grub/machine/memory.h.
30216
30217 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
30218 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
30219 (video_mod_SOURCES): Removed.
30220 (video_mod_CFLAGS): Likewise.
30221 (video_mod_LDFLAGS): Likewise.
30222 (gfxterm_mod_SOURCES): Likewise.
30223 (gfxterm_mod_CFLAGS): Likewise.
30224 (gfxterm_mod_LDFLAGS): Likewise.
30225 (videotest_mod_SOURCES): Likewise.
30226 (videotest_mod_CFLAGS): Likewise.
30227 (videotest_mod_LDFLAGS): Likewise.
30228 (bitmap_mod_SOURCES): Likewise.
30229 (bitmap_mod_CFLAGS): Likewise.
30230 (bitmap_mod_LDFLAGS): Likewise.
30231 (tga_mod_SOURCES): Likewise.
30232 (tga_mod_CFLAGS): Likewise.
30233 (tga_mod_LDFLAGS): Likewise.
30234 (jpeg_mod_SOURCES): Likewise.
30235 (jpeg_mod_CFLAGS): Likewise.
30236 (jpeg_mod_LDFLAGS): Likewise.
30237 (png_mod_SOURCES): Likewise.
30238 (png_mod_CFLAGS): Likewise.
30239 (png_mod_LDFLAGS): Likewise.
30240
30241 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
30242 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
30243 (video_mod_SOURCES): Added.
30244 (video_mod_CFLAGS): Likewise.
30245 (video_mod_LDFLAGS): Likewise.
30246 (videotest_mod_SOURCES): Likewise.
30247 (videotest_mod_CFLAGS): Likewise.
30248 (videotest_mod_LDFLAGS): Likewise.
30249 (bitmap_mod_SOURCES): Likewise.
30250 (bitmap_mod_CFLAGS): Likewise.
30251 (bitmap_mod_LDFLAGS): Likewise.
30252 (tga_mod_SOURCES): Likewise.
30253 (tga_mod_CFLAGS): Likewise.
30254 (tga_mod_LDFLAGS): Likewise.
30255 (jpeg_mod_SOURCES): Likewise.
30256 (jpeg_mod_CFLAGS): Likewise.
30257 (jpeg_mod_LDFLAGS): Likewise.
30258 (png_mod_SOURCES): Likewise.
30259 (png_mod_CFLAGS): Likewise.
30260 (png_mod_LDFLAGS): Likewise.
30261 (gfxterm_mod_SOURCES): Likewise.
30262 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 30263 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 30264
30265 * term/gfxterm.c: Removed include to grub/machine/memory.h,
30266 grub/machine/console.h.
30267
644fff97 302682009-01-04 Jerone Young <jerone@gmail.com>
30269
30270 Make on screen instructions clearer
30271
30272 Based on patch created by Jidanni <jidanni@jidanni.org>
30273
30274 * normal/menu.c: print clearer instructions on the screen
30275
1e901a75 302762009-01-02 Colin D Bennett <colin@gibibit.com>
30277
30278 New font engine.
34c44600 30279
1e901a75 30280 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
30281 build system and fixed gfxterm.c to work with different sized fonts.
30282
30283 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 30284
1e901a75 30285 * configure: Re-generated.
34c44600 30286
1e901a75 30287 * DISTLIST: Removed font/manager.c.
30288 Added font/font.c.
30289 Added font/font_cmd.c.
34c44600 30290
1e901a75 30291 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
30292 compilation.
34c44600 30293
1e901a75 30294 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 30295
30296 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 30297
30298 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 30299
1e901a75 30300 * normal/menu.c: Likewise.
34c44600 30301
1e901a75 30302 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
30303 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 30304
1e901a75 30305 * include/grub/font.h: Replaced with new file.
34c44600 30306
1e901a75 30307 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
30308 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
30309 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
30310 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
30311 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 30312 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 30313 fg_red, fg_green, fg_blue, fg_alpha.
30314 (grub_video_adapter): Removed blit_glyph.
34c44600 30315 (grub_video_blit_glyph): Removed.
30316
1e901a75 30317 * font/manager.c: Removed file.
34c44600 30318
30319 * font/font.c: New file.
30320
1e901a75 30321 * font/font_cmd.c: Likewise.
34c44600 30322
1e901a75 30323 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 30324
1e901a75 30325 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
30326 (grub_video_vbe_map_rgba): Likewise.
30327 (grub_video_vbe_unmap_color_int): Likewise.
30328 (grub_video_vbe_blit_glyph): Removed.
30329 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 30330
1e901a75 30331 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
30332 (get_pixel): Likewise.
34c44600 30333 (set_pixel): Likewise.
30334
1e901a75 30335 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 30336
1e901a75 30337 * term/gfxterm.c: Adapted to new font engine.
34c44600 30338
1e901a75 30339 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 30340
1e901a75 30341 * term/i386/pc/vga.c: Likewise.
34c44600 30342
1e901a75 30343 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 30344
1e901a75 30345 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 30346
1e901a75 30347 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 30348
1e901a75 30349 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 30350
1e901a75 30351 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 30352
1e901a75 30353 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 30354
1e901a75 30355 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 30356
1e901a75 30357 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 30358
1e901a75 30359 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30360
30361 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 30362
1e901a75 30363 * util/grub-mkconfig_lib.in: Changed font extension.
30364
278922e8 303652008-12-28 Felix Zielcke <fzielcke@z-51.de>
30366
30367 * util/getroot.c (grub_util_get_grub_dev): Add support for
30368 /dev/md/dNNpNN style partitionable mdraid devices.
30369
3ced05cf 303702008-12-12 Alex Smith <alex@alex-smith.me.uk>
30371
30372 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
30373 at a time limit of the PXE TFTP API correctly.
30374 (grub_pxefs_close): Likewise.
30375
7fd0ee30 303762008-11-29 Robert Millan <rmh@aybabtu.com>
30377
34c44600 30378 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 30379 grub_ata_device_initialize() calls.
30380
34c44600 303812008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 30382
30383 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
30384 iteration failed.
30385 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
30386
89313780 303872008-11-28 Robert Millan <rmh@aybabtu.com>
30388
30389 Fix build on powerpc-ieee1275. Based on patch created by
30390 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
30391 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30392 `kern/ieee1275/mmap.c'.
30393 * include/grub/powerpc/ieee1275/memory.h: New file.
30394
15257703 30395 Provide grub-install on coreboot.
30396 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
30397 (grub_install_SOURCES): New variable.
30398 * util/i386/pc/grub-install.in: Add a few condition checks to make it
30399 usable on coreboot.
30400
9fc5388a 304012008-11-25 Felix Zielcke <fzielcke@z-51.de>
30402
30403 * util/grub-fstest.c (grub_term_get_current_input): Change return type
30404 to `grub_term_input_t'.
30405 (grub_term_get_current_output): Change return type to
30406 `grub_term_output_t'.
30407
bc3a2f31 304082008-11-22 Robert Millan <rmh@aybabtu.com>
30409
34c44600 30410 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 30411 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
30412 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
30413 grub_vga_text_cls().
30414
80fc88f2 30415 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 30416 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 30417
cbf36fd3 30418 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
30419 to 0x200000 (avoids trouble with some OFW implementations, and matches
30420 with the one in Yaboot).
30421 Reported by Manoel Abranches
30422
73e8e268 304232008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 30424
30425 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
30426 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
30427
73e8e268 30428 * util/grub-mkconfig_lib.in (grub_warn): New function.
30429 (convert_system_path_to_grub_path): Use grub_warn() when issuing
30430 warnings, to obtain consistent formatting.
30431 * util/grub.d/00_header.in: Likewise.
30432 * util/update-grub_lib.in: Likewise.
30433
e94045a1 30434 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 30435 Move comment text to `#error' stanza.
e94045a1 30436
79d29fd7 30437 Harmonize ieee1275's grub_available_iterate() with the generic
30438 grub_machine_mmap_iterate() interface (fixes a recently-introduced
30439 build problem on i386-ieee1275):
30440 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
30441 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
30442 parameter `type'. Update all users of this function.
30443 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
30444 `kern/ieee1275/mmap.c'.
30445 * kern/ieee1275/init.c
30446 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
30447 with ...
30448 (grub_machine_mmap_iterate): ... this.
30449 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
30450 return type to `grub_err_t'. Update all implementations of this
30451 function prototype.
30452 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
30453 Likewise.
30454
60d6b16e 30455 Add `lsmmap' command (lists firmware-provided memory map):
30456 * commands/lsmmap.c: New file.
30457 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
30458 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
30459 variables.
30460 * conf/powerpc-ieee1275.rmk: Likewise.
30461 * conf/i386-coreboot.rmk: Likewise.
30462 * conf/i386-ieee1275.rmk: Likewise.
30463
ebaaf49b 304642008-11-19 Robert Millan <rmh@aybabtu.com>
30465
30466 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 30467 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
30468 constraints to initrd allocation (based on code from
30469 loader/i386/pc/linux.c). Without them, initrd was allocated too high
30470 for Linux to find it.
ebaaf49b 30471
dfab719f 304722008-11-14 Robert Millan <rmh@aybabtu.com>
30473
30474 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
30475 order to cope with duplicate slashes.
30476
10fc3eb9 304772008-11-14 Robert Millan <rmh@aybabtu.com>
30478
30479 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
30480 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
30481 don't want to mess with lower memory, because it is used in the Linux
30482 loader.
30483
30484 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 30485 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 30486 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
30487 is in our heap (probably as a result of it being corrupted during
2f2a3442 30488 decompression). Add #error instance with comment to explain why this
30489 loader isn't currently usable on PC/BIOS.
10fc3eb9 30490
e2e07847 304912008-11-14 Robert Millan <rmh@aybabtu.com>
30492
30493 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 30494 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 30495
fe8e8d69 304962008-11-12 Robert Millan <rmh@aybabtu.com>
30497
30498 Make loader/i386/linux.c buildable on i386-pc (although disabled).
30499
30500 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
30501 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
30502 from here ...
30503 * include/grub/i386/pc/memory.h: ... to here.
30504
976b07d0 305052008-11-12 Robert Millan <rmh@aybabtu.com>
30506
30507 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
30508 split).
30509
30510 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
30511 (grub_console_cur_color, grub_console_real_putchar)
30512 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
30513 (grub_console_setcolorstate, grub_console_setcolor)
30514 (grub_console_getcolor): Move from here ...
30515 * include/grub/i386/vga_common.h: ... to here (new file).
30516
30517 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
30518 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
30519 `<grub/i386/io.h>'.
30520 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
30521 `<grub/i386/vga_common.h>'.
30522
76679cd3 305232008-11-12 Robert Millan <rmh@aybabtu.com>
30524
30525 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
30526 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
30527 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
30528 variables.
30529 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
30530 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
30531
30532 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
30533 grub_console_init() with call to grub_vga_text_init().
30534 (grub_machine_fini): Replace call to
30535 grub_console_fini() with call to grub_vga_text_fini() and
30536 grub_at_keyboard_fini().
30537
30538 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
30539 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
30540 (grub_console_setcolorstate, grub_console_setcolor)
30541 (grub_console_getcolor): New function prototypes.
30542
30543 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
30544 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
30545 (grub_vga_text_setcursor): Static-ize.
30546 (grub_vga_text_term): New structure.
30547 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
30548
30549 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
30550 (grub_console_cur_color, grub_console_standard_color)
30551 (grub_console_normal_color, grub_console_highlight_color)
30552 (map_char, grub_console_putchar, grub_console_getcharwidth)
30553 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
30554 (grub_console_getcolor): Move from here ...
30555 * term/i386/vga_common.c: ... to here (same function names).
30556
95b841d3 305572008-11-12 Robert Millan <rmh@aybabtu.com>
30558
30559 Use newly-added Multiboot support in coreboot.
30560
30561 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
30562 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
30563
30564 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
30565 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
30566 (codestart): Store the MBI in `startup_multiboot_info' when we're
30567 being loaded using Multiboot.
30568
30569 * kern/i386/coreboot/init.c (grub_machine_init): Move
30570 grub_at_keyboard_init() call to beginning of function (useful for
30571 debugging). Call grub_machine_mmap_init() before attempting to use
30572 grub_machine_mmap_iterate().
30573 (grub_lower_mem, grub_upper_mem): Move from here ...
30574 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
30575 here (new file).
30576
30577 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
30578 function prototype.
30579
761ca975 305802008-11-12 Robert Millan <rmh@aybabtu.com>
30581
30582 Fix a regression introduced by the at_keyboard.mod split. Because
30583 some terminals are default on some platforms and non-default on
30584 others, the first terminal being registered determines which is
30585 going to be default.
30586
30587 * kern/term.c (grub_term_register_input): If this is the first
30588 terminal being registered, set it as the current one.
30589 (grub_term_register_output): Likewise.
30590
30591 * term/efi/console.c (grub_console_init): Do not call
30592 grub_term_set_current_output() or grub_term_set_current_input().
30593 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
30594 * term/i386/pc/console.c (grub_console_init): Likewise.
30595 (grub_console_fini): Do not call grub_term_set_current_input()
30596 (but leave grub_term_set_current_output() to restore text mode).
30597
6c529df7 305982008-11-10 Robert Millan <rmh@aybabtu.com>
30599
30600 * util/grub.d/00_header.in: Add backward compatibility check for
30601 versions of terminal.mod that don't understand `terminal_input' or
30602 `terminal_output'.
30603
132e4113 306042008-11-09 Robert Millan <rmh@aybabtu.com>
30605
30606 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
30607 `terminal_input' / `terminal_output', not `terminal'.
30608
ac293d50 306092008-11-08 Robert Millan <rmh@aybabtu.com>
30610
30611 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 30612 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 30613
0025933a 306142008-11-08 Robert Millan <rmh@aybabtu.com>
30615
30616 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 30617 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 30618 members. Update all users.
30619 * util/console.c (grub_ncurses_term): Split in ...
30620 (grub_ncurses_term_input): ... this, and ...
30621 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 30622 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 30623
37c86336 306242008-11-08 Robert Millan <rmh@aybabtu.com>
30625
30626 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
30627 (PKGDATA): Add $(pkgdata_SRCDIR).
30628 (pkglib_BUILDDIR): New variable.
30629 (pkgdata_SRCDIR): New variable.
30630 (build_env.mk): New target.
30631 (include_DATA): New variable.
30632 (install-local): Install $(include_DATA) files in $(includedir).
30633
b6c15a2d 306342008-11-07 Pavel Roskin <proski@gnu.org>
30635
d99d46f1 30636 * gendistlist.sh: Use C locale for sorting to ensure consistent
30637 output on all systems.
30638
b6c15a2d 30639 * util/grub.d/00_header.in: Remove incorrect space before
30640 "serial".
30641
c32ee8c9 306422008-11-07 Robert Millan <rmh@aybabtu.com>
30643
30644 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
30645 per specification.
30646 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
30647 * loader/multiboot_loader.c (find_multi_boot2_header): New function
30648 (based on find_multi_boot1_header).
30649 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
30650 using find_multi_boot2_header(), and abort if neither Multiboot or
30651 Multiboot headers were found.
30652
651c29b7 306532008-11-07 Robert Millan <rmh@aybabtu.com>
30654
30655 Modularize at_keyboard.mod:
30656
30657 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
30658 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
30659 (at_keyboard_mod_LDFLAGS): New variables.
30660
30661 Actual terminal split:
30662
30663 * include/grub/term.h (struct grub_term): Split in ...
30664 (struct grub_term_input): ... this, and ...
30665 (struct grub_term_output): ... this. Update all users.
30666 (grub_term_set_current): Split in ...
30667 (grub_term_set_current_input): ... this, and ...
30668 (grub_term_set_current_output): ... this.
30669 (grub_term_get_current): Split in ...
30670 (grub_term_get_current_input): ... this, and ...
30671 (grub_term_get_current_output): ... this.
30672 (grub_term_register): Split in ...
30673 (grub_term_register_input): ... this, and ...
30674 (grub_term_register_output): ... this.
30675 (grub_term_unregister): Split in ...
30676 (grub_term_unregister_input): ... this, and ...
30677 (grub_term_unregister_output): ... this.
30678 (grub_term_iterate): Split in ...
30679 (grub_term_iterate_input): ... this, and ...
30680 (grub_term_iterate_output): ... this.
30681
30682 * kern/term.c (grub_term_list): Split in ...
30683 (grub_term_list_input): ... this, and ...
30684 (grub_term_list_output): ... this. Update all users.
30685 (grub_cur_term): Split in ...
30686 (grub_cur_term_input): ... this, and ...
30687 (grub_cur_term_output): ... this. Update all users.
30688 (grub_term_set_current): Split in ...
30689 (grub_term_set_current_input): ... this, and ...
30690 (grub_term_set_current_output): ... this.
30691 (grub_term_get_current): Split in ...
30692 (grub_term_get_current_input): ... this, and ...
30693 (grub_term_get_current_output): ... this.
30694 (grub_term_register): Split in ...
30695 (grub_term_register_input): ... this, and ...
30696 (grub_term_register_output): ... this.
30697 (grub_term_unregister): Split in ...
30698 (grub_term_unregister_input): ... this, and ...
30699 (grub_term_unregister_output): ... this.
30700 (grub_term_iterate): Split in ...
30701 (grub_term_iterate_input): ... this, and ...
30702 (grub_term_iterate_output): ... this.
30703
30704 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
30705 a check for input and one for output (and only attempt to get keys
30706 from user when input works).
30707
30708 * util/grub-probe.c (grub_term_get_current): Split in ...
30709 (grub_term_get_current_input): ... this, and ...
30710 (grub_term_get_current_output): ... this.
30711 * util/grub-fstest.c: Likewise.
30712 * util/i386/pc/grub-setup.c: Likewise.
30713 * util/grub-editenv.c: Likewise.
30714
30715 Portability adjustments:
30716
30717 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
30718 `term/i386/pc/at_keyboard.c'.
30719 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
30720 grub_keyboard_controller_init() (now handled by terminal .init).
30721 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
30722 grub_at_keyboard_init().
30723 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
30724 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
30725 at_keyboard.mod via input terminal interface).
30726 * include/grub/i386/coreboot/console.h: Convert into a stub for
30727 `<grub/i386/pc/console.h>'.
30728
30729 Migrate full terminals to new API:
30730
30731 * term/efi/console.c (grub_console_term): Split into ...
30732 (grub_console_term_input): ... this, and ...
30733 (grub_console_term_output): ... this. Update all users.
30734 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
30735 (grub_ofconsole_init): Split into ...
30736 (grub_ofconsole_init_input): ... this, and ...
30737 (grub_ofconsole_init_output): ... this.
30738 (grub_ofconsole_term): Split into ...
30739 (grub_ofconsole_term_input): ... this, and ...
30740 (grub_ofconsole_term_output): ... this. Update all users.
30741 * term/i386/pc/serial.c (grub_serial_term): Split into ...
30742 (grub_serial_term_input): ... this, and ...
30743 (grub_serial_term_output): ... this. Update all users.
30744 * term/i386/pc/console.c (grub_console_term): Split into ...
30745 (grub_console_term_input): ... this, and ...
30746 (grub_console_term_output): ... this. Update all users.
30747 (grub_console_term_input): Only enable it on PC/BIOS platform.
30748 (grub_console_init): Remove grub_keyboard_controller_init() call.
30749
30750 Migrate input terminals to new API:
30751
30752 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
30753 `i386' and `i386/pc' to enable build on x86_64 (this driver is
30754 i386-specific anyway).
30755 (grub_console_checkkey): Rename to ...
30756 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
30757 users.
30758 (grub_keyboard_controller_orig): New variable.
30759 (grub_console_getkey): Rename to ...
30760 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
30761 users.
30762 (grub_keyboard_controller_init): Static-ize. Save original
30763 controller value so that it can be restored ...
30764 (grub_keyboard_controller_fini): ... here (new function).
30765 (grub_at_keyboard_term): New structure.
30766 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
30767 functions.
30768
30769 Migrate output terminals to new API:
30770
30771 * term/i386/pc/vga.c (grub_vga_term): Change type to
30772 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
30773 members. Update all users.
30774 * term/gfxterm.c (grub_video_term): Change type to
30775 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
30776 members. Update all users.
30777 * include/grub/i386/pc/console.h (grub_console_checkkey)
30778 (grub_console_getkey): Do not export (no longer needed by gfxterm,
30779 etc).
30780
30781 Migrate `terminal' command and userland tools to new API:
30782
30783 * commands/terminal.c (grub_cmd_terminal): Split into ...
30784 (grub_cmd_terminal_input): ... this, and ...
30785 (grub_cmd_terminal_output): ... this.
30786 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
30787 `terminal_input' and `terminal_output'.
30788 * util/grub.d/00_header.in: Adjust `terminal' calls to new
30789 `terminal_input' / `terminal_output' API.
30790 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
30791 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
30792 provided ${GRUB_TERMINAL}, convert it).
30793
96e5d876 307942008-11-04 Robert Millan <rmh@aybabtu.com>
30795
30796 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
30797 for FreeBSD.
30798 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
30799
556f3775 308002008-11-03 Bean <bean123ch@gmail.com>
30801
30802 * kern/elf.c (grub_elf32_load): Revert to previous code.
30803 (grub_elf64_load): Likewise.
30804
30805 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
30806
926b9823 308072008-11-01 Robert Millan <rmh@aybabtu.com>
30808
30809 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
30810 (TARGET_CPPFLAGS): Likewise.
30811 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
30812
1432e958 308132008-11-01 Carles Pina i Estany <carles@pina.cat>
30814
30815 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
30816
dba3f844 308172008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 30818
30819 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
30820 addition of objects until the code is not going to be able to fail.
30821
dba3f844 308222008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 30823
30824 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
30825 (add a missing NULL check, and correct them by moving the pointer
30826 operations after the actual check).
30827
7ab28c21 308282008-10-29 Robert Millan <rmh@aybabtu.com>
30829
30830 * util/i386/pc/grub-install.in: Handle empty string as output from
30831 make_system_path_relative_to_its_root().
30832
1b7748eb 308332008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
30834
30835 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
30836 circular metadata worst case scenario. If the metadata is circular
30837 then copy the wrap in place.
30838 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
30839 project lib/format_text/layout.h
30840 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
30841
c9618ab2 308422008-10-03 Felix Zielcke <fzielcke@z-51.de>
30843
7a36edca 30844 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 30845
bf981c62 308462008-10-03 Felix Zielcke <fzielcke@z-51.de>
30847
30848 * util/update-grub_lib.in: Mention filename in warning message.
30849
6d994591 308502008-09-29 Felix Zielcke <fzielcke@z-51.de>
30851
30852 * NEWS: Update for rename of update-grub to grub-mkconfig.
30853
18ade780 308542008-09-29 Felix Zielcke <fzielcke@z-51.de>
30855
30856 * util/update-grub_lib.in: Copy to ...
30857 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 30858 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 30859 * util/update-grub.in: Rename to ...
30860 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
30861 option. Add `--output' option to allow users to specify the generated
30862 configuration file. Default to stdout.
30863 (update_grub_dir): Rename to ...
30864 (grub_mkconfig_dir): ... this.
30865 (grub_cfg): Default to an empty string.
30866 * conf/common.rmk (update-grub): Rename to ...
30867 (grub-mkconfig): ... this.
30868 (update-grub_lib): Copy to ...
30869 (grub-mkconfig_lib): ... this.
30870 (update-grub_SCRIPTS): Copy to ...
30871 (grub-mkconfig_SCRIPTS): ... this. Update all users.
30872 (update-grub_DATA): Rename to ...
30873 (grub-mkconfig_DATA): ... this.
30874
556ce6ac 308752008-09-28 Robert Millan <rmh@aybabtu.com>
30876
30877 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
30878 to `modified'. Add the real `created' field.
30879 (grub_iso9660_uuid): Use `modified' rather than `created' for
30880 constructing the UUID.
30881
308822008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 30883
30884 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
30885 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
30886
92274e85 308872008-09-28 Bean <bean123ch@gmail.com>
30888
30889 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
30890 Thanks to Christian Franke for finding this bug.
30891
add6f17a 308922008-09-25 Robert Millan <rmh@aybabtu.com>
30893
30894 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
30895 instances of grub_util_get_disk_name() (see previous commit).
30896
d2a367b8 308972008-09-25 Robert Millan <rmh@aybabtu.com>
30898
30899 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
30900 `util/i386/get_disk_name.c'.
30901 * conf/i386-efi.rmk: Likewise.
30902 * conf/x86_64-efi.rmk: Likewise.
30903 * conf/i386-coreboot.rmk: Likewise.
30904 * conf/i386-ieee1275.rmk: Likewise.
30905 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
30906 `util/ieee1275/get_disk_name.c'.
30907 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
30908 * util/ieee1275/get_disk_name.c: Remove file.
30909 * util/i386/get_disk_name.c: Remove file.
30910 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
30911 "hd%d" for device.map entries, rather than using
30912 grub_util_get_disk_name().
30913
81a06771 309142008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 30915
30916 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
30917 warning.
30918 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
30919
5a004279 309202008-09-24 Carles Pina i Estany <carles@pina.cat>
30921
30922 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
30923 Changed to 0x5100.
30924 (GRUB_TERM_PPAGE): Changed to 0x4900.
30925
397093d3 309262008-09-24 Robert Millan <rmh@aybabtu.com>
30927
30928 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
30929 macros (they were i386-pc specific).
30930 * include/grub/sparc64/ieee1275/console.h: Likewise.
30931 * include/grub/efi/console.h: Likewise.
30932
a91b6c7c 309332008-09-22 Bean <bean123ch@gmail.com>
30934
30935 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
30936 resident and in attribute list.
30937
30938 * include/grub/ntfs.h (BMP_LEN): Removed.
30939
c40fd116 309402008-09-22 Bean <bean123ch@gmail.com>
30941
81a06771 30942 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 30943 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
30944
30945 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
30946 error occurs, as grub_disk_open will call grub_disk_close, which will
30947 call p->close (scsi).
30948
81a06771 309492008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 30950
30951 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
30952 (AC_PREREQ): Bumped to 2.59.
30953 (AC_TRY_COMPILE): Replace obsolete macro with ...
30954 (AC_COMPILE_IFELSE): ... this.
30955 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
30956 (AC_LINK_IFELSE): ... this.
30957
5dc43410 309582008-09-21 Felix Zielcke <fzielcke@z-51.de>
30959
30960 * autogen.sh: Add a call to `gendistlist.sh'.
30961
9035dce4 309622008-09-19 Christian Franke <franke@computer.org>
30963
30964 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
30965 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
30966 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
30967 Export __enable_execute_stack() to modules.
30968 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
30969 New function.
30970
7fd75377 309712008-09-09 Felix Zielcke <fzielcke@z-51.de>
30972
040030b3 30973 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
30974 Sort the list.
30975
309762008-09-09 Felix Zielcke <fzielcke@z-51.de>
30977
30978 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 30979 #include <grub/util/hostdisk.h>.
30980
89d5ffcf 309812008-09-08 Robert Millan <rmh@aybabtu.com>
30982
30983 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
30984 segments when their filesz is zero (grub_file_read() interprets
81a06771 30985 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 30986 Use `lowest_segment' rather than 0 for calculating the current
30987 segment load address.
30988
40da438f 309892008-09-08 Robert Millan <rmh@aybabtu.com>
30990
30991 * util/hostdisk.c (open_device): Replace a grub_util_info() call
30992 with grub_dprintf("hostdisk", ...), as it was so verbose that it
30993 clobbered useful information.
30994
ddbf5556 309952008-09-08 Robert Millan <rmh@aybabtu.com>
30996
30997 * include/grub/util/biosdisk.h: Move to ...
30998 * include/grub/util/hostdisk.h: ... here. Update all users.
30999 * util/biosdisk.c: Move to ...
31000 * util/hostdisk.c: ... here. Update all users.
31001
783d0f48 310022008-09-07 Robert Millan <rmh@aybabtu.com>
31003
31004 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
31005 variables.
31006 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
31007 and length can be stored directly in the `mbi->mmap_addr' and
31008 `mbi->mmap_length' struct fields.
31009
548e2ea5 310102008-09-07 Robert Millan <rmh@aybabtu.com>
31011
31012 * conf/i386.rmk: New file. Provides declaration for building
31013 `cpuid.mod'.
31014 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
31015 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
31016 variables.
31017 Include `conf/i386.mk'.
31018 * conf/i386-efi.rmk: Likewise.
31019 * conf/x86_64-efi.rmk: Likewise.
31020 * conf/i386-coreboot.rmk: Likewise.
31021 * conf/i386-ieee1275.rmk: Likewise.
31022
0ea85a37 310232008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
31024
31025 Based on patch created by Colin D Bennett <colin@gibibit.com>.
31026 Adds optimization support for BGR based modes.
31027
31028 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
31029 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31030 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31031 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31032 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31033 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31034 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31035 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31036 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31037 (grub_video_i386_vbeblit_index_index): Likewise.
31038 (grub_video_i386_vbeblit_replace_directN): Added.
31039 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31040 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31041 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31042 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31043 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31044 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 31045 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 31046 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31047 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31048 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31049 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31050 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31051 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
31052
31053 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
31054 (grub_video_i386_vbefill_R8G8B8): Likewise.
31055 (grub_video_i386_vbefill_index): Likewise.
31056 (grub_video_i386_vbefill_direct32): Added.
31057 (grub_video_i386_vbefill_direct24): Likewise.
31058 (grub_video_i386_vbefill_direct16): Likewise.
31059 (grub_video_i386_vbefill_direct8): Likewise.
31060
81a06771 31061 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 31062 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
31063 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
31064 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
31065 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
31066 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 31067
0ea85a37 31068 * video/video.c (grub_video_get_blit_format): Updated to use new
31069 blit formats. Added handling for 16 bit color modes.
81a06771 31070
31071 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 31072 fillers.
31073 (common_blitter): Updated to use new blitters.
31074
31075 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
31076 Removed.
31077 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31078 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31079 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31080 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31081 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31082 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31083 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31084 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31085 (grub_video_i386_vbeblit_index_index): Likewise.
31086 (grub_video_i386_vbeblit_replace_directN): Added.
31087 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31088 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31089 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31090 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31091 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31092 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
31093 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
31094 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31095 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31096 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31097 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31098 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31099 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 31100
0ea85a37 31101 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
31102 (grub_video_i386_vbefill_R8G8B8): Likewise.
31103 (grub_video_i386_vbefill_index): Likewise.
31104 (grub_video_i386_vbefill_direct32): Added.
31105 (grub_video_i386_vbefill_direct24): Likewise.
31106 (grub_video_i386_vbefill_direct16): Likewise.
31107 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 31108
0ea85a37 31109 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
31110 types.
81a06771 31111
0ea85a37 31112 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
31113 types.
81a06771 31114
0ea85a37 31115 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
31116 blitter types.
81a06771 31117
0ea85a37 31118 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
31119 types.
31120
e8a83df6 311212008-09-06 Felix Zielcke <fzielcke@z-51.de>
31122
31123 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
31124 RAID level 1.
31125
6bcd8ee5 311262008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 31127
6bcd8ee5 31128 * fs/iso9660.c (grub_iso9660_date): New structure.
31129 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
31130 (grub_iso9660_uuid): New function.
c375ae58 31131
59261157 311322008-09-05 Bean <bean123ch@gmail.com>
31133
31134 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
31135
31136 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
31137 insensitive bit for names in Win32 and Win32 & DOS namespace.
31138
31139 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
31140
31141 * include/grub/types.h (LONG_MAX): Likewise.
31142
58b6645a 311432008-09-04 Felix Zielcke <fzielcke@z-51.de>
31144
4ee55921 31145 * util/getroot.c: Include <config.h>.
31146 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
31147 add support for /dev/md/N devices and handle LVM double dash escaping.
31148
311492008-09-04 Felix Zielcke <fzielcke@z-51.de>
31150
31151 * config.guess: Update to latest version from config git.
31152 * config.sub: Likewise.
58b6645a 31153
9124f65d 311542008-09-03 Robert Millan <rmh@aybabtu.com>
31155
31156 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
31157 `disk->total_sectors'.
31158
81a06771 311592008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 31160
31161 * include/grub/normal.h: Fixed incorrect comment for
31162 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
31163
81a06771 311642008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 31165
31166 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
31167 values with defines.
31168
31169 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
31170 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
31171 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
31172 (GRUB_VBE_MODEATTR_COLOR): Likewise.
31173 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
31174 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
31175 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
31176 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
31177 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
31178 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
31179 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
31180 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
31181 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
31182 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
31183 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
31184 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
31185 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
31186 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
31187 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
31188
93d5cbf8 311892008-08-31 Robert Millan <rmh@aybabtu.com>
31190
31191 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
31192 declaration.
31193 (grub_multiboot): Fix a few warnings.
31194
21751d50 311952008-08-31 Robert Millan <rmh@aybabtu.com>
31196
31197 * loader/i386/pc/multiboot.c: Update comment not to say that
31198 boot_device support is unimplemented.
31199
e27a75c5 312002008-08-31 Robert Millan <rmh@aybabtu.com>
31201
31202 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
31203 or memory map support are unimplemented.
31204
81a06771 312052008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 31206
31207 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
31208
81a06771 312092008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 31210
31211 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
31212 total video memory in 'vbeinfo' output; show color format details for
31213 each video mode.
31214
7c5d8d95 312152008-08-30 Pavel Roskin <proski@gnu.org>
31216
31217 * util/genmoddep.c: Remove for real this time.
31218 * DISTLIST: Remove util/genmoddep.c.
31219
4cebd25a 312202008-08-30 Robert Millan <rmh@aybabtu.com>
31221
31222 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
31223 as required by Multiboot spec (it was already 4-byte aligned, but
31224 only by chance).
31225
b497a269 312262008-08-29 Pavel Roskin <proski@gnu.org>
31227
e3925185 31228 * kern/powerpc/ieee1275/crt0.S: Rename to ...
31229 * kern/powerpc/ieee1275/startup.S: ... this.
31230 * conf/powerpc-ieee1275.rmk: Adjust for the above.
31231 * DISTLIST: Likewise.
31232
b497a269 31233 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
31234 grub/cpu/kernel.h. Add start label for consistency with other
31235 platforms. Add grub_prefix immediately after start. Add jump
31236 to the code after grub_prefix.
31237 * include/grub/powerpc/kernel.h: Provide valid values for
31238 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
31239
6e5a42fe 312402008-08-29 Bean <bean123ch@gmail.com>
31241
31242 * configure.ac: Change host_os to cygwin for mingw.
31243 (asprintf): New check for function.
31244
31245 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
31246 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
31247
31248 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 31249 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 31250 sync, sleep and grub_util_get_disk_size for mingw.
31251
31252 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
31253 to get size in mingw.
31254 (open_device): Use flag O_BINARY if it's defined.
31255 (find_root_device): Add dummy code for mingw.
31256
31257 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
31258 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
31259 (get_scsi_disk_name): Return 0 for mingw.
31260
31261 * util/hostfs.c: #include <grub/util/misc.h>.
31262 (grub_hostfs_open): Use "rb" flag to open file, use
31263 grub_util_get_disk_size to get disk size for mingw.
31264
31265 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
31266 (asprintf): New function if HAVE_ASPRINTF is not set.
31267 (sync): New function for mingw.
31268 (sleep): Likewise.
31269 (grub_util_get_disk_size): Likewise.
31270
ab3f2673 312712008-08-28 Pavel Roskin <proski@gnu.org>
31272
31273 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31274 kern/time.c.
31275
1c282483 312762008-08-28 Robert Millan <rmh@aybabtu.com>
31277
31278 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
31279
678e849c 312802008-08-28 Robert Millan <rmh@aybabtu.com>
31281
31282 Change find_grub_drive() syntax so it doesn't prevent it from
31283 detecting NULL names as errors.
31284
31285 * util/biosdisk.c (find_grub_drive): Move free slot search code
31286 from here ...
31287 (find_free_slot): ... to here.
31288 (read_device_map): Use find_free_slot() to search for free slots.
31289
965c75ca 312902008-08-27 Marco Gerards <marco@gnu.org>
31291
31292 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
31293 (scsi_mod_SOURCES): New variable.
31294 (scsi_mod_CFLAGS): Likewise
31295 (scsi_mod_LDFLAGS): Likewise.
31296
31297 * disk/scsi.c: New file.
31298
31299 * include/grub/scsi.h: Likewise.
31300
31301 * include/grub/scsicmd.h: Likewise.
31302
31303 * disk/ata.c: Include <grub/scsi.h>.
31304 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
31305 instead.
31306 (grub_ata_iterate): Skip ATAPI devices.
31307 (grub_ata_open): Only handle ATAPI devices.
31308 (struct grub_atapi_read): Removed.
31309 (grub_atapi_readsector): Likewise.
31310 (grub_ata_read): No longer handle ATAPI devices.
31311 (grub_ata_write): Likewise.
31312 (grub_atapi_iterate): New function.
31313 (grub_atapi_read): Likewise.
31314 (grub_atapi_write): Likewise.
31315 (grub_atapi_open): Likewise.
31316 (grub_atapi_close): Likewise.
31317 (grub_atapi_dev): New variable.
31318 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
31319 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
31320
31321 * include/grub/disk.h (enum grub_disk_dev_id): Add
31322 `GRUB_DISK_DEVICE_SCSI_ID'.
31323
c07ae501 313242008-08-26 Robert Millan <rmh@aybabtu.com>
31325
31326 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
31327 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
31328 descriptive.
31329
5ed20adc 313302008-08-23 Bean <bean123ch@gmail.com>
31331
31332 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
31333 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
31334 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
31335 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
31336 dm_nv.mod.
31337 (raid5rec_mod_SOURCES): New macro.
31338 (raid5rec_mod_CFLAGS): Likewise.
31339 (raid5rec_mod_LDFLAGS): Likewise.
31340 (raid6rec_mod_SOURCES): Likewise.
31341 (raid6rec_mod_CFLAGS): Likewise.
31342 (raid6rec_mod_LDFLAGS): Likewise.
31343 (mdraid_mod_SOURCES): Likewise.
31344 (mdraid_mod_CFLAGS): Likewise.
31345 (mdraid_mod_LDFLAGS): Likewise.
31346 (dm_nv_mod_SOURCES): Likewise.
31347 (dm_nv_mod_CFLAGS): Likewise.
31348 (dm_nv_mod_LDFLAGS): Likewise.
31349
31350 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
31351 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
31352 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
31353
31354 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
31355 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
31356
31357 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31358
31359 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31360
31361 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31362
31363 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31364
31365 * disk/raid5_recover.c: New file.
31366
31367 * disk/raid6_recover.c: Likewise.
31368
31369 * disk/mdraid_linux.c: Likewise.
31370
31371 * disk/dmraid_nvidia.c: Likewise.
31372
31373 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
31374 ULONG_MAX.
31375
31376 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
31377 calculate the size of raid device.
31378 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
31379 different layout of raid5.
31380 (grub_raid_scan_device): Remove code specific to mdraid.
31381 (grub_raid_list): New variable.
31382 (free_array): New function.
31383 (grub_raid_register): Likewise.
31384 (grub_raid_unregister): Likewise.
31385 (grub_raid_rescan): Likewise.
31386 (GRUB_MOD_INIT): Don't iterate device here.
31387 (GRUB_MOD_FINI): Use free_array to release resource.
31388
31389 * include/grub/raid.h: Remove macro and structure specific to mdraid.
31390 (grub_raid5_recover_func_t): New function variable type.
31391 (grub_raid6_recover_func_t): Likewise.
31392 (grub_raid5_recover_func): New variable.
31393 (grub_raid6_recover_func): Likewise.
31394 (grub_raid_register): New function.
31395 (grub_raid_unregister): Likewise.
31396 (grub_raid_rescan): Likewise.
31397 (grub_raid_block_xor): Likewise.
31398
31399 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
31400 (CMD_CRC): New macro.
31401 (part): Removed.
31402 (read_file): Handle device as well as file.
31403 (cmd_crc): New function.
31404 (fstest): Handle multiple disks.
31405 (options): Remove part, raw and long, add root and diskcount.
31406 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 31407 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 31408 add handling for the new options, support multiple disks.
31409
31410 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
31411
29c18915 314122008-08-23 Bean <bean123ch@gmail.com>
31413
31414 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
31415
31416 * genfslist.sh: Ignore kernel.mod.
31417
31418 * genpartmaplist.sh: Likewise.
31419
8415f261 314202008-08-23 Robert Millan <rmh@aybabtu.com>
31421
31422 * util/getroot.c (find_root_device): Skip anything that starts with
31423 a dot, not just directories. This avoids things like /dev/.tmp.md0.
31424
d5a7dc5b 314252008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 31426
d5a7dc5b 31427 * util/update-grub.in (GRUB_GFXMODE): Export variable.
31428 * util/grub.d/00_header.in: Allow the administrator to change default
31429 gfxmode via ${GRUB_GFXMODE}.
31430
380cfbb4 314312008-08-21 Felix Zielcke <fzielcke@z-51.de>
31432
31433 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
31434
c9baafe7 314352008-08-21 Robert Millan <rmh@aybabtu.com>
31436
31437 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
31438 loader.
31439 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
31440 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
31441
e290bef2 314422008-08-20 Carles Pina i Estany <carles@pina.cat>
31443
31444 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
31445 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
31446
f9dbfc96 314472008-08-19 Robert Millan <rmh@aybabtu.com>
31448
31449 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
31450 (struct grub_virtual_screen): Remove `cursor_color'.
31451 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
31452 initialization.
31453 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
31454
dd6bd6ab 314552008-08-18 Robert Millan <rmh@aybabtu.com>
31456
31457 Unify (identical) linux_normal.c files.
31458 * loader/i386/efi/linux_normal.c: Move from here ...
31459 * loader/linux_normal.c: ... to here. Update all users.
31460 * loader/i386/pc/linux_normal.c: Delete. Update all users.
31461 * loader/i386/ieee1275/linux_normal.c: Likewise.
31462
7f42f83e 314632008-08-18 Robert Millan <rmh@aybabtu.com>
31464
31465 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
31466 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
31467 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
31468 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
31469 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
31470 New macros.
31471 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
31472 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
31473 (GRUB_LINUX_CL_END_OFFSET): ... to here.
31474 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
31475 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
31476 (GRUB_EFI_CL_END_OFFSET): Rename to ...
31477 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
31478 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
31479 Initialize `params->video_cursor_x' and `params->video_cursor_y'
31480 portably using grub_getxy().
31481 Replace `-EFI' with `-bzImage' in boot message.
31482
38487ddb 314832008-08-17 Robert Millan <rmh@aybabtu.com>
31484
31485 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
31486
deceb3ec 314872008-08-17 Robert Millan <rmh@aybabtu.com>
31488
31489 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
31490
31491 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
31492 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
31493 (grub_machine_mmap_iterate): New function declaration.
31494 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
31495 structure.
31496 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
31497 macros.
31498
31499 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
31500 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
31501 Move e820 parsing from here ...
31502 * kern/i386/pc/mmap.c: New file.
31503 (grub_machine_mmap_iterate): ... to here.
31504
31505 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
31506 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
31507 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
31508 (grub_available_iterate): Redeclare to return `void', and redeclare
31509 its hook to use grub_uint64_t as addr and size parameters, and rename
31510 to ...
31511 (grub_machine_mmap_iterate): ... this. Update all users.
31512
31513 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
31514 to make it more readable. Rename to ...
31515 (grub_machine_mmap_iterate): ... this.
31516
31517 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
31518 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
31519 (grub_multiboot): Allocate an extra region after the payload, and fill
31520 it with a Multiboot memory map. Adjust a.out loader to calculate size
31521 with the extra space.
31522 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
31523 with the extra space.
31524
f8aa0f43 315252008-08-17 Carles Pina i Estany <carles@pina.cat>
31526
9807deb9 31527 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 31528
605f5bb6 315292008-08-17 Felix Zielcke <fzielcke@z-51.de>
31530
31531 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
31532 mdate-sh to the list `find' searches for.
31533 * DISTLIST: Regenerated.
31534
210db6c6 315352008-08-16 Felix Zielcke <fzielcke@z-51.de>
31536
31537 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
31538 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 31539 genmoddep.awk, gensymlist.sh.in.
31540 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 31541 * DISTLIST: Regenerated.
48cdbfd4 31542 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 31543
1082b929 315442008-08-16 Robert Millan <rmh@aybabtu.com>
31545
31546 * disk/raid.c (grub_raid_init): Handle/report errors set by
31547 grub_device_iterate().
31548 * disk/lvm.c (grub_lvm_init): Likewise.
31549
42ce5170 315502008-08-15 Bean <bean123ch@gmail.com>
31551
31552 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31553 and datehook.mod.
31554 (datetime_mod_SOURCES): New macro.
31555 (datetime_mod_CFLAGS): Likewise.
31556 (datetime_mod_LDFLAGS): Likewise.
31557 (date_mod_SOURCES): Likewise.
31558 (date_mod_CFLAGS): Likewise.
31559 (date_mod_LDFLAGS): Likewise.
31560 (datehook_mod_SOURCES): Likewise.
31561 (datehook_mod_CFLAGS): Likewise.
31562 (datehook_mod_LDFLAGS): Likewise.
31563
31564 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31565 and datehook.mod.
31566 (datetime_mod_SOURCES): New macro.
31567 (datetime_mod_CFLAGS): Likewise.
31568 (datetime_mod_LDFLAGS): Likewise.
31569 (date_mod_SOURCES): Likewise.
31570 (date_mod_CFLAGS): Likewise.
31571 (date_mod_LDFLAGS): Likewise.
31572 (datehook_mod_SOURCES): Likewise.
31573 (datehook_mod_CFLAGS): Likewise.
31574 (datehook_mod_LDFLAGS): Likewise.
31575
31576 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31577 and datehook.mod.
31578 (datetime_mod_SOURCES): New macro.
31579 (datetime_mod_CFLAGS): Likewise.
31580 (datetime_mod_LDFLAGS): Likewise.
31581 (date_mod_SOURCES): Likewise.
31582 (date_mod_CFLAGS): Likewise.
31583 (date_mod_LDFLAGS): Likewise.
31584 (datehook_mod_SOURCES): Likewise.
31585 (datehook_mod_CFLAGS): Likewise.
31586 (datehook_mod_LDFLAGS): Likewise.
31587
31588 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31589 and datehook.mod.
31590 (datetime_mod_SOURCES): New macro.
31591 (datetime_mod_CFLAGS): Likewise.
31592 (datetime_mod_LDFLAGS): Likewise.
31593 (date_mod_SOURCES): Likewise.
31594 (date_mod_CFLAGS): Likewise.
31595 (date_mod_LDFLAGS): Likewise.
31596 (datehook_mod_SOURCES): Likewise.
31597 (datehook_mod_CFLAGS): Likewise.
31598 (datehook_mod_LDFLAGS): Likewise.
31599
31600 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31601 and datehook.mod.
31602 (datetime_mod_SOURCES): New macro.
31603 (datetime_mod_CFLAGS): Likewise.
31604 (datetime_mod_LDFLAGS): Likewise.
31605 (date_mod_SOURCES): Likewise.
31606 (date_mod_CFLAGS): Likewise.
31607 (date_mod_LDFLAGS): Likewise.
31608 (datehook_mod_SOURCES): Likewise.
31609 (datehook_mod_CFLAGS): Likewise.
31610 (datehook_mod_LDFLAGS): Likewise.
31611
31612 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
31613
31614 * commands/date.c: New file.
31615
31616 * hook/datehook.c: Likewise.
31617
31618 * include/grub/lib/datetime.h: Likewise.
31619
31620 * include/grub/i386/cmos.h: Likewise.
31621
31622 * lib/datetime.c: Likewise.
31623
31624 * lib/i386/datetime.c: Likewise.
31625
31626 * lib/efi/datetime.c: Likewise.
31627
0e9242da 316282008-08-14 Robert Millan <rmh@aybabtu.com>
31629
31630 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
31631 (grub_mkelfimage_SOURCES): New variable.
31632 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
31633
31634 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
31635 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
31636 * conf/powerpc-ieee1275.rmk: Likewise.
31637 * conf/i386-ieee1275.rmk: Likewise.
31638
31639 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
31640 * kern/i386/coreboot/init.c: Likewise.
31641
31642 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
31643 with `<grub/cpu/kernel.h>'.
31644 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
31645 to ...
31646 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
31647 * kern/i386/coreboot/startup.S: Likewise.
31648
31649 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
31650 (GRUB_MOD_GAP): Remove.
31651 * include/grub/powerpc/kernel.h: New file.
31652 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
31653 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
31654 * include/grub/i386/kernel.h: New file.
31655 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
31656 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
31657 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
31658
31659 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
31660 `grub-mkelfimage'.
31661 Use --directory when invoking grub_mkimage.
31662
31663 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
31664 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
31665 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
31666 and GRUB_KERNEL_CPU_PREFIX.
31667
b86408f8 316682008-08-14 Felix Zielcke <fzielcke@z-51.de>
31669
d5e619ca 31670 * include/grub/err.h (grub_err_printf): New function prototype.
31671 * util/misc.c (grub_err_printf): New function.
31672 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
31673 grub_printf.
31674 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 31675
7161f0e0 316762008-08-13 Robert Millan <rmh@aybabtu.com>
31677
31678 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
31679
a1967522 316802008-08-13 Robert Millan <rmh@aybabtu.com>
31681
31682 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
31683 boot entry.
31684
371458b5 316852008-08-12 Robert Millan <rmh@aybabtu.com>
31686
31687 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
31688 of the relocation code from here ...
31689 (grub_multiboot): ... to here.
31690 (forward_relocator, backward_relocator): Move from here ...
31691 * kern/i386/loader.S (grub_multiboot_forward_relocator)
31692 (grub_multiboot_backward_relocator): ... to here.
31693 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
31694 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
31695 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
31696 (grub_multiboot_forward_relocator_end)
31697 (grub_multiboot_backward_relocator)
31698 (grub_multiboot_backward_relocator_end): New variables.
31699
05f9452b 317002008-08-12 Bean <bean123ch@gmail.com>
31701
31702 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
31703
20024ab0 317042008-08-11 Robert Millan <rmh@aybabtu.com>
31705
31706 * kern/i386/linuxbios/startup.S: Move from here ...
31707 * kern/i386/coreboot/startup.S: ... to here.
31708
31709 * kern/i386/linuxbios/init.c: Move from here ...
31710 * kern/i386/coreboot/init.c: ... to here.
31711
31712 * kern/i386/linuxbios/table.c: Move from here ...
31713 * kern/i386/coreboot/mmap.c: ... to here.
31714
31715 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
31716
e352e9cd 317172008-08-11 Robert Millan <rmh@aybabtu.com>
31718
31719 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
31720 errors. Leave it to the upper layer to handle them.
31721
2d05bc6a 317222008-08-09 Christian Franke <franke@computer.org>
31723
31724 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
31725 * conf/common.rmk: Install `grub-pe2elf' only if requested.
31726 Install `grub.d/10_windows' only on Cygwin.
31727 * configure.ac: Add subst of `target_os'.
31728 Check `target_os' also before setting TARGET_OBJ2ELF.
31729 Add `--enable-grub-pe2elf'.
31730
042bd419 317312008-08-08 Robert Millan <rmh@aybabtu.com>
31732
31733 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
31734 (grub_last_time): Change type to grub_uint64_t.
31735 (grub_disk_open): Migrate code from to using grub_get_time_ms().
31736 (grub_disk_close): Likewise.
31737
31738 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
31739 (run_menu): Migrate code from to using grub_get_time_ms().
31740
31741 * util/misc.c (grub_get_time_ms): New function.
31742
7f280db5 317432008-08-08 Marco Gerards <marco@gnu.org>
31744
31745 * disk/ata.c (grub_ata_regget): Change return type to
31746 `grub_uint8_t'.
31747 (grub_ata_regget2): Likewise.
31748 (grub_ata_wait_status): New function.
31749 (grub_ata_wait_busy): Removed function, updated all users to use
31750 `grub_ata_wait_status'.
31751 (grub_ata_wait_drq): Likewise.
31752 (grub_ata_cmd): New function.
31753 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
31754 error handling.
31755 (grub_ata_pio_write): Add error handling.
31756 (grub_atapi_identify): Likewise.
31757 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
31758 handling.
31759 (grub_ata_identify): Use `grub_ata_cmd' and improve error
31760 handling. Actually use the detected registers. Reorder the
31761 detection logic such that it is easier to read.
31762 (grub_ata_pciinit): Do not assign the same ID to each controller.
31763 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
31764 handling.
31765 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
31766
31767 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
31768
1fbc5e66 317692008-08-08 Marco Gerards <marco@gnu.org>
31770
31771 * NEWS: Update.
31772
819ce6c0 317732008-08-07 Bean <bean123ch@gmail.com>
31774
31775 * include/grub/x86_64/pci.h: New file.
31776
5c41d44d 317772008-08-07 Christian Franke <franke@computer.org>
31778
31779 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
31780 (TIMER2_GATE): Likewise.
31781 (grub_pit_wait): Add enable/disable of the timer2 gate
31782 bit of port 0x61. This fixes a possible infinite loop.
31783
5ebc275d 317842008-08-07 Bean <bean123ch@gmail.com>
31785
31786 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
31787 kern/i386/tsc.c and kern/i386/pit.c.
31788
31789 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
31790 x86_64 platform.
31791
31792 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
31793 <grub/i386/tsc.h>.
31794
31795 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
31796
e383b3d0 317972008-08-07 Bean <bean123ch@gmail.com>
31798
31799 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
31800
31801 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
31802
31803 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
31804 multiple inclusion. Add #include <grub/types.h>.
31805
1cbb58ac 318062008-08-06 Christian Franke <franke@computer.org>
31807
31808 * conf/common.rmk: Build and install `10_windows'.
31809 * util/grub.d/10_windows.in: New script.
31810
337f5a1e 318112008-08-06 Pavel Roskin <proski@gnu.org>
31812
31813 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
31814
057bc4ac 318152008-08-06 Robert Millan <rmh@aybabtu.com>
31816
31817 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
31818 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
31819
2b99f123 318202008-08-06 Bean <bean123ch@gmail.com>
31821
31822 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
31823 (grub_pxefs_fs_int): Remove dummy definition.
31824 (grub_pxefs_open): Use data->block_size to store the current block
31825 size setting.
31826 (grub_pxefs_read): Use block size stored in data->block_size. As the
31827 value of grub_pxe_blksize can be changed after the file is opened.
31828
9f0234cb 318292008-08-06 Bean <bean123ch@gmail.com>
31830
31831 * fs/i386/pc/pxe.c (curr_file): new variable.
31832 (grub_pxefs_open): Simply the handling of pxe file system. Don't
31833 require the dummy internal file system anymore.
31834 (grub_pxefs_read): Removed.
31835 (grub_pxefs_close): Likewise.
31836 (grub_pxefs_fs_int): Likewise.
31837 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
31838 connection when we switch file.
31839 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
31840
a55d42e0 318412008-08-06 Robert Millan <rmh@aybabtu.com>
31842
31843 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
31844 `halt.mod'.
31845 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
31846 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
31847
31848 * kern/i386/halt.c: New file.
31849 * kern/i386/reboot.c: Likewise.
31850 * include/grub/i386/reboot.h: Likewise.
31851 * include/grub/i386/halt.h: Likewise.
31852
31853 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
31854 Include `<grub/cpu/halt.h>'.
31855 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
31856 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
31857
31858 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
31859 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
31860 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
31861 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
31862 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
31863 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
31864 from here ...
31865 * include/grub/i386/at_keyboard.h: ... to here.
31866
24371d26 318672008-08-05 Robert Millan <rmh@aybabtu.com>
31868
31869 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
31870 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
31871 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
31872 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
31873 `kern/generic/millisleep.c'.
31874
31875 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
31876 instead of grub_get_rtc().
31877 (grub_tsc_init): Initialize `tsc_boot_time'.
31878
31879 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
31880 (grub_machine_init): Use grub_tsc_init() rather than
31881 installing an RTC-based handler via grub_install_get_time_ms().
31882
31883 * kern/i386/pit.c: New file.
31884 * include/grub/i386/pit.h: Likewise.
31885
9e7007b3 318862008-08-05 Bean <bean123ch@gmail.com>
31887
31888 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
31889
31890 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
31891 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
31892 (pxe_mod_SOURCES): New macro.
31893 (pxe_mod_CFLAGS): Likewise.
31894 (pxe_mod_LDFLAGS): Likewise.
31895 (pxecmd_mod_SOURCES): Likewise.
31896 (pxecmd_mod_CFLAGS): Likewise.
31897 (pxecmd_mod_LDFLAGS): Likewise.
31898
31899 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
31900 (grub_pxe_call): Likewise.
31901
31902 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
31903
31904 * commands/i386/pc/pxecmd.c: New file.
31905
9f0234cb 31906 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 31907
31908 * include/grub/i386/pc/pxe.h: Likewise.
31909
6977d49f 319102008-08-05 Bean <bean123ch@gmail.com>
31911
31912 * util/console.c (grub_console_cur_color): New variable.
31913 (grub_console_standard_color): Likewise.
31914 (grub_console_normal_color): Likewise.
31915 (grub_console_highlight_color): Likewise.
31916 (color_map): Likewise.
31917 (use_color): Likewise.
31918 (NUM_COLORS): New macro.
31919 (grub_ncurses_setcolorstate): Handle color properly.
31920 (grub_ncurses_setcolor): Don't change color here, just remember the
31921 settings, color will be set in grub_ncurses_setcolorstate.
31922 (grub_ncurses_getcolor): New function.
31923 (grub_ncurses_init): Initialize color pairs.
31924 (grub_ncurses_term): New member grub_ncurses_getcolor.
31925
9c2ff3ee 319262008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 31927
9c2ff3ee 31928 High resolution timer support. Implemented for x86 CPUs using TSC.
31929 Extracted generic grub_millisleep() so it's linked in only as needed.
31930 This requires a Pentium compatible CPU; if the RDTSC instruction is
31931 not supported, then it falls back on the generic grub_get_time_ms()
31932 implementation that uses the machine's RTC.
31933
31934 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
31935 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
31936 `kern/generic/millisleep.c'.
31937
31938 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
31939 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
31940
31941 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
31942 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
31943
31944 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
31945
31946 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31947 `kern/generic/millisleep.c'.
31948
31949 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
31950
31951 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
31952
31953 * kern/generic/rtc_get_time_ms.c: New file.
31954
31955 * kern/generic/millisleep.c: New file.
337f5a1e 31956
9c2ff3ee 31957 * kern/misc.c: Don't include
31958 <kern/time.h> anymore.
31959 (grub_millisleep_generic): Removed.
31960
31961 * commands/sleep.c (grub_interruptible_millisleep): Uses
31962 grub_get_time_ms() instead of grub_get_rtc().
31963
31964 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
31965 function.
31966 (grub_cpu_is_cpuid_supported): New inline function.
31967 (grub_cpu_is_tsc_supported): New inline function.
31968 (grub_tsc_init): New function prototype.
31969 (grub_tsc_get_time_ms): New function prototype.
31970
31971 * kern/i386/tsc.c (grub_get_time_ms): New file.
31972
31973 * include/grub/time.h: Include <grub/types.h.
31974 (grub_millisleep_generic): Removed.
31975 (grub_get_time_ms): New prototype.
31976 (grub_install_get_time_ms): New prototype.
31977 (grub_rtc_get_time_ms): New prototype.
31978
31979 * kern/time.c (grub_get_time_ms): New function.
31980 (grub_install_get_time_ms): New function.
31981
31982 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
31983 <grub/time.h> anymore.
31984 (grub_millisleep): Removed.
31985 (grub_machine_init): Call grub_tsc_init.
31986
31987 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
31988 get_time_ms() implementation.
31989
31990 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
31991 (ieee1275_get_time_ms): New function.
31992 (grub_machine_init): Install get_time_ms() implementation.
31993
31994 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
31995 (grub_machine_init): Call grub_tsc_init().
31996 (grub_millisleep): Removed.
bf06a93f 31997
9c2ff3ee 31998 * kern/ieee1275/init.c (grub_millisleep): Removed.
31999 (grub_machine_init): Install ieee1275_get_time_ms()
32000 implementation.
32001 (ieee1275_get_time_ms): New function.
32002 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
32003 real work.
32004
9ec92aaf 320052008-08-05 Marco Gerards <marco@gnu.org>
32006
32007 * disk/ata.c: Include <grub/pci.h>.
32008 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
32009 (grub_ata_initialize): Rewritten.
32010 (grub_ata_device_initialize): New function.
32011
8d23f507 320122008-08-04 Pavel Roskin <proski@gnu.org>
32013
32014 * kern/main.c: Include grub/mm.h.
32015
5e15ee3d 320162008-08-04 Robert Millan <rmh@aybabtu.com>
32017
32018 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
32019 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
32020 corruption problem).
32021
a9053f8f 320222008-08-04 Robert Millan <rmh@aybabtu.com>
32023
32024 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
32025 warnings introduced in my last commit.
32026
dd19c7d7 320272008-08-03 Robert Millan <rmh@aybabtu.com>
32028
32029 Make PCI available on all i386 architectures.
32030
32031 * include/grub/i386/pc/pci.h: Move from here ...
32032 * include/grub/i386/pci.h: ... to here.
32033
32034 * include/grub/i386/pc/pci.h: Remove.
32035 * include/grub/i386/efi/pci.h: Remove.
32036 * include/grub/x86_64/efi/pci.h: Remove.
32037
32038 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
32039 `<grub/cpu/pci.h>'.
32040
32041 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
32042 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
32043 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
32044
32045 * conf/i386-ieee1275.rmk: Likewise.
32046
e14a6184 320472008-08-03 Robert Millan <rmh@aybabtu.com>
32048
32049 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
32050 (grub_console_setcursor): Make it possible to set cursor off.
32051
52768e37 320522008-08-03 Robert Millan <rmh@aybabtu.com>
32053
32054 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
32055 of modules instead of assuming which platform provides what.
32056 * util/update-grub.in: Likewise.
32057
2d52f57f 320582008-08-03 Robert Millan <rmh@aybabtu.com>
32059
32060 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
32061 instead of `grub_install_dos_part' to determine whether a drive needs
32062 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 32063 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 32064
2a5cd121 320652008-08-02 Robert Millan <rmh@aybabtu.com>
32066
32067 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
32068
93808428 320692008-08-02 Robert Millan <rmh@aybabtu.com>
32070
32071 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
32072 of informational grub_dprintf() calls.
32073
3bd0a12a 320742008-08-02 Robert Millan <rmh@aybabtu.com>
32075
32076 * disk/memdisk.c (memdisk_size): Don't initialize.
32077 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
32078
32079 * include/grub/i386/pc/kernel.h
32080 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
32081 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
32082 (grub_memdisk_image_size, grub_arch_memdisk_addr)
32083 (grub_arch_memdisk_size): Remove.
32084
32085 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
32086 field (was only used to transfer a constant). Add `type' field to
32087 support multiple module types.
32088 (grub_module_iterate): New function.
32089
32090 * kern/device.c (grub_device_open): Do not hide error messages
32091 when grub_disk_open() fails. Use grub_print_error() instead.
32092
32093 * kern/i386/pc/init.c (grub_arch_modules_addr)
32094 (grub_arch_memdisk_size): Remove functions.
32095 (grub_arch_modules_addr): Return the module address in high memory
32096 (now that it isn't copied anymore).
32097
32098 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
32099 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
32100 decompression routine (grub_total_module_size already includes that
32101 now). Don't copy modules back to low memory.
32102
32103 * kern/main.c: Include `<grub/mm.h>'.
32104 (grub_load_modules): Split out (and use) ...
32105 (grub_module_iterate): ... this function, which iterates through
32106 module objects and runs a hook.
32107 Comment out grub_mm_init_region() call, as it would cause non-ELF
32108 modules to be overwritten.
32109
32110 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
32111 the memdisk image in its own region, make it part of the module list.
32112 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
32113 (main): Parse --memdisk|-m option, and pass user-provided path as
32114 parameter to generate_image().
32115 (add_segments): Pass `memdisk_path' down to load_modules().
32116 (load_modules): Embed memdisk image in module section when requested.
32117 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
32118 `header.type' instead of `header.offset'.
32119
32120 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
32121 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
32122 (memdisk_mod_LDFLAGS): New variables.
32123 * conf/i386-coreboot.rmk: Likewise.
32124 * conf/i386-ieee1275.rmk: Likewise.
32125
a927cc73 321262008-08-02 Robert Millan <rmh@aybabtu.com>
32127
32128 * loader/i386/pc/multiboot.c (playground, forward_relocator)
32129 (backward_relocator): New variables. Used to allocate and relocate
32130 the payload, respectively.
32131 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 32132 address, install the appropriate relocator code in each bound of
a927cc73 32133 the payload, and set the entry point such that
32134 grub_multiboot_real_boot() will jump to one of them.
32135
32136 * kern/i386/loader.S (grub_multiboot_payload_size)
32137 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32138 (grub_multiboot_payload_entry_offset): New variables.
32139 (grub_multiboot_real_boot): Set cpu context to what the relocator
32140 expects, and jump to the relocator instead of the payload.
32141
32142 * include/grub/i386/loader.h (grub_multiboot_payload_size)
32143 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32144 (grub_multiboot_payload_entry_offset): Export.
32145
b15d8a0c 321462008-08-01 Bean <bean123ch@gmail.com>
32147
32148 * normal/menu_entry.c (editor_getline): Don't return the original
32149 string as result, as it will be released by lexer once it has done
32150 using it.
32151
cdfb3d22 321522008-08-01 Robert Millan <rmh@aybabtu.com>
32153
32154 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
32155 within menuentries, not before them.
32156 util/grub.d/10_hurd.in: Likewise.
32157
9175e93d 321582008-08-01 Bean <bean123ch@gmail.com>
32159
32160 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
32161 (bufio_mod_SOURCES): New macro.
32162 (bufio_mod_CFLAGS): Likewise.
32163 (bufio_mod_LDFLAGS): Likewise.
32164
32165 * include/grub/bufio.h: New file.
32166
32167 * io/bufio.c: Likewise.
32168
32169 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
32170 (grub_video_reader_png): Use grub_buffile_open to open file.
32171
32172 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
32173 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
32174
32175 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
32176 (grub_video_reader_tga): Use grub_buffile_open to open file.
32177
32178 * font/manager.c: Include <grub/bufio.h>.
32179 (add_font): Use grub_buffile_open to open file.
32180
3d8383e7 321812008-07-31 Robert Millan <rmh@aybabtu.com>
32182
32183 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
32184 ELF segments, use a macro for arbitrarily accessing any of them instead
32185 of preparing a pointer that allows access to one at a time.
32186 (grub_multiboot_load_elf64): Likewise.
32187
16e641b6 321882008-07-31 Bean <bean123ch@gmail.com>
32189
32190 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
32191 GRUB_KERNEL_MACHINE_DATA_END.
32192
59198b72 321932008-07-30 Robert Millan <rmh@aybabtu.com>
32194
32195 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
32196 Increase from 0x50 to 0x60.
32197 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
32198 use UUIDs to identify the root drive for them. If that's not
32199 possible, abort.
32200 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
32201 check, for cross-disk installs.
32202
ae88bca3 322032008-07-30 Robert Millan <rmh@aybabtu.com>
32204
32205 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
32206 is non-empty, use it to set the `prefix' environment variable instead
32207 of the usual approach.
32208 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
32209 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
32210 environment variable instead of dummy make_install_device().
32211
32212 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
32213 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 32214 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 32215
32216 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
32217 New variable reference.
32218 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
32219 New macro. Defines offset of `grub_prefix' within startup.S (relative
32220 to `start').
32221 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
32222 section within startup.S (relative to `start').
32223 * include/grub/i386/coreboot/kernel.h: Likewise.
32224
32225 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
32226 Overwrite grub_prefix with its contents, at the beginning of the
32227 first segment.
32228 (main): Understand -p|--prefix.
32229
14f41dd1 322302008-07-30 Robert Millan <rmh@aybabtu.com>
32231
32232 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
32233
4ca049a3 322342008-07-30 Robert Millan <rmh@aybabtu.com>
32235
32236 * term/i386/pc/vga_text.c (grub_console_cls): Use
32237 grub_console_gotoxy() to go back to beginning of the screen.
32238 Found by Patrick Georgi <patrick.georgi@coresystems.de>
32239
2921d337 322402008-07-29 Christian Franke <franke@computer.org>
32241
32242 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
32243 Add conversion of emulated mount points on Cygwin.
32244
b609876d 322452008-07-29 Christian Franke <franke@computer.org>
32246
32247 * util/update-grub.in: Add a check for admin
32248 group on Cygwin.
32249 Remove old `grub.cfg.new' before creation.
32250 Add `-f' to `mv' to handle the different filesystem
32251 semantics of Windows.
32252
e93e4679 322532008-07-29 Bean <bean123ch@gmail.com>
32254
32255 * normal/main.c (get_line): Fix buffer overflow bug.
32256
41694fd0 322572008-07-28 Robert Millan <rmh@aybabtu.com>
32258
32259 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
32260 (struct grub_apple_header): New struct. Describes the layout of
32261 the partmap header.
32262 (apple_partition_map_iterate): Check the header magic as well as the
32263 partition magic (which was already being checked).
32264
cfd0b4e6 322652008-07-28 Pavel Roskin <proski@gnu.org>
32266
32267 * genmk.rb: Add a warning to the beginning of the output that
32268 it's a generated file and should not be edited.
32269
93cce016 322702008-07-28 Robert Millan <rmh@aybabtu.com>
32271
32272 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
32273 with the same number are found, just use issue a warning with
32274 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 32275
cd1df915 322762008-07-27 Robert Millan <rmh@aybabtu.com>
32277
32278 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
32279 information.
32280
b70a8427 322812008-07-27 Bean <bean123ch@gmail.com>
32282
32283 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
32284 (grub_fat_find_dir): Ignore case when comparing filename.
32285
8f5e379f 322862008-07-27 Bean <bean123ch@gmail.com>
32287
32288 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
32289 smallino, as it's more descriptive, and i8count can be confused with
32290 the other field count.
32291 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
32292 inode type.
32293
a85cd5a0 322942008-07-27 Bean <bean123ch@gmail.com>
32295
32296 * commands/crc.c: New file.
32297
32298 * lib/crc.c: Likewise.
32299
32300 * include/grub/lib/crc.h: Likewise.
32301
32302 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
32303
32304 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
32305 (hexdump): Move this function to ...
32306
32307 * lib/hexdump.c: ... here.
32308
32309 * include/grub/hexdump.h: Renamed to ...
32310
32311 * include/grub/lib/hexdump.h: ... this.
32312
32313 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
32314
32315 * util/grub-editenv.c: Likewise.
32316
32317 * include/envblk.h: Renamed to ...
32318
32319 * include/lib/envblk.h: ... this.
32320
32321 * util/envblk.c: Renamed to ...
32322
32323 * lib/envblk.c: ... this.
32324
32325 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
32326 lib/hexdump.c.
32327 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
32328 (pkglib_MODULES): Add crc.mod.
32329 (hexdump_mod_SOURCES): Add lib/hexdump.c.
32330 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
32331 (crc_mod_SOURCES): New macro.
32332 (crc_mod_CFLAGS): Likewise.
32333 (crc_mod_LDFLAGS): Likewise.
32334
32335 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
32336
32337 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32338
32339 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32340
32341 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32342
32343 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32344
c298def0 323452008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 32346
32347 * commands/help.c: Include <grub/term.h>.
32348 (TERM_WIDTH): Removed. Updated all users.
32349
cc349fb3 323502008-07-27 Pavel Roskin <proski@gnu.org>
32351
32352 * util/getroot.c (find_root_device): Rephrase a comment to avoid
32353 spurious warnings about a comment within a comment.
32354
9051607e 323552008-07-25 Robert Millan <rmh@aybabtu.com>
32356
32357 * util/getroot.c (find_root_device): Skip devices that match
32358 /dev/dm-[0-9]. This lets the real device be found for any type of
32359 abstraction (LVM, EVMS, RAID..).
32360 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
32361 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
32362 device is found first, find_root_device() will now skip it.
32363
01453bfc 323642008-07-24 Pavel Roskin <proski@gnu.org>
32365
32366 * include/grub/types.h: Use __builtin_bswap32() and
32367 __builtin_bswap64() with gcc 4.3 and newer.
32368
6af9849f 323692008-07-24 Christian Franke <franke@computer.org>
32370
3a0fa256 32371 * util/i386/pc/grub-install.in: If `--debug' is specified,
32372 pass `--verbose' to grub-setup.
32373 Abort script if make_system_path_relative_to_its_root() fails.
32374
7810e747 323752008-07-24 Bean <bean123ch@gmail.com>
32376
32377 * configure.ac: Fixed a bug caused by the previous cygwin patch,
32378 variable `target_platform' should be `platform'.
32379
42290e17 323802008-07-24 Bean <bean123ch@gmail.com>
32381
51cc5193 32382 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 32383 (grub_png_init_fixed_block): New function.
32384 (grub_png_decode_image_data): Handle fixed huffman code compression.
32385
2a8a80e4 323862008-07-24 Bean <bean123ch@gmail.com>
32387
32388 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
32389 (grub_pe2elf_SOURCES): New macro.
32390 (CLEANFILES): Add grub-pe2elf.
32391
32392 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
32393 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
32394 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
32395 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
32396 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
32397 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
32398 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
32399 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
32400 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
32401 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
32402 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
32403 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
32404 (GRUB_PE32_DT_FUNCTION): Likewise.
32405 (GRUB_PE32_REL_I386_DIR32): Likewise.
32406 (GRUB_PE32_REL_I386_REL32): Likewise.
32407 (grub_pe32_symbol): New structure.
32408 (grub_pe32_reloc): Likewise.
32409
32410 * util/grub-pe2elf.c: New file.
32411
32412 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
32413 start symbol in non pc platform.
32414
32415 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
32416
32417 The following patches are from Christian Franke.
32418
32419 * include/grub/dl.h: Remove .previous, gas supports this only
32420 for ELF format.
32421
32422 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
32423 Remove .type, gas supports this only for ELF format.
32424
32425 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
32426 nullbytes in symbol table. This fixes an infinite loop if table is
32427 zero filled.
32428
32429 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
32430 TARGET_IMG_LDFLAGS and EXEEXT.
32431
32432 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
32433 TARGET_IMG_LDFLAGS_AC.
32434 (grub_CHECK_STACK_ARG_PROBE): New function.
32435
32436 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
32437
32438 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
32439
32440 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
32441 to set TARGET_IMG_LD* accordingly.
32442 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
32443 Add call to grub_CHECK_STACK_ARG_PROBE.
32444 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
32445
32446 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
32447
32448 * genmk.rb: Add EXEEXT to CLEANFILES.
32449
12ccdb75 324502008-07-23 Robert Millan <rmh@aybabtu.com>
32451
32452 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
32453 define the codes for arrows and lines used for the menu).
32454 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
32455 as well.
32456
32457 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
32458 fonts, because the latter are too slow.
32459
18eeaf04 324602008-07-21 Bean <bean123ch@gmail.com>
32461
32462 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
32463 a20. Run keyboard test last, as it will cause macbook to halt.
32464
b095e2ad 324652008-07-18 Pavel Roskin <proski@gnu.org>
32466
32467 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
32468 load foreign architecture modules correctly anyway. Keep
32469 support for loading host architecture modules, whether we
32470 compile them or not.
32471
737feb35 324722008-07-17 Pavel Roskin <proski@gnu.org>
32473
3f4ce737 32474 * configure.ac: Use -m32 or -m64 regardless of whether we had to
32475 change target_cpu. The compiler default can mismatch target_cpu
32476 in any case.
32477
4ad2d049 32478 * disk/efi/efidisk.c: Fix format warnings on x86_64.
32479 * kern/efi/efi.c: Likewise.
32480
f6130a12 32481 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
32482 target compiler is functional.
32483 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
32484 are set up.
32485
58393a2d 32486 * configure.ac: Default to efi platform for x86_64-apple. Allow
32487 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
32488 adjustments from the rest, only do them if target is not
32489 explicitly given. Merge other adjustments with the final sanity
32490 check. Remove an extraneous check for supported CPU. Be
32491 specific which CPU and which platform is not supported.
32492
737feb35 32493 * configure.ac: Default to pc platform for x86_64.
32494
546f966a 324952008-07-17 Robert Millan <rmh@aybabtu.com>
32496
32497 Partial LinuxBIOS -> Coreboot rename.
32498
32499 * conf/i386-linuxbios.rmk: Renamed to ...
32500 * conf/i386-coreboot.rmk: ... this.
32501 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
32502 * configure.ac: Accept "coreboot" as input platform (but maintain
32503 compatibility with "linuxbios").
32504 * include/grub/i386/linuxbios: Renamed to ...
32505 * include/grub/i386/coreboot: ... this.
32506
20011694 325072008-07-17 Bean <bean123ch@gmail.com>
32508
32509 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 32510 (appleldr_mod_SOURCE): New variable.
20011694 32511 (appleldr_mod_CFLAGS): Likewise.
32512 (appleldr_mod_LDFLAGS): Likewise.
32513 (pci_mod_SOURCES): Likewise.
32514 (pci_mod_CFLAGS): Likewise.
32515 (pci_mod_LDFLAGS): Likewise.
32516 (lspci_mod_SOURCES): Likewise.
32517 (lspci_mod_CFLAGS): Likewise.
32518 (lspci_mod_LDFLAGS): Likewise.
32519
32520 * conf/x86_64-efi.rmk: New file.
32521
32522 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
32523 macro.
32524 (grub_efidisk_write): Likewise.
32525
32526 * include/efi/api.h (efi_call_0): New macro.
32527 (efi_call_1): Likewise.
32528 (efi_call_2): Likewise.
32529 (efi_call_3): Likewise.
32530 (efi_call_4): Likewise.
32531 (efi_call_5): Likewise.
32532 (efi_call_6): Likewise.
32533
32534 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
32535 grub_rescue_cmd_chainloader.
32536
32537 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
32538 (grub_pe32_optional_header): Change some fields based on i386 or
32539 x86_64 platform.
32540 (GRUB_PE32_PE32_MAGIC): Likewise.
32541
32542 * include/grub/efi/uga_draw.h: New file.
32543
32544 * include/grub/elf.h (STN_ABS): New constant.
32545 (R_X86_64_NONE): Relocation constant for x86_64.
32546 (R_X86_64_64): Likewise.
32547 (R_X86_64_PC32): Likewise.
32548 (R_X86_64_GOT32): Likewise.
32549 (R_X86_64_PLT32): Likewise.
32550 (R_X86_64_COPY): Likewise.
32551 (R_X86_64_GLOB_DAT): Likewise.
32552 (R_X86_64_JUMP_SLOT): Likewise.
32553 (R_X86_64_RELATIVE): Likewise.
32554 (R_X86_64_GOTPCREL): Likewise.
32555 (R_X86_64_32): Likewise.
32556 (R_X86_64_32S): Likewise.
32557 (R_X86_64_16): Likewise.
32558 (R_X86_64_PC16): Likewise.
32559 (R_X86_64_8): Likewise.
32560 (R_X86_64_PC8): Likewise.
32561
32562 * include/grub/i386/efi/pci.h: New file.
32563
32564 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
32565 Change it value based on platform.
32566 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
32567 (GRUB_E820_RAM): Likewise.
32568 (GRUB_E820_RESERVED): Likewise.
32569 (GRUB_E820_ACPI): Likewise.
32570 (GRUB_E820_NVS): Likewise.
32571 (GRUB_E820_EXEC_CODE): Likewise.
32572 (GRUB_E820_MAX_ENTRY): Likewise.
32573 (grub_e820_mmap): New structure.
32574 (linux_kernel_header): Change the efi field according to different
32575 kernel version, also field from linux_kernel_header.
32576
32577 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
32578
32579 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
32580 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
32581 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
32582 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
32583 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
32584 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
32585 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
32586 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
32587 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
32588 (GRUB_PCI_ADDR_IO_MASK): Likewise.
32589
32590 * include/grub/x86_64/efi/kernel.h: New file.
32591
32592 * include/grub/x86_64/efi/loader.h: Likewise.
32593
32594 * include/grub/x86_64/efi/machine.h: Likewise.
32595
32596 * include/grub/x86_64/efi/pci.h: Likewise.
32597
32598 * include/grub/x86_64/efi/time.h: Likewise.
32599
32600 * include/grub/x86_64/linux.h: Likewise.
32601
32602 * include/grub/x86_64/setjmp.h: Likewise.
32603
32604 * include/grub/x86_64/time.h: Likewise.
32605
32606 * include/grub/x86_64/types.h: Likewise.
32607
32608 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
32609 GRUB_TARGET_SIZEOF_VOID_P.
32610
32611 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
32612 (grub_efi_locate_handle): Likewise.
32613 (grub_efi_open_protocol): Likewise.
32614 (grub_efi_set_text_mode): Likewise.
32615 (grub_efi_stall): Likewise.
32616 (grub_exit): Likewise.
32617 (grub_reboot): Likewise.
32618 (grub_halt): Likewise.
32619 (grub_efi_exit_boot_services): Likewise.
32620 (grub_get_rtc): Likewise.
32621
32622 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
32623 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
32624 (grub_efi_allocate_pages): Wrap efi calls.
32625 (grub_efi_free_pages): Wrap efi calls.
32626 (grub_efi_get_memory_map): Wrap efi calls.
32627
32628 * kern/x86_64/dl.c: New file.
32629
32630 * kern/x86_64/efi/callwrap.S: Likewise.
32631
32632 * kern/x86_64/efi/startup.S: Likewise.
32633
32634 * loader/efi/appleloader.c: Likewise.
32635
32636 * loader/efi/chainloader.c (cmdline): New variable.
32637 (grub_chainloader_unload): Wrap efi calls.
32638 (grub_chainloader_boot): Likewise.
32639 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
32640 command line.
32641
32642 * loader/efi/chainloader_normal.c (chainloader_command):
32643 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
32644 command line.
32645
32646 * loader/i386/efi/linux.c (allocate_pages): Change allocation
32647 method.
32648 (grub_e820_add_region): New function.
32649 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
32650 booting.
32651 (grub_find_video_card): New function.
32652 (grub_linux_setup_video): New function.
32653 (grub_rescue_cmd_linux): Probe for video information.
32654
32655 * normal/x86_64/setjmp.S: New file.
32656
32657 * term/efi/console.c (map_char): New function.
32658 (grub_console_putchar): Map unicode char.
32659 (grub_console_checkkey): Wrap efi calls.
32660 (grub_console_getkey): Likewise.
32661 (grub_console_getwh): Likewise.
32662 (grub_console_gotoxy): Likewise.
32663 (grub_console_cls): Likewise.
32664 (grub_console_setcolorstate): Likewise.
32665 (grub_console_setcursor): Likewise.
32666
32667 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
32668
59652a20 326692008-07-16 Pavel Roskin <proski@gnu.org>
32670
ef294055 32671 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
32672 format strings.
32673
59652a20 32674 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
32675 pointer, not an integer. This fixes a warning and prevents
32676 precision loss on 64-bit systems.
32677 (relocate_addresses): Remove unneeded cast.
32678
afc3b5d7 326792008-07-15 Pavel Roskin <proski@gnu.org>
32680
506b2b3e 32681 * kern/i386/ieee1275/init.c: Include grub/cache.h.
32682
62ead89c 32683 * term/ieee1275/ofconsole.c: Disable code unused on i386.
32684
c4cd51d7 32685 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
32686 Fix comparison between signed and unsigned.
32687
0d3d8f28 32688 * include/grub/i386/ieee1275/console.h: Declare
32689 grub_console_init() and grub_console_fini().
32690
8804b286 32691 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
32692 It's empty and unused.
32693
ee01cf35 32694 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
32695 beginning to avoid warnings with some compilers.
32696
afc3b5d7 32697 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
32698 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
32699
e4e8eaa5 327002008-07-14 Pavel Roskin <proski@gnu.org>
32701
407aceb4 32702 * kern/env.c (grub_register_variable_hook): Don't copy empty
32703 string, it leaks memory. Pass "" to grub_env_set(), it should
32704 handle constant strings.
32705
e4e8eaa5 32706 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
32707 * commands/cmp.c (grub_cmd_cmp): Likewise.
32708 * kern/dl.c (grub_dl_flush_cache): Likewise.
32709 (grub_dl_load_core): Likewise.
32710 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
32711 (grub_elf64_load_phdrs): Likewise.
32712
d4e2dad3 327132008-07-13 Pavel Roskin <proski@gnu.org>
32714
32715 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
32716 between signed and unsigned.
32717 (LzmaEnc_Finish): Fix warning about an unused parameter.
32718
aa24b516 327192008-07-13 Bean <bean123ch@gmail.com>
32720
32721 * Makefile.in (enable_lzo): New rule.
32722
32723 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
32724
32725 * configure.ac (ENABLE_LZO): New option --enable-lzo.
32726
32727 * boot/i386/pc/lnxboot.S: #include <config.h>.
32728
32729 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 32730 its value according to the compression algorithm used, lzo or lzma.
aa24b516 32731
32732 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
32733 compression algorithm according to configure macro.
32734
32735 * kern/i386/pc/startup.S (codestart): Likewise.
32736
32737 * kern/i386/pc/lzma_decode.S: New file.
32738
32739 * include/grub/lib/LzFind.h: Likewise.
32740
32741 * include/grub/lib/LzHash.h: Likewise.
32742
32743 * include/grub/lib/LzmaDec.h: Likewise.
32744
32745 * include/grub/lib/LzmaEnc.h: Likewise.
32746
32747 * include/grub/lib/LzmaTypes.h: Likewise.
32748
32749 * lib/LzFind.c: Likewise.
32750
32751 * lib/LzmaDec.c: Likewise.
32752
32753 * lib/LzmaEnc.c: Likewise.
32754
4ae821ac 327552008-07-13 Bean <bean123ch@gmail.com>
32756
32757 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
32758 (grub_ext4_extent_header): New structure.
32759 (grub_ext4_extent): Likewise.
32760 (grub_ext4_extent_idx): Likewise.
32761 (grub_ext4_find_leaf): New function.
32762 (grub_ext2_read_block): Handle extents.
32763
9a745147 327642008-07-12 Robert Millan <rmh@aybabtu.com>
32765
32766 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
32767
d49a4cf6 327682008-07-11 Robert Millan <rmh@aybabtu.com>
32769
32770 * util/grub.d/40_custom.in: New file. Example on how to add custom
32771 entries to /etc/grub.d.
32772 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
32773 40_custom (implicitly, by merging all the grub.d rules).
32774
947414b4 327752008-07-11 Pavel Roskin <proski@gnu.org>
32776
0059cf6f 32777 * commands/read.c (grub_getline): Fix invalid memory access.
32778 Don't add newline to the variable value.
32779
947414b4 32780 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
32781 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
32782 (serial_hw_get_port): Check validity of the port number.
32783 (grub_cmd_serial): Check return value of serial_hw_get_port().
32784
62a02d00 327852008-07-07 Pavel Roskin <proski@gnu.org>
32786
32787 * boot/i386/pc/diskboot.S (notification_string): Replace
32788 "Loading kernel" with just "loading". This is shorter, less
32789 confusing and saves a few bytes for possible future changes.
32790
3e5581b0 327912008-07-05 Pavel Roskin <proski@gnu.org>
32792
ea387a48 32793 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
32794 size for ATAPI devices, they are undefined. Output sector
32795 number in decimal form.
32796
3e5581b0 32797 * disk/ata.c: Use named constants for status bits.
32798
fdecb8fd 327992008-07-04 Pavel Roskin <proski@gnu.org>
32800
bcd35b90 32801 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
32802 grub_addr_t before casting it to the void pointer to fix a
32803 warning. Non-addressable regions are discarded earlier.
32804 (grub_arch_modules_addr): Cast _end to grub_addr_t.
32805 * kern/i386/linuxbios/table.c: Include grub/misc.h.
32806 (check_signature): Don't shadow table_header.
32807 (grub_linuxbios_table_iterate): Cast numeric constants to
32808 grub_linuxbios_table_header_t.
32809 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
32810 grub_stop().
32811
af58ab3d 32812 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
32813 prevent warnings.
32814
1759aa57 32815 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
32816 pointer, which can cause warnings. Support 64-bit addresses.
32817
fdecb8fd 32818 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
32819 of sizeof(long). This fixes PowerPC image generation on x86_64.
32820
8516d2a8 328212008-07-04 Robert Millan <rmh@aybabtu.com>
32822
32823 This fixes a performance issue when pc & gpt partmap iterators
32824 didn't abort iteration even after our hook found what it was
fe987087 32825 looking for (often causing expensive probes of non-existent drives).
8516d2a8 32826
32827 Some callers relied on previous buggy behaviour, since they would
34c44600 32828 raise an error when their own hooks caused early abortion of its
8516d2a8 32829 iteration.
32830
32831 * kern/device.c (grub_device_open): Improve error message.
32832 * disk/lvm.c (grub_lvm_open): Likewise.
32833 * disk/raid.c (grub_raid_open): Likewise.
32834
32835 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
32836 when hook requests it, independently of grub_errno.
32837 (pc_partition_map_probe): Do not fail when find_func() caused
32838 early abortion of pc_partition_map_iterate().
32839
32840 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
32841 when hook requests it, independently of grub_errno.
32842 (gpt_partition_map_probe): Do not fail when find_func() caused
32843 early abortion of gpt_partition_map_iterate().
32844
32845 * kern/partition.c (grub_partition_iterate): Abort parent iteration
32846 when hook requests it, independently of grub_errno. Do not fail when
32847 part_map_iterate_hook() caused early abortion of p->iterate().
32848
32849 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
32850 when grub_partition_iterate() returned with non-zero.
32851
277d0de9 328522008-07-03 Pavel Roskin <proski@gnu.org>
32853
32854 * disk/ata.c (grub_ata_pio_write): Check status before writing,
32855 like we do in grub_ata_pio_read().
32856 (grub_ata_readwrite): Always write individual sectors. Fix the
32857 sector count for the remainder.
32858 (grub_ata_write): Enable writing to ATA devices. Correctly
32859 report error for ATAPI devices.
32860
d4c9b428 328612008-07-02 Pavel Roskin <proski@gnu.org>
32862
e43fc690 32863 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
32864 warning.
32865
f707af42 32866 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
32867 for every read sector, we already increment it for the whole
32868 batch. This fixes reading more than 256 sectors at once.
32869
11e16b15 32870 * util/grub-editenv.c (cmd_info): Cast argument to long
32871 explicitly. ptrdiff_t reduces to int on i386.
32872
cbabfdd4 32873 * util/grub-editenv.c (main): Be specific which parameter is
32874 missing.
32875
b8fbce0a 32876 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
32877 (memdisk): Make memdisk_orig_addr a pointer.
32878
c9c8e606 32879 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
32880 for file offsets, use grub_off_t instead. Fix printf format
32881 warnings.
32882
ca62e598 32883 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
32884 there. Real unexpected warnings should not drown in the noise
32885 about known problems.
32886
ce8d1766 32887 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
32888 grub_disk_addr_t for memory addresses.
32889
00c7a56a 32890 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
32891 explicitly to fix a warning.
32892
08d3ef09 32893 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
32894
cb71ba20 32895 * Makefile.in (MODULE_LDFLAGS): New variable.
32896 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
32897 the linker accepts --build-id=none.
32898 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
32899 MODULE_LDFLAGS.
32900 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
32901
d4c9b428 32902 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
32903 those in Linux XFS code. Provide a way to access 64-bit parent
32904 inode.
32905 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
32906 the end of struct grub_xfs_dir_header.
32907
d4156eee 329082008-07-02 Bean <bean123ch@gmail.com>
32909
32910 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
32911 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
32912 and GRUB_IEEE1275_FLAG_NO_ANSI.
32913
32914 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
32915 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
32916 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
32917
32918 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
32919 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
32920
32921 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
32922 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
32923
32924 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
32925 esc sequence on non ANSI terminal.
32926 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
32927
32928 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
32929 beginning of file.
32930
2270f77b 329312008-07-02 Bean <bean123ch@gmail.com>
32932
32933 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
32934 (grub_editenv_SOURCES): New variable.
32935 (pkglib_MODULES): Add loadenv.mod.
32936 (loadenv_mod_SOURCES): New variable.
32937 (loadenv_mod_CFLAGS): Likewise.
32938 (loadenv_mod_LDFLAGS): Likewise.
32939
32940 * include/grub/envblk.h: New file.
32941
32942 * util/envblk.c: New file.
32943
32944 * util/grub-editenv.c: New file.
32945
32946 * commands/loadenv.c: New file.
32947
0e9e51ec 329482008-07-01 Pavel Roskin <proski@gnu.org>
32949
d89b7634 32950 * include/multiboot2.h (struct multiboot_tag_module): Use char,
32951 not unsigned char. This fixes warnings and is consistent with
32952 other tags.
32953
bf1835b1 32954 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
32955
8222a04b 32956 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
32957
6a42d99d 32958 * term/tparm.c (analyze): Always set *popcount.
32959
10b159d1 32960 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
32961 cast to fix a warning.
32962
b8789f6c 32963 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
32964 cast to suppress a warning.
32965
29d7e38a 32966 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
32967 grub_fshelp_read_file() expects.
32968
f341f669 32969 * fs/fat.c: Fix UUID calculation on big-endian systems. We
32970 write uuid as a 32-bit value in CPU byte order, so declare and
32971 use it as such.
32972
0e9e51ec 32973 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
32974 long if the format specifier expects it.
32975 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
32976 * partmap/pc.c (pc_partition_map_iterate): Likewise.
32977 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
32978 long to fix a warning.
32979 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
32980 grub_dprintf() arguments to fix warnings.
32981
3aefa857 329822008-06-30 Pavel Roskin <proski@gnu.org>
32983
56c7668b 32984 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
32985 install_bsd_part immediately before core.img is embedded or
32986 modified on disk. This fixes core.img verification if core.img
32987 cannot be embedded.
32988
3aefa857 32989 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
32990 core_path to calculate the blocklist.
32991 Patch from Javier Martín <lordhabbit@gmail.com>
32992
5444088d 329932008-06-29 Robert Millan <rmh@aybabtu.com>
32994
32995 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
32996 block to disk block.
32997 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
32998 Patch from Niels Böhm <bitbucket@arcor.de>
32999
674835c8 330002008-06-29 Robert Millan <rmh@aybabtu.com>
33001
33002 * util/update-grub_lib.in (font_path): Search for fonts in
33003 /boot/grub first, which is more likely to be readable (we aren't
33004 deciding where fonts live, just looking for them).
33005
f527dbc8 330062008-06-26 Pavel Roskin <proski@gnu.org>
33007
6c2d8df6 33008 * util/biosdisk.c (read_device_map): Don't leave dead map
33009 entries for devices failing stat() check.
33010
f527dbc8 33011 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
33012 core_path_dev for the core.img path on the target device.
33013
aebe3d13 330142008-06-26 Robert Millan <rmh@aybabtu.com>
33015
33016 * disk/fs_uuid.c: New file.
33017 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
33018 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
33019 (fs_uuid_mod_LDFLAGS): New variables.
33020 * include/grub/disk.h (grub_disk_dev_id): Add
33021 `GRUB_DISK_DEVICE_UUID_ID'.
33022 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
33023 implement iterate().
33024
37aaf354 330252008-06-26 Robert Millan <rmh@aybabtu.com>
33026
33027 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
33028 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
33029 Linux image includes no initrd.
33030
25ff262a 330312008-06-21 Javier Martín <lordhabbit@gmail.com>
33032
33033 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
33034 call to resolve the core image location that effectively appended the
33035 name twice.
33036
76a2bd44 330372008-06-21 Robert Millan <rmh@aybabtu.com>
33038
33039 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
33040 call from here ...
33041
33042 * util/grub.d/10_hurd.in: ... to here ...
33043 * util/grub.d/10_linux.in: ... and here.
33044
650e1c79 330452008-06-19 Robert Millan <rmh@aybabtu.com>
33046
fe987087 33047 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 33048 after it has been set by grub_machine_set_prefix().
33049
6ce63911 330502008-06-19 Robert Millan <rmh@aybabtu.com>
33051
33052 * commands/search.c (search_label, search_fs_uuid, search_file): Print
33053 search result when not saving to variable, not the other way around.
33054 When saving to variable, abort iteration as soon as a match is found.
33055
73940cec 330562008-06-19 Robert Millan <rmh@aybabtu.com>
33057
33058 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
33059 check for partition that provides /boot/grub. Its logic is flawed,
33060 as it prevents prepare_grub_to_access_device() from being called
33061 multiple times.
33062
3c62a39d 330632008-06-19 Robert Millan <rmh@aybabtu.com>
33064
33065 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
33066 "insmod" command directly when abstraction modules are needed,
fe987087 33067 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 33068 since it had already been processed).
33069
47395a42 330702008-06-19 Pavel Roskin <proski@gnu.org>
33071
33072 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
33073 changed. This is needed in case GRUB_LIBDIR changes.
33074 * conf/i386-ieee1275.rmk: Likewise.
33075 * conf/i386-linuxbios.rmk: Likewise.
33076 * conf/i386-pc.rmk: Likewise.
33077 * conf/powerpc-ieee1275.rmk: Likewise.
33078
a145ac2d 330792008-06-18 Pavel Roskin <proski@gnu.org>
33080
33081 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
33082 kernel_elf_symlist.c to symlist.c for consistency with other
33083 architectures. Update all users.
33084 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33085
7847c51e 330862008-06-18 Robert Millan <rmh@aybabtu.com>
33087
33088 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
33089 it in prefix.
33090
33091 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
33092 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
33093 a RAID device, run setup() for all members independently on whether
33094 LVM abstraction is being used.
33095 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
33096 If grub-mkimage has set `*install_dos_part == -2', don't override this
33097 value.
33098 Perform *install_dos_part adjustments independently on whether
33099 we're embedding or not.
33100 Clarify error message when image is too big for embedding.
33101 Remove duplicate *install_dos_part stanza.
33102
b23e5644 331032008-06-17 Robert Millan <rmh@aybabtu.com>
33104
33105 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
33106 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
33107 variables.
33108 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
33109 values in grub_ofconsole_normal_color and
33110 grub_ofconsole_highlight_color (they're not directly related to
33111 background and foreground).
33112 (grub_ofconsole_setcolorstate): Extract background and foreground
33113 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
33114
0aac2f79 331152008-06-17 Robert Millan <rmh@aybabtu.com>
33116
33117 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
33118 /boot/grub for the check in last commit, not /boot (they could be
33119 different partitions).
33120
3cca7ef3 331212008-06-16 Robert Millan <rmh@aybabtu.com>
33122
33123 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
33124 asked to setup access for the same partition that provides /boot,
33125 don't bother using UUIDs since our root already has the value we
33126 want.
33127
347396d8 331282008-06-16 Robert Millan <rmh@aybabtu.com>
33129
33130 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
33131 I2O devices.
33132 Patch from Sven Mueller <sven@debian.org>.
33133
991477f8 331342008-06-16 Robert Millan <rmh@aybabtu.com>
33135
33136 * util/update-grub.in: Check for $EUID instead of $UID.
33137 Reported by Vincent Zweije.
33138
d31a32a1 331392008-06-16 Bean <bean123ch@gmail.com>
33140
fe987087 33141 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 33142 (grub_ext2_read_block): Likewise.
33143 (grub_ext2_read_inode): Likewise.
33144 (grub_ext2_mount): Likewise.
33145 (grub_ext2_close): Likewise.
33146 (grub_ext3_get_journal): Removed.
33147
fe987087 33148 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 33149 (grub_reiserfs_read_symlink): Likewise.
33150 (grub_reiserfs_mount): Likewise.
33151 (grub_reiserfs_open): Likewise.
33152 (grub_reiserfs_read): Likewise.
33153 (grub_reiserfs_close): Likewise.
33154 (grub_reiserfs_get_journal): Removed.
33155
33156 * fs/fshelp.c (grub_fshelp_read): Removed.
33157 (grub_fshelp_map_block): Likewise.
33158
33159 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
33160 (grub_fshelp_journal): Likewise.
33161 (grub_fshelp_read): Likewise.
33162 (grub_fshelp_map_block): Likewise.
33163
3540a760 331642008-06-16 Pavel Roskin <proski@gnu.org>
33165
33166 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
33167 floating point anymore.
33168 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
33169
95614c84 331702008-06-15 Pavel Roskin <proski@gnu.org>
33171
33172 * commands/ls.c (grub_ls_list_files): Use integer calculations
33173 for human readable format, avoid floating point use.
33174 * kern/misc.c (grub_ftoa): Remove.
33175 (grub_vsprintf): Remove floating point support.
33176
50465dd6 331772008-06-15 Robert Millan <rmh@aybabtu.com>
33178
fe6b695a 33179 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 33180 devices.
33181 Reported by Max Vozeler.
33182
a9207284 331832008-06-15 Robert Millan <rmh@aybabtu.com>
33184
33185 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
33186 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
33187 skipped later.
33188 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
33189 the beginning of the prefix.
33190
33191 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
33192 It is assumed that if we have a memdisk, grub-mkimage has set
33193 grub_prefix to include the "(memdisk)" drive in it.
33194
a7cbd45a 331952008-06-15 Robert Millan <rmh@aybabtu.com>
33196
33197 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
33198 Initialize keyboard controller after registering the terminal, so that
33199 grub_printf() can be called from grub_keyboard_controller_init().
33200
21cf716a 332012008-06-15 Robert Millan <rmh@aybabtu.com>
33202
33203 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
33204 extent-btree which is written as big endian on disk.
33205 Reported by Alain Greppin <al@chilibi.org>.
33206
23a64d8e 332072008-06-14 Robert Millan <rmh@aybabtu.com>
33208
33209 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
33210 * util/i386/pc/grub-install.in (modules): Likewise.
33211
d687651c 332122008-06-13 Pavel Roskin <proski@gnu.org>
33213
33214 * commands/ls.c (grub_ls_list_files): Fix format warnings.
33215
dfe9ddd4 332162008-06-13 Bean <bean123ch@gmail.com>
33217
33218 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
33219
33220 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
33221
33222 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
33223 to indicate sparse block.
33224
16ae7781 332252008-06-12 Pavel Roskin <proski@gnu.org>
33226
e6d1a308 33227 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
33228 number, grub_fshelp_read() does it for us.
33229
16ae7781 33230 * fs/fshelp.c (grub_fshelp_read): New function. Implement
33231 linear disk read with journal translation.
33232 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
33233 * include/grub/fshelp.h: Declare grub_fshelp_read().
33234
40fd3a2b 332352008-06-09 Pavel Roskin <proski@gnu.org>
33236
33237 * fs/minix.c (grub_minix_mount): Handle error reading
33238 superblock.
33239
f5679726 332402008-06-08 Robert Millan <rmh@aybabtu.com>
33241
33242 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
33243 don't append the RAID prefix afterwards.
33244 Reported by Clint Adams.
33245
ce525529 332462008-06-08 Robert Millan <rmh@aybabtu.com>
33247
33248 Based on description from Pavel:
33249 * kern/disk.c (grub_disk_check_range): Rename to ...
33250 (grub_disk_adjust_range): ... this. Add a comment explaining the
33251 tasks performed by this function.
33252
ad4936a0 332532008-06-08 Robert Millan <rmh@aybabtu.com>
33254
33255 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
33256 `num_serial' (for consistency with other variables).
33257 (struct grub_ntfs_data): Add `uuid' member.
33258 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
33259 (grub_ntfs_uuid): New function.
33260 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
33261
dc20b0f9 332622008-06-07 Pavel Roskin <proski@gnu.org>
33263
33264 * util/biosdisk.c (open_device): Revert last change to the
33265 function, it broke installation. The sector needs to be
33266 different dependent on which device is opened.
33267
c5e3cfba 332682008-06-06 Robert Millan <rmh@aybabtu.com>
33269
33270 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
33271 rest of GRUB, and breakage doesn't happen if its value were modified.
33272
33273 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
33274 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
33275 a constant (same value).
33276 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
33277 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
33278
26a1f8c4 332792008-06-06 Robert Millan <rmh@aybabtu.com>
33280
33281 * util/biosdisk.c (open_device): Do not modify sector offset when
33282 accessing a partition. kern/disk.c already handles this for us.
33283
25d6b327 332842008-06-06 Robert Millan <rmh@aybabtu.com>
33285
33286 * util/grub-emu.c (grub_machine_init): Move code in this function from
33287 here ...
33288 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
33289 segfault in case grub_printf() is called).
33290
33291 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
33292 grub_probe. Update all users not to explicitly add it again.
33293 (grub_device): New variable; contains corresponding device for grubdir.
33294 (fs_module, partmap_module, devabstraction_module): Pass
33295 `--device ${grub_device}' to grub_probe to avoid traversing /dev
33296 every time.
33297
9ece62fb 332982008-06-05 Robert Millan <rmh@aybabtu.com>
33299
33300 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
33301 is found, print it (same layout as with labels).
33302
1ad36d37 333032008-06-04 Robert Millan <rmh@aybabtu.com>
33304
33305 * util/biosdisk.c (get_drive): Rename to ...
33306 (find_grub_drive): ... this. Update all users.
33307
33308 (get_os_disk): Rename to ...
33309 (convert_system_partition_to_system_disk): ... this. Update all users.
33310
33311 (find_drive): Rename to ...
33312 (find_system_device): ... this. Update all users.
33313
e6a30859 333142008-06-04 Robert Millan <rmh@aybabtu.com>
33315
33316 * util/biosdisk.c (get_os_disk): Handle IDA devices.
33317 * util/grub-mkdevicemap.c (get_mmc_disk_name)
33318 (make_device_map): Likewise.
33319
00c108a4 333202008-06-01 Robert Millan <rmh@aybabtu.com>
33321
33322 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
33323 before dereferencing it.
33324
33325 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
33326 union with fat12/fat16-specific ones. Add some new fields, including
33327 `num_serial' for both versions.
33328 (struct grub_fat_data): Add `uuid' member.
33329 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
33330 names. Initialize `data->uuid' using `num_serial'.
33331 (grub_fat_uuid): New function.
33332 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
33333
33334 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
33335 (grub_reiserfs_uuid): New function.
33336 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
33337 member.
33338
33339 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
33340 (grub_xfs_uuid): New function.
33341 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
33342
1385c5bb 333432008-06-01 Robert Millan <rmh@aybabtu.com>
33344
33345 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
33346 code that is backward compatible with pre-uuid search command.
33347
c682dfd7 333482008-05-31 Robert Millan <rmh@aybabtu.com>
33349
33350 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
33351 floppies after everything else, to ensure floppy drive isn't accessed
33352 unnecessarily (patch from Bean).
33353
b7db5d47 333542008-05-31 Robert Millan <rmh@aybabtu.com>
33355
33356 * commands/search.c (search_label, search_fs_uuid, search_file): Do
33357 not print device names when we were asked to set a variable.
33358
6e037aa9 333592008-05-31 Robert Millan <rmh@aybabtu.com>
33360
33361 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
33362 using "cursor-on" and "cursor-off" commands (understood at least by
33363 the Open Firmware flavour on OLPC).
33364
41305bc8 333652008-05-31 Michael Gorven <michael@gorven.za.net>
33366
33367 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
33368 on and off sequences.
33369
69ba137e 333702008-05-31 Robert Millan <rmh@aybabtu.com>
33371
33372 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
33373 * util/update-grub.in: Likewise.
33374
520ae21b 333752008-05-30 Pavel Roskin <proski@gnu.org>
33376
33377 * util/biosdisk.c (linux_find_partition): Simplify logic and
33378 make the code more universal. Keep special processing for
33379 devfs, but use a simple rule for all other devices. If the
33380 device ends with a number, append 'p' and the partition number.
33381 Otherwise, append only the partition number.
33382
5786569b 333832008-05-30 Robert Millan <rmh@aybabtu.com>
33384
33385 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
33386 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
33387 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
33388 the `root' parameter to Linux.
33389
51500452 333902008-05-30 Robert Millan <rmh@aybabtu.com>
33391
33392 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
33393 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
33394 --fs_uuid with --fs-uuid.
33395 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
33396 all filesystems support them).
33397
811d3878 333982008-05-30 Robert Millan <rmh@aybabtu.com>
33399
33400 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 33401 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 33402
cab63c95 334032008-05-30 Robert Millan <rmh@aybabtu.com>
33404
33405 * util/grub.d/00_header.in: Remove obsolete comment referencing
33406 convert_system_path_to_grub_path().
33407 * util/update-grub.in: Likewise.
33408 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
33409 (convert_system_path_to_grub_path): Add a warning message explaining
33410 that this function is deprecated. Rely on is_path_readable_by_grub()
33411 for the readability checks.
33412 (font_path): Use is_path_readable_by_grub() for the readability
33413 check rather than convert_system_path_to_grub_path().
33414
972e2f7a 334152008-05-30 Robert Millan <rmh@aybabtu.com>
33416
33417 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
33418 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
33419 converting it first.
33420 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
33421 grub.cfg for access to font file, and afterwards call it again to set
33422 the root device.
33423
62191274 334242008-05-30 Robert Millan <rmh@aybabtu.com>
33425
33426 * commands/search.c (options): Add --fs_uuid option.
33427 (search_fs_uuid): New function.
33428 (grub_cmd_search): Fix --set argument passing.
33429 Use search_fs_uuid() when requested via --fs_uuid.
33430 (grub_search_init): Update help message.
33431 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
33432 and redeclare it as an array of 16-bit words.
33433 (grub_ext2_uuid): New function.
33434 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
33435 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
33436 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
33437 (GRUB_DEVICE_BOOT_UUID): New variables.
33438 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
33439 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
33440 whenever possible.
33441 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
33442 just assume `root' variable has the right value.
33443 * util/grub.d/10_linux.in: Likewise.
33444 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
33445 via PRINT_FS_UUID.
33446 (main): Recognise `-t fs_uuid' argument.
33447
01b73ec8 334482008-05-30 Robert Millan <rmh@aybabtu.com>
33449
33450 * util/biosdisk.c (map): Redefine structure to hold information
33451 about GRUB drive name.
fe6b695a 33452 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 33453 drive names.
33454 (call_hook): Remove.
33455 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
33456 member. Assume drive has partitions.
33457 (grub_util_biosdisk_open): Access device names via `.device' struct
33458 member.
33459 (open_device): Likewise.
33460 (find_drive): Likewise.
33461 (read_device_map): Adjust map[] usage to match the new struct
33462 definition. Don't check for duplicates (still possible, but not cheap
33463 anymore).
33464 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
33465 (make_device_name): Remove assumption of BIOS-like drive names.
33466
22f16596 334672008-05-30 Pavel Roskin <proski@gnu.org>
33468
33469 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
33470 compiling execute.c doesn't need grub_script.tab.h anymore.
33471 (normal/command.c_DEPENDENCIES): Likewise.
33472 (normal/function.c_DEPENDENCIES): Likewise.
33473 * conf/i386-ieee1275.rmk: Likewise.
33474 * conf/i386-linuxbios.rmk: Likewise.
33475 * conf/i386-pc.rmk: Likewise.
33476 * conf/powerpc-ieee1275.rmk: Likewise.
33477 * conf/sparc64-ieee1275.rmk: Likewise.
33478
528ad8f2 334792008-05-29 Pavel Roskin <proski@gnu.org>
33480
d1dff95d 33481 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
33482 when scanning metadata for volume group name.
33483
528ad8f2 33484 * include/grub/script.h: Don't include grub_script.tab.h. It's
33485 a generated file, which may only be included from the files with
33486 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
33487 use union YYSTYPE, as the later allows forward declaration.
33488 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
33489
47248e08 334902008-05-29 Robert Millan <rmh@aybabtu.com>
33491
33492 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
33493 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
33494 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
33495 (grub_console_checkkey): Add grub_dprintf() call to report unknown
33496 scan codes.
33497
ee632529 334982008-05-29 Robert Millan <rmh@aybabtu.com>
33499
33500 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
33501 control key combinations.
33502
eee96e08 335032008-05-29 Robert Millan <rmh@aybabtu.com>
33504
33505 * util/powerpc/ieee1275/grub-install.in: Move from here ...
33506 * util/ieee1275/grub-install.in: ... to here.
33507 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
33508 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
33509 (grub_install_SOURCES): Likewise.
33510
da9a6a94 335112008-05-29 Robert Millan <rmh@aybabtu.com>
33512
33513 * fs/affs.c: Update copyright year.
33514 * fs/ext2.c: Likewise.
33515 * fs/fshelp.c: Likewise.
33516 * fs/hfsplus.c: Likewise.
33517 * fs/ntfs.c: Likewise.
33518 * fs/xfs.c: Likewise.
33519 * include/grub/fshelp.h: Likewise.
33520 * util/grub-mkdevicemap.c: Likewise.
33521
12e65f3a 335222008-05-28 Robert Millan <rmh@aybabtu.com>
33523
33524 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
33525 might need to be fatfs to support some firmware implementations
33526 (e.g. OFW or EFI).
33527
23023641 335282008-05-28 Robert Millan <rmh@aybabtu.com>
33529
33530 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
33531 devices.
33532 * util/grub-mkdevicemap.c (get_mmc_disk_name)
33533 (make_device_map): Likewise.
33534
887d2619 335352008-05-20 Bean <bean123ch@gmail.com>
33536
33537 * fs/fshelp.c (grub_fshelp_map_block): New function.
33538 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
33539 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
33540
33541 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
33542 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
33543 (grub_fshelp_journal): New structure.
33544 (grub_fshelp_map_block): New function prototype.
33545 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
33546 (grub_fshelp_map_block): Likewise.
33547
33548 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
33549 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
33550 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
33551 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
33552 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
33553 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
33554 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
33555 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
33556 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
33557 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
33558 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
33559 (grub_ext2_sblock): New members for journal support.
33560 (grub_ext3_journal_header): New structure.
33561 (grub_ext3_journal_revoke_header): Likewise.
33562 (grub_ext3_journal_block_tag): Likewise.
33563 (grub_ext3_journal_sblock): Likewise.
33564 (grub_fshelp_node): New members logfile and journal.
33565 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
33566 grub_fshelp_map_block to get real block number.
33567 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
33568 number.
33569 (grub_ext2_read_inode): Likewise.
33570 (grub_ext3_get_journal): New function.
33571 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
33572 (grub_ext2_close): Release memory used by journal.
33573
33574 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
33575 (REISERFS_MAGIC_DESC_BLOCK): New macro.
33576 (grub_reiserfs_transaction_header): Renamed to
33577 grub_reiserfs_description_block, replace field data with real_blocks.
33578 (grub_reiserfs_commit_block): New structure.
33579 (grub_reiserfs_data): New member journal.
33580 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
33581 number.
33582 (grub_reiserfs_read_symlink): Likewise.
33583 (grub_reiserfs_iterate_dir): Likewise.
33584 (grub_reiserfs_open): Likewise.
33585 (grub_reiserfs_read): Likewise.
33586 (grub_reiserfs_get_journal): New function.
33587 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
33588 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
33589 using grub_reiserfs_get_journal.
33590 (grub_reiserfs_close): Release memory used by journal.
33591
33592 * fs/affs.c (grub_affs_read_block): Change block type to
33593 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
33594
33595 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
33596
33597 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
33598
33599 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
33600
33601 * fs/udf.c (grub_udf_read_block): Change block type to
33602 grub_disk_addr_t. Use type cast to avoid warning.
33603
33604 * fs/xfs.c (grub_xfs_read_block): Likewise.
33605
b7c6bed5 336062008-05-16 Christian Franke <franke@computer.org>
33607
33608 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
33609 to ensure that break with ESC will always work.
33610 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
33611 Remove ESC from keyboard queue.
33612
eedf167f 336132008-05-16 Christian Franke <franke@computer.org>
33614
33615 * util/biosdisk.c: [__CYGWIN__] Add includes.
33616 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
33617 (get_os_disk): Move variable declarations to OS specific
33618 parts to avoid warning.
33619 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
33620 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
33621 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
33622 Cygwin.
33623 * util/getroot.c: [__CYGWIN__] Add includes.
33624 (strip_extra_slashes): Fix "/" case.
33625 [__CYGWIN__] (get_win32_path): New function.
33626 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
33627 [__CYGWIN__] (find_root_device): Disable.
33628 [__CYGWIN__] (get_bootsec_serial): New function.
33629 [__CYGWIN__] (find_cygwin_root_device): Likewise.
33630 [__linux__] (grub_guess_root_device): Add early returns to simplify
33631 structure.
33632 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
33633 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
33634 check for Linux only.
33635
a079699e 336362008-05-15 Bean <bean123ch@gmail.com>
33637
33638 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
33639 keyboard hang problem in apple's intel mac.
33640
1cf4059a 336412008-05-09 Robert Millan <rmh@aybabtu.com>
33642
33643 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
33644 devices.
33645 * util/grub-mkdevicemap.c (get_virtio_disk_name)
33646 (make_device_map): Likewise.
33647 Reported by Aurelien Jarno <aurel32@debian.org>
33648
ed759390 336492008-05-07 Ian Campbell <ijc@hellion.org.uk>
33650
33651 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
33652 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
33653 (make_device_map): Output entries for xvd type disks.
33654
b56c4eaa 336552008-05-07 Robert Millan <rmh@aybabtu.com>
33656
33657 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
33658 devices.
33659 * util/grub-mkdevicemap.c (get_cciss_disk_name)
33660 (make_device_map): Likewise.
33661 Reported by Roland Dreier <rdreier@cisco.com>
33662
7f8866ed 336632008-05-07 Robert Millan <rmh@aybabtu.com>
33664
33665 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
33666 grub_strstr() call. Correct a few mistakes in failure path handling.
33667
b0346e0f 336682008-05-06 Robert Millan <rmh@aybabtu.com>
33669
33670 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
33671 Do not print a trailing slash (therefore, the root directory is an
33672 empty string).
33673 (convert_system_path_to_grub_path): Do not remove trailing slash
33674 from make_system_path_relative_to_its_root() output.
33675
33676 * util/i386/pc/grub-install.in: Add trailing slash to output from
33677 make_system_path_relative_to_its_root().
33678
6cf12cbd 336792008-05-06 Robert Millan <rmh@aybabtu.com>
33680
33681 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
33682 ensures that output lines aren't intermangled with those sent to
33683 stderr (via grub_util_info()).
33684 * util/grub-probe.c (grub_refresh): Likewise.
33685 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
33686
0fbb3117 336872008-05-05 Christian Franke <franke@computer.org>
33688
33689 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
33690 Add Cygwin device names.
33691 (get_ide_disk_name) [__CYGWIN__]: Likewise.
33692 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
33693 (check_device): Return error instead of success on empty name.
33694 (make_device_map): Move label inside linux specific code to
33695 prevent compiler warning.
33696
8124cdb7 336972008-04-30 Robert Millan <rmh@aybabtu.com>
33698
33699 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
33700 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
33701 first boot option.
33702 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
33703
094c01d0 337042008-04-29 Robert Millan <rmh@aybabtu.com>
33705
33706 * docs/grub.cfg: New file (example GRUB configuration).
33707
f4b1fc02 337082008-04-26 Robert Millan <rmh@aybabtu.com>
33709
329ce2a5 33710 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
33711 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
33712 and `disk/ieee1275/nand.c'.
f4b1fc02 33713
25f16ec1 337142008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 33715
25f16ec1 33716 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
33717 i386-linuxbios.
33718
33719 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
33720 change the buffer size to 4096 for cdrom device.
33721
33722 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
33723 and nand.mod.
33724 (_linux_mod_SOURCES): New variable.
33725 (_linux_mod_CFLAGS): Likewise.
33726 (_linux_mod_LDFLAGS): Likewise.
33727 (linux_mod_SOURCES): Likewise.
33728 (linux_mod_CFLAGS): Likewise.
33729 (linux_mod_LDFLAGS): Likewise.
33730 (nand_mod_SOURCES): Likewise.
33731 (nand_mod_CFLAGS): Likewise.
33732 (nand_mod_LDFLAGS): Likewise.
33733
33734 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
33735 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
33736 type property. (nand device in olpc don't have this property)
33737
33738 * include/grub/disk.h (grub_disk_dev_id): New macro
33739 GRUB_DISK_DEVICE_NAND_ID.
33740
33741 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
33742 function prototype.
33743 (grub_rescue_cmd_initrd): Likewise.
33744
33745 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
33746 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
33747 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 33748
25f16ec1 33749 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
33750 GRUB_MACHINE_IEEE1275 is defined.
33751
33752 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
33753 Use NESTED_FUNC_ATTR attribute on the hook parameter.
33754
33755 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
33756 on nested function heap_init.
33757 (grub_upper_mem): New variable for i386-ieee1275.
33758 (grub_get_extended_memory): New function for i386-ieee1275.
33759 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
33760
33761 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
33762 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
33763 property.
f19dbdb7 33764
25f16ec1 33765 * loader/i386/ieee1275/linux.c: New file.
33766
33767 * loader/i386/ieee1275/linux_normal.c: New file.
33768
33769 * disk/ieee1275/nand.c: New file.
33770
e89d61e9 337712008-04-18 Thomas Schwinge <tschwinge@gnu.org>
33772
33773 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
33774 value.
33775 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
33776
602566f6 337772008-04-18 Robert Millan <rmh@aybabtu.com>
33778
33779 Restructures early code path on ieee1275 to unify grub_main() as
33780 the first C function that is executed in every platform.
33781
33782 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
33783 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
33784 cmain().
33785 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
33786 * kern/ieee1275/cmain.c (cmain): Rename to ...
33787 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
33788 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
33789 at the beginning.
33790
57490c2b 337912008-04-18 Robert Millan <rmh@aybabtu.com>
33792
33793 * util/update-grub.in: Fix syntax error when setting
33794 `GRUB_PRELOAD_MODULES'.
33795 Reported by Stephane Chazelas <stephane@artesyncp.com>
33796
1977517d 337972008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
33798
33799 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
33800 section into account, newer toolchains generate unique build ids
33801 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 33802 we want build ids to be preserved
1977517d 33803 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
33804 far from other sections don't cause the raw binary images grow
33805 size
33806
bfb1f1a2 338072008-04-15 Robert Millan <rmh@aybabtu.com>
33808
33809 * disk/lvm.c: Update copyright year.
33810 * kern/misc.c: Likewise.
33811
01979850 338122008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
33813
33814 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 33815 there is no memory left for physical volume name.
01979850 33816
0a1150e2 338172008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
33818
33819 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
33820 volume name mapping to support bigger than 9 character names properly.
33821
82ead3fe 338222008-04-13 Robert Millan <rmh@aybabtu.com>
33823
33824 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
33825 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
33826
e54a72f5 338272008-04-13 Christian Franke <franke@computer.org>
33828
33829 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
33830 to create a floppy emulation boot CD when non emulation mode
33831 does not work.
33832 Enable Joliet CD filesystem extension.
33833
9fe86034 338342008-04-13 Robert Millan <rmh@aybabtu.com>
33835
33836 * kern/misc.c (grub_strncat): Fix off-by-one error.
33837 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
33838
33839 * kern/env.c (grub_env_context_close): Clear current context, not
33840 previous one.
33841 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
33842
33843 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
33844
7ceeee39 338452008-04-13 Robert Millan <rmh@aybabtu.com>
33846
33847 Improve robustness when handling LVM.
33848
33849 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 33850 (and leave `*p' unmodified).
7ceeee39 33851 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
33852 through it.
33853 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
33854 iterating through it.
33855 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
33856 through it.
fe6b695a 33857 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 33858 when due) on each grub_lvm_getvalue() or grub_strstr() call.
33859 Don't assume `vg->pvs != NULL' when iterating through it.
33860
58cd3d85 338612008-04-13 Robert Millan <rmh@aybabtu.com>
33862
33863 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
33864 * genmk.rb (partmap): New variable.
33865 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
33866 (#{partmap}): New target rule.
33867 * genpartmaplist.sh: New file.
33868 * Makefile.in (pkglib_DATA): Add partmap.lst.
33869 (partmap.lst): New target rule.
33870 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
33871 modules (including all partition maps), instead of preloading them.
33872
78b51059 338732007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
33874
33875 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
33876 `linux-boot-prober' (if installed) to detect other operating
33877 systems which are installed on the computer and add them to
33878 the boot menu.
33879 * conf/common.rmk: Build and install 30_os-prober.
33880
a91627b4 338812008-04-12 Robert Millan <rmh@aybabtu.com>
33882
33883 * kern/powerpc/ieee1275/init.c: Move from here ...
33884 * kern/ieee1275/init.c: ... to here. Update all users.
33885
33886 * kern/powerpc/ieee1275/cmain.c: Move from here ...
33887 * kern/ieee1275/cmain.c: ... to here. Update all users.
33888
33889 * kern/powerpc/ieee1275/openfw.c: Move from here ...
33890 * kern/ieee1275/openfw.c: ... to here. Update all users.
33891
33892 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
33893 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
33894
322562ea 338952008-04-10 Pavel Roskin <proski@gnu.org>
33896
33897 * configure.ac: Always use "_cv_" in cache variables for
33898 compatibility with Autoconf 2.62.
33899
a02a73c5 339002008-04-07 Robert Millan <rmh@aybabtu.com>
33901
33902 Revert grub/machine/init.h addition by Pavel (since it breaks on
33903 i386-ieee1275 and others):
33904 * util/i386/pc/misc.c: Remove grub/machine/init.h.
33905 * util/powerpc/ieee1275/misc.c: Likewise.
33906
25c024b1 339072008-04-07 Robert Millan <rmh@aybabtu.com>
33908
33909 * util/grub-probe.c (probe): Improve error message.
33910
3cbd2f98 339112008-04-07 Robert Millan <rmh@aybabtu.com>
33912
33913 * util/biosdisk.c (read_device_map): Skip devices that don't exist
33914 (this prevents the presence of a bogus entry from ruining the whole
33915 thing).
33916
87a297bf 339172008-04-06 Pavel Roskin <proski@gnu.org>
33918
36747a62 33919 * util/biosdisk.c: Include grub/util/biosdisk.h.
33920 * util/grub-fstest.c (execute_command): Make static.
33921 * util/grub-mkdevicemap.c (check_device): Likewise.
33922 * util/i386/pc/misc.c: Include grub/machine/init.h.
33923 * util/powerpc/ieee1275/misc.c: Likewise.
33924 * util/lvm.c: Include grub/util/lvm.h.
33925 * util/misc.c: Include grub/kernel.h, grub/misc.h and
33926 grub/cache.h.
33927 * util/raid.c: Include grub/util/raid.h.
33928 (grub_util_getdiskname): Make static.
33929
87a297bf 33930 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
33931 grub_hostfs_fini(), as they are called from grub_init_all() and
33932 grub_fini_all() respectively. This fixes an infinite loop in
33933 grub-fstest due to double registration of hostfs.
33934 Reported by Christian Franke <Christian.Franke@t-online.de>
33935
f6ce7629 339362008-04-05 Pavel Roskin <proski@gnu.org>
33937
33938 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
33939 all 8 functions. Otherwise, probe function 0 only.
33940
070e49e4 339412008-04-04 Pavel Roskin <proski@gnu.org>
33942
8b088a4c 33943 * commands/lspci.c (grub_lspci_iter): Print the bus number
33944 correctly.
33945
4f657021 33946 * commands/lspci.c (grub_pci_classes): Fix typos.
33947 (grub_lspci_iter): Don't print func twice. Print vendor ID
33948 before device ID, as it's normally done.
33949
070e49e4 33950 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
33951 Fix signedness warnings.
33952 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
33953 Likewise.
33954 * util/ieee1275/get_disk_name.c: Include config.h so that
33955 _GNU_SOURCE is defined and getline() is declared. Mark an
33956 unused argument as such. Fix a signedness warning.
33957
ba7328dc 339582008-04-02 Pavel Roskin <proski@gnu.org>
33959
26887f22 33960 * genkernsyms.sh.in: Use more robust assignments for CC and
33961 srcdir. Quote srcdir.
33962 * gensymlist.sh.in: Likewise. Assert at the compile time that
33963 the symbol table is not empty.
33964
ba7328dc 33965 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
33966 * fs/cpio.c (grub_cpio_read): Likewise.
33967
0f582c6b 339682008-04-01 Pavel Roskin <proski@gnu.org>
33969
4b6e1995 33970 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
33971 * disk/host.c (grub_host_open): Likewise.
33972 * disk/loopback.c (grub_loopback_open): Likewise.
33973 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
33974 disk->id as in disk/host.c, not a multi-character constant.
33975
828a2768 33976 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
33977 later is obsolete, potentially dangerous and sets a bad example.
33978 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
33979 * util/misc.c (grub_util_get_image_size): Likewise.
33980
2bb4fb47 33981 * disk/loopback.c (options): Improve help for "--partitions".
33982
0f582c6b 33983 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
33984 options to align them with the short options, e.g. "echo -e".
33985
a33224e0 339862008-03-31 Bean <bean123ch@gmail.com>
33987
33988 * video/reader/png.c (grub_png_data): New member is_16bit and
33989 image_data.
33990 (grub_png_decode_image_header): Detect 16 bit png image.
33991 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
33992 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
33993 (grub_video_reader_png): Release memory occupied by image_data.
33994
33995 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
33996 4096 bytes.
33997 (grub_nfs_mount): Skip the test for sector per cluster.
33998
33999 * include/grub/ntfs.h (MAX_SPC): Removed.
34000
86cb4f54 340012008-03-31 Bean <bean123ch@gmail.com>
34002
34003 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
34004 (grub_probe_SOURCES): Add fs/afs.c.
34005 (grub_fstest_SOURCES): Likewise.
34006 (afs_mod_SOURCES): New variable.
34007 (afs_mod_CFLAGS): Likewise.
34008 (afs_mod_LDFLAGS): Likewise.
34009
34010 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
34011 (grub_emu_SOURCES): Likewise.
34012
34013 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34014
34015 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34016
34017 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34018
34019 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34020
34021 * fs/afs.c: New file.
34022
17c74c21 340232008-03-30 Pavel Roskin <proski@gnu.org>
34024
4cb68e89 34025 * disk/host.c: Include grub/misc.h to fix a warning.
34026 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
34027 warnings about implicit declarations.
34028
8790bb04 34029 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
34030 variable.
34031 * include/grub/i386/loader.h: Change declaration of
34032 grub_linux_boot() to match what grub_loader_set() expects.
34033 * util/getroot.c (grub_guess_root_device): Return const char* to
34034 fix a warning.
34035 * util/grub-probe.c (probe): Fix a warning about uninitialized
34036 abstraction_name variable.
34037 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
34038 second argument as unused to fix a warning.
34039
9a3f3296 34040 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
34041 missing grub_error() call.
34042
0ecef90d 34043 * util/update-grub_lib.in: Define datarootdir, since Autoconf
34044 2.60 and newer uses it to define datadir.
34045
0bf6d401 34046 * commands/sleep.c: Fix warning about implicit declaration.
34047 * disk/memdisk.c: Likewise.
34048 * loader/aout.c: Likewise.
34049 * loader/i386/bsd_normal.c: Likewise.
34050 * util/grub-probe.c: Likewise.
34051
7cdacf97 34052 * commands/i386/cpuid.c (has_longmode): Make static.
34053 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
34054 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
34055
17c74c21 34056 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
34057 GDT. This is more robust, as %ds can change.
34058 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
34059 calling real_to_prot().
34060 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
34061
80a3e68b 340622008-03-28 Pavel Roskin <proski@gnu.org>
34063
34064 * kern/i386/pc/startup.S: Assert that uncompressed functions
34065 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
34066 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
34067 code, as they push parts of the code (error handlers) beyond
34068 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
34069 code as correctness and size.
34070
77bcd272 340712008-03-28 Pavel Roskin <proski@gnu.org>
34072
34073 * kern/i386/pc/startup.S
34074 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
34075 data block address to the real mode, keep offset minimal. This
34076 works around a bug in AWARD BIOS on old Athlon systems, which
34077 makes CD detection hang.
34078
c5dfd43b 340792008-03-26 Pavel Roskin <proski@gnu.org>
34080
34081 * normal/color.c (grub_parse_color_name_pair): Make `name' a
34082 const.
34083 * include/grub/normal.h: Add grub_parse_color_name_pair()
34084 declaration.
34085
bf962df2 340862008-03-24 Bean <bean123ch@gmail.com>
34087
34088 * disk/i386/pc/biosdisk.c (cd_start): Removed.
34089 (cd_count): Removed.
34090 (cd_drive): New variable.
34091 (grub_biosdisk_get_drive): Don't check for (cdN) device.
34092 (grub_biosdisk_call_hook): Likewise.
34093 (grub_biosdisk_iterate): Change cdrom detection method.
34094 (grub_biosdisk_open): Replace cd_start with cd_drive.
34095 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
34096 detect cdrom device.
34097
34098 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
34099 Removed.
34100 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
34101 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
34102 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
34103 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
34104 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
34105 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
34106 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
34107 (grub_biosdisk_cdrp): New structure.
34108 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
34109
34110 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
34111
34112 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
34113 device.
34114
34115 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
34116 New function.
34117
68e7fc7a 341182008-03-20 Robert Millan <rmh@aybabtu.com>
34119
34120 Remove 2 TiB limit in ata.mod.
34121 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
34122 (grub_ata_dumpinfo): Print sector count with 0x%llx.
34123 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
34124 grub_uint64_t instead of grub_uint32_t.
34125
38ad2cf5 341262008-03-05 Bean <bean123ch@gmail.com>
34127
34128 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
34129 (grub_multiboot): Set boot device.
34130
34131 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
34132
2b89344e 341332008-03-02 Bean <bean123ch@gmail.com>
34134
34135 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
34136 symlink_buffer.
34137
87a95d1f 341382008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
34139
34140 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
34141 texinfo.tex.
34142
34143 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
34144 modified.
34145
34146 * docs/fdl.texi: New file.
f19dbdb7 34147
87a95d1f 34148 * docs/mdate-sh: New file. Copied from gnulib.
34149 * docs/texinfo.tex: Likewise.
34150
34151 * config.guess: Updated from gnulib.
34152 * install-sh: Likewise.
34153
7dc15d8e 341542008-02-28 Robert Millan <rmh@aybabtu.com>
34155
34156 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
34157 (aout_mod_SOURCES): New variable.
34158 (aout_mod_CFLAGS): Likewise.
34159 (aout_mod_LDFLAGS): Likewise.
34160
34161 * conf/i386-ieee1275.rmk: Likewise.
34162
b00ab696 341632008-02-28 Robert Millan <rmh@aybabtu.com>
34164
34165 * util/update-grub.in: Reorganise terminal validity check. Accept
34166 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
34167 Based on suggestion by Franklin PIAT.
34168
79ca2d78 341692008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
34170
34171 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
34172 function.
34173 * util/getroot.c (grub_util_check_block_device): New function that
34174 returns the given argument if it is a block device and returns NULL else.
34175 * util/grub-probe.c (argument_is_device): New variable.
34176 (probe): Promote device_name from a variable to an argument. Receive
34177 device_name from grub_util_check_block_device() if path is NULL and from
34178 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 34179 (options): Introduce new parameter '-d, --device'.
79ca2d78 34180 (main): Add description of the new parameter to the help screen.
34181 Rename path variable to argument. Set argument_is_device if the '-d'
34182 option is given. Pass argument to probe() depending on
34183 argument_is_device.
34184
0d16e571 341852008-02-24 Bean <bean123ch@gmail.com>
34186
34187 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
34188 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
34189 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
34190 (GRUB_ISO9660_VOLDESC_PART): Likewise.
34191 (GRUB_ISO9660_VOLDESC_END): Likewise.
34192 (grub_iso9660_primary_voldesc): New member escape.
34193 (grub_iso9660_data): New member joliet.
34194 (grub_iso9660_convert_string): New function.
34195 (grub_iso9660_mount): Detect joliet extension.
34196 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
34197 (grub_iso9660_iso9660_label): Likewise.
34198
34199 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
34200 (grub_setup_SOURCES): Add fs/udf.c.
34201 (grub_fstest_SOURCES): Likewise.
34202 (udf_mod_SOURCES): New variable.
34203 (udf_mod_CFLAGS): Likewise.
34204 (udf_mod_LDFLAGS): Likewise.
34205
34206 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
34207 (grub_emu_SOURCES): Likewise.
34208
34209 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34210
34211 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34212
34213 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34214
34215 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34216
34217 * fs/udf.c: New file.
34218
8a594a17 342192008-02-24 Robert Millan <rmh@aybabtu.com>
34220
34221 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
34222 (normal/lexer.c_DEPENDENCIES): New variables.
34223 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34224 (normal/lexer.c_DEPENDENCIES): Likewise.
34225 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
34226 (normal/lexer.c_DEPENDENCIES): Likewise.
34227 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
34228 (normal/lexer.c_DEPENDENCIES): Likewise.
34229 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34230 (normal/lexer.c_DEPENDENCIES): Likewise.
34231 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34232 (normal/lexer.c_DEPENDENCIES): Likewise.
34233
2dc33c03 342342008-02-23 Robert Millan <rmh@aybabtu.com>
34235
34236 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
34237 since they were intended to be in hex. This didn't break previously
34238 because of a bug in gpt_partition_map_iterate() (see below).
34239
34240 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
34241 when checking the validity of GPT header.
34242 Remove `partno', since it always provides the same information as `i'.
34243
f6f4cfb0 342442008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
34245
34246 * include/grub/efi/time.h: Fix a wrong comment.
34247
79ff665f 342482008-02-19 Pavel Roskin <proski@gnu.org>
34249
34250 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
34251 message.
34252
d38e24c2 342532008-02-19 Bean <bean123ch@gmail.com>
34254
34255 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
34256 (aout_mod_SOURCES): New variable.
34257 (aout_mod_CFLAGS): Likewise.
34258 (aout_mod_LDFLAGS): Likewise.
34259 (_bsd_mod_SOURCES): New variable.
34260 (_bsd_mod_CFLAGS): Likewise.
34261 (_bsd_mod_LDFLAGS): Likewise.
34262 (bsd_mod_SOURCES): New variable.
34263 (bsd_mod_CFLAGS): Likewise.
34264 (bsd_mod_LDFLAGS): Likewise.
34265
34266 * include/grub/aout.h: New file.
34267
34268 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
34269
34270 * include/grub/i386/bsd.h: New file.
34271
34272 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
34273 to make it public.
34274
34275 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
34276 function is called, so that it's possible to change it inside the hook.
34277 (grub_elf64_load): Likewise.
34278 (grub_elf_file): Don't close the file if elf header is not found.
34279 (grub_elf_close): Close the file if grub_elf_file fails (The new
34280 grub_elf_file won't close it).
34281 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
34282 (grub_elf64_size): Likewise.
34283
34284 * kern/i386/loader.S (grub_unix_real_boot): New function.
34285
34286 * loader/aout.c: New file.
34287
34288 * loader/i386/bsd.c: New file.
34289
34290 * loader/i386/bsd_normal.c: New file.
34291
34292 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
34293
34294 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 34295 can test other formats.
d38e24c2 34296
b93bdb0f 342972008-02-19 Robert Millan <rmh@aybabtu.com>
34298
34299 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
34300 (grub_gpt_partition_type_empty): Redefine with macro from
34301 `<grub/gpt_partition.h>'.
34302 (gpt_partition_map_iterate): Adjust partition type comparison.
34303
34304 Export `entry' as partmap-specific `part.data' struct.
34305 (grub_gpt_header, grub_gpt_partentry): Move from here ...
34306
34307 * include/grub/gpt_partition.h (grub_gpt_header)
34308 (grub_gpt_partentry): ... to here (new file).
34309
34310 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
34311
34312 (grub_gpt_partition_type_bios_boot): New const variable, defined
34313 with macro from `<grub/gpt_partition.h>'.
34314
34315 (setup): Replace `first_start' with `embed_region', which keeps
34316 track of the embed region (and is partmap-agnostic).
34317
34318 Replace find_first_partition_start() with find_usable_region(),
34319 which finds a usable region for embedding using partmap-specific
34320 knowledge (supports PC/MSDOS and GPT).
34321
34322 Fix all assumptions that the embed region start at sector 1, using
34323 `embed_region.start' from now on. Similarly, use `embed_region.end'
34324 rather than `first_start' to calculate available size.
34325
34326 In grub_util_info() message, replace "into after the MBR" with an
34327 indication of the specific sector our embed region starts at.
34328
66cb40f6 343292008-02-19 Robert Millan <rmh@aybabtu.com>
34330
34331 * DISTLIST: Replace `commands/ieee1275/halt.c' and
34332 `commands/ieee1275/reboot.c' with `commands/halt.c' and
34333 `commands/reboot.c'.
34334 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
34335 (halt_mod_SOURCES): Likewise.
34336 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
34337 (halt_mod_SOURCES): Likewise.
34338
b7202015 343392008-02-17 Christian Franke <franke@computer.org>
34340
34341 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
34342
32b0fc49 343432008-02-17 Robert Millan <rmh@aybabtu.com>
34344
34345 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
34346 set `first_start' to 0 for non-PC/MSDOS partition maps.
34347
aca63502 343482008-02-16 Robert Millan <rmh@aybabtu.com>
34349
34350 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
34351 do not assume partition map is PC/MSDOS before performing checks that
34352 are specific to that layout.
34353
0de8be86 343542008-02-13 Robert Millan <rmh@aybabtu.com>
34355
34356 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
34357 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
34358 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
34359
c3db8364 343602008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
34361
34362 * configure.ac: Only a cosmetic change on the handling of
34363 -fno-stack-protector.
34364
f714229e 343652008-02-12 Alexandre Boeglin <alex@boeglin.org>
34366
c3db8364 34367 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
34368 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
34369 reboot.c.
f714229e 34370 (grub_install_SOURCES): Add halt.mod and reboot.mod.
34371 (halt_mod_SOURCES): New variable.
34372 (halt_mod_CFLAGS): Likewise.
34373 (halt_mod_LDFLAGS): Likewise.
34374 (reboot_mod_SOURCES): Likewise.
34375 (reboot_mod_CFLAGS): Likewise.
34376 (reboot_mod_LDFLAGS): Likewise.
34377
c3db8364 34378 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
34379 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
34380 reboot.c.
f714229e 34381 (halt_mod_SOURCES): Likewise.
34382 (reboot_mod_SOURCES): Likewise.
34383
c3db8364 34384 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
34385 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 34386 (reboot_mod_SOURCES): Likewise.
34387
34388 * commands/i386/pc/reboot.c: merge this file ...
34389
34390 * commands/ieee1275/reboot.c: ... and this file ...
34391
34392 * commands/reboot.c: ... to this file.
c3db8364 34393 Add some precompiler directive to include the correct header for
34394 each machine.
f714229e 34395
34396 * commands/ieee1275/halt.c: move this file ...
34397
34398 * commands/halt.c: ... to here.
c3db8364 34399 Add some precompiler directive to include the correct header for
34400 each machine.
f714229e 34401
34402 * include/grub/efi/efi.h (grub_reboot): New function declaration.
34403 (grub_halt): Likewise.
34404
34405 * kern/efi/efi.c (grub_reboot): New function.
34406 (grub_halt): Likewise.
34407
c74493e0 344082008-02-12 Robert Millan <rmh@aybabtu.com>
34409
34410 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
34411 /dev (like it is done for /dev/mapper). This doesn't provide support
34412 for EVMS, but at least it is now easy to identify the problem when it
34413 arises.
34414
d0db4b04 344152008-02-11 Robert Millan <rmh@aybabtu.com>
34416
34417 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
34418 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
34419 comparing it with -1, not 0.
34420
bf748642 344212008-02-10 Robert Millan <rmh@aybabtu.com>
34422
34423 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
34424 `disk/lvm.c'.
34425 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34426 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
34427
34428 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
34429 `disk/lvm.c' to the end of the list.
34430 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34431 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34432
b5db202a 344332008-02-10 Robert Millan <rmh@aybabtu.com>
34434
34435 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
34436 grub_print_error() instead. This will let user know why we're entering
34437 rescue mode.
34438 Based on suggestions from Sam Morris.
34439
83abee31 344402008-02-10 Alexandre Boeglin <alex@boeglin.org>
34441
34442 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
34443 on remaining N args, instead of "--" arg N times.
34444
78d5a08b 344452008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
34446
34447 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
34448 (fill_with_default_glyph): Changed to use unknown_glyph for fill
34449 pattern for unknown glyphs.
34450
68807e5f 344512008-02-09 Robert Millan <rmh@aybabtu.com>
34452
34453 * configure.ac: Probe for `help2man'.
34454 * Makefile.in (builddir): New variable.
34455 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
34456 or otherwise add a few flags/options to it.
34457 (install-local): For every executable utility or script that is
34458 installed, invoke $(HELP2MAN) to install a manpage based on --help
34459 output.
34460
34461 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
34462 that it doesn't prevent --help from working in build tree.
34463
34464 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
34465 with `bug-grub@gnu.org'.
34466 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
34467 * util/update-grub.in (usage): New function.
34468 Implement proper argument check, with support for --help and --version
34469 (as well as existing -y).
34470
344712008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 34472
34473 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
34474 avoid overwriting previous output.
34475 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
34476
c1962162 344772008-02-09 Robert Millan <rmh@aybabtu.com>
34478
34479 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
34480 drawing the menu.
34481
3dac2e3f 344822008-02-09 Robert Millan <rmh@aybabtu.com>
34483
34484 * commands/sleep.c: New file.
34485 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
34486 (sleep_mod_SOURCES): New variable.
34487 (sleep_mod_CFLAGS): Likewise.
34488 (sleep_mod_LDFLAGS): Likewise.
34489
7a634e08 344902008-02-09 Robert Millan <rmh@aybabtu.com>
34491
34492 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
34493 situations in which we can deduce the RAID size and the superblock
34494 doesn't match it.
34495
b92f0c18 344962008-02-09 Robert Millan <rmh@aybabtu.com>
34497
34498 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
34499 and return a grub_diskmemberlist_t composed of LVM physical volumes.
34500 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
34501
34502 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
34503 and return a grub_diskmemberlist_t composed of physical array members.
34504 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
34505
34506 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
34507 prototype.
34508 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
34509 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
34510 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
34511
34512 * util/grub-probe.c (probe): Move partmap probing code from here ...
34513 (probe_partmap): ... to here.
34514 (probe): Use probe_partmap() once for the disk we're probing, and
34515 additionally, when such disk contains a memberlist() struct member,
34516 once for each disk that is contained in the structure returned by
34517 memberlist().
34518
91a4bf68 345192008-02-09 Robert Millan <rmh@aybabtu.com>
34520
34521 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
34522 environment variable to 'all' in order to obtain debug output from
34523 non-util/ code.
34524 * util/i386/pc/grub-setup.c (main): Likewise.
34525
a96f9caa 345262008-02-08 Robert Millan <rmh@aybabtu.com>
34527
34528 * disk/raid.c (grub_raid_scan_device): Check for
34529 `array->device[sb.this_disk.number]' rather than for
34530 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 34531 guaranteed to be accessible.
a96f9caa 34532
b37a9222 345332008-02-08 Robert Millan <rmh@aybabtu.com>
34534
34535 * disk/raid.c: Update copyright.
34536 * fs/cpio.c: Likewise.
34537 * include/grub/raid.h: Likewise.
34538 * loader/i386/pc/multiboot.c: Likewise.
34539 * util/hostfs.c: Likewise.
34540
5626aee1 345412008-02-08 Robert Millan <rmh@aybabtu.com>
34542
34543 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
34544 to a grub_disk_t array.
34545 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
34546 `device[x]'.
34547 (grub_raid_scan_device): Replace `device[x].name' accesses with
34548 `device[x]->name'. Simplify initialization of `array->device[x]'.
34549
554f0187 345502008-02-08 Robert Millan <rmh@aybabtu.com>
34551
34552 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
34553 grub_dprintf() calls.
34554 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
34555 error message.
34556
1ec8425d 345572008-02-07 Christian Franke <franke@computer.org>
34558
34559 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
34560 instead of fseek and ftell to support large files.
34561 (grub_hostfs_read): Likewise.
34562
f2156fda 345632008-02-07 Robert Millan <rmh@aybabtu.com>
34564
34565 Patch from Jeroen Dekkers.
34566 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 34567 failure, since successfully reading all array members might not be
f2156fda 34568 required.
34569
9216e0e7 345702008-02-06 Robert Millan <rmh@aybabtu.com>
34571
34572 * util/grub-probe.c (probe): Simplify partmap probing (with the
34573 assumption that the first word up to the underscore equals to
34574 the module name).
34575
b0dfd29a 345762008-02-06 Christian Franke <franke@computer.org>
34577
34578 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
34579 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
34580 last block of a cpio or tar stream.
34581 Check for "TRAILER!!!" instead of any empty data
34582 block to detect last block of a cpio stream.
34583 (grub_cpio_dir): Fix constness of variable np.
34584 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
34585 cpio or tar trailer is detected. This fixes a crash
34586 on open of a non existing file.
34587
c32865bf 345882008-02-05 Bean <bean123ch@gmail.com>
34589
34590 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
34591 address of entry.
34592 (grub_multiboot_load_elf64): Likewise.
34593 (grub_multiboot): Initialize mbi structure.
34594
34595 * util/grub-fstest.c: Don't include unused header file script.h.
34596
fe6b695a 34597 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 34598 of file.
34599 (grub_fstest_SOURCES): Likewise.
34600
409480b7 346012008-02-05 Robert Millan <rmh@aybabtu.com>
34602
34603 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
34604 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
34605 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
34606 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
34607
34608 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
34609 (translation_table): Replace hardcoded values with macros
34610 provided by `<grub/term.h>'.
34611
34612 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
34613 (keyboard_map): Correct/add a few values, with macros provided
34614 by `<grub/term.h>'.
34615 (keyboard_map_shift): Zero values that don't differ from their
34616 `keyboard_map' equivalents.
34617 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
34618 Discard the second scan code that is always sent by Caps lock.
34619 Only use `keyboard_map_shift' when it provides a non-zero value,
34620 otherwise fallback to `keyboard_map'.
34621
99fadbaa 346222008-02-04 Bean <bean123ch@gmail.com>
34623
34624 * Makefile.in (enable_grub_fstest): New variable.
34625
34626 * conf/common.rmk (grub_fstest_init.lst): New rule.
34627 (grub_fstest_init.h): Likewise.
34628 (grub_fstest_init.c): Likewise.
34629 (util/grub-fstest.c_DEPENDENCIES): New variable.
34630 (grub_fstest_SOURCES): Likewise.
34631
34632 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
34633
34634 * util/grub-fstest.c: New file.
34635
bf567c50 346362008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34637
34638 Make grub-setup handle a separate root device.
f19dbdb7 34639
bf567c50 34640 * util/i386/pc/grub-setup.c (setup): Always open the root device,
34641 so that the root device can be compared with the destination
34642 device.
34643 When embedding the core image, if the root and destination devices
34644 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
34645 0xFF.
34646 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 34647
9be6b98b 346482008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34649
34650 Add support for having a grub directory in a different drive. This
34651 is still only the data handling part.
f19dbdb7 34652
9be6b98b 34653 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
34654 (codestart): Save %dh in GRUB_ROOT_DRIVE.
34655 (grub_root_drive): New variable.
34656
34657 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
34658 instead of GRUB_BOOT_DRIVE to construct a device name. Set
34659 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
34660 as it was.
34661
34662 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
34663
34664 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
34665 macro.
34666 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
34667
34668 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
34669 is bogus, because PXE booting does not specify any drive
34670 correctly.
34671
34672 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
34673 am not sure if this is really correct.
34674
34675 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
34676 is always identical to the boot drive when booting from a CD.
34677
34678 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
34679 longer.
34680 (root_drive): New variable.
34681 (real_start): Unconditionally set %dh to ROOT_DRIVE.
34682 (setup_sectors): Push %dx right after popping it, because %dh will
34683 be modified later.
34684 (copy_buffer): Restore %dx.
34685
e0ca0677 346862008-02-03 Robert Millan <rmh@aybabtu.com>
34687
34688 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
34689 use `cdboot.img' for cdrom images.
34690
3b3f6629 346912008-02-03 Robert Millan <rmh@aybabtu.com>
34692
34693 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
34694 only setup gfxterm when `font' command has succeeded.
34695
d42b3672 346962008-02-03 Robert Millan <rmh@aybabtu.com>
34697
34698 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
34699 (grub_rescue_cmd_multiboot_loader)
34700 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
34701
fa370ea6 347022008-02-03 Pavel Roskin <proski@gnu.org>
34703
e0c5dacb 34704 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 34705 %edx and %esi from stack only after grub_gate_a20() is called.
34706 grub_gate_a20() clobbers %edx.
34707
f2a76e1d 347082008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34709
34710 * configure.ac (AC_INIT): Bumped to 1.96.
34711
34712 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
34713 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
34714 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
34715 video/readers/png.c.
34716
90fd32d1 347172008-02-03 Bean <bean123ch@gmail.com>
9be665dd 34718
34719 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
34720 (cdboot_img_SOURCES): New variable.
34721 (cdboot_img_ASFLAGS): New variable.
34722 (cdboot_img_LDFLAGS): New variable.
34723
34724 * boot/i386/pc/cdboot.S: New file.
34725
34726 * disk/i386/pc/biosdisk.c (cd_start): New variable.
34727 (cd_count): Likewise.
34728 (grub_biosdisk_get_drive): Add support for cd device.
34729 (grub_biosdisk_call_hook): Likewise.
34730 (grub_biosdisk_iterate): Likewise.
34731 (grub_biosdisk_open): Likewise.
34732 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
34733 (grub_biosdisk_rw): Support reading from cd device.
34734 (GRUB_MOD_INIT): Iterate cd devices.
34735
34736 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
34737 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
34738 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
34739
34740 * kern/i386/pc/init.c (make_install_device): Check for cd device.
34741
4020aa53 347422008-02-02 Robert Millan <rmh@aybabtu.com>
34743
34744 * commands/read.c: New file.
34745 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
34746 (read_mod_SOURCES): New variable.
34747 (read_mod_CFLAGS): Likewise.
34748 (read_mod_LDFLAGS): Likewise.
34749
e03a1132 347502008-02-02 Robert Millan <rmh@aybabtu.com>
34751
34752 * normal/main.c (grub_normal_execute): Check for `menu->size' when
34753 determining whether menu has to be displayed.
34754
58c69220 347552008-02-02 Marco Gerards <marco@gnu.org>
34756
34757 * bus/pci.c: New file.
34758
34759 * include/grub/pci.h: Likewise.
34760
34761 * include/grub/i386/pc/pci.h: Likewise.
34762
34763 * commands/lspci.c: Likewise.
34764
34765 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
34766 `lspci.mod'.
34767 (pci_mod_SOURCES): New variable.
34768 (pci_mod_CFLAGS): Likewise.
34769 (pci_mod_LDFLAGS): Likewise.
34770 (lspci_mod_SOURCES): Likewise.
34771 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 34772 (lspci_mod_LDFLAGS): Likewise.
58c69220 34773
c004e1b4 347742008-02-02 Bean <bean123ch@gmail.com>
34775
34776 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
34777 (grub_ufs_get_file_block): Fix indirect block calculation problem.
34778
34779 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
34780 (grub_xfs_btree_node): New structure.
34781 (grub_xfs_btree_root): New structure.
34782 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
34783 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
34784 (GRUB_XFS_EXTENT_BLOCK): Likewise.
34785 (GRUB_XFS_EXTENT_SIZE): Likewise.
34786 (grub_xfs_read_block): Support btree format type.
34787 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
34788 Use directory block as basic unit.
34789
34790 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
34791
34792 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
34793 __attribute__ ((__regparm__ (1))).
34794
f95562bf 347952008-02-01 Robert Millan <rmh@aybabtu.com>
34796
34797 Correct a mistake in previous commit.
34798
34799 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
34800 top.
34801 (normal/command.c_DEPENDENCIES): New variable.
34802
7d31f41f 348032008-02-01 Robert Millan <rmh@aybabtu.com>
34804
34805 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
34806 top.
34807 (normal/command.c_DEPENDENCIES): New variable.
34808 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
34809 * conf/i386-ieee1275.rmk: Likewise.
34810 * conf/i386-linuxbios.rmk: Likewise.
34811 * conf/i386-pc.rmk: Likewise.
34812 * conf/sparc64-ieee1275.rmk: Likewise.
34813 * conf/powerpc-ieee1275.rmk: Likewise.
34814 (grub_emu_SOURCES): Add `fs/fshelp.c'.
34815
34816 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
34817
60b6be74 348182008-02-01 Robert Millan <rmh@aybabtu.com>
34819
34820 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
34821 call at beginning of function.
34822
078522ab 348232008-01-31 Pavel Roskin <proski@gnu.org>
34824
34825 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 34826 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
34827 (grub_mkrescue_SOURCES): Likewise.
078522ab 34828 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
34829
ccaa8a5f 348302008-01-30 Robert Millan <rmh@aybabtu.com>
34831
34832 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
34833 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
34834 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
34835 (grub_probe_SOURCES): ... to here.
34836
34837 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
34838 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
34839 * conf/i386-ieee1275.rmk: Likewise.
34840 * conf/i386-linuxbios.rmk: Likewise.
34841 * conf/powerpc-ieee1275.rmk: Likewise.
34842
ae5a9cd7 348432008-01-30 Tristan Gingold <gingold@free.fr>
34844
34845 * kern/rescue.c: Silently accept empty lines.
34846
70bc2ef2 348472008-01-29 Bean <bean123ch@gmail.com>
34848
34849 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
34850 (real_code_2): Code cleanup and change comment style.
34851 (move_memory): Avoid using 32-bit address mode.
34852
6a4d50ea 348532008-01-29 Bean <bean123ch@gmail.com>
34854
34855 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
34856 (png_mod_SOURCES): New variable.
34857 (png_mod_CFLAGS): Likewise.
34858 (png_mod_LDFLAGS): Likewise.
34859
34860 * video/readers/png.c: New file.
34861
11cc30ac 348622008-01-28 Robert Millan <rmh@aybabtu.com>
34863
34864 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
34865 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
34866 `ifndef GRUB_MOD_GAP' hack.
34867 * util/elf/grub-mkimage.c (add_segments): Likewise.
34868
3abc589f 348692008-01-27 Robert Millan <rmh@aybabtu.com>
34870
34871 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
34872 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 34873 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 34874
e1907778 348752008-01-27 Robert Millan <rmh@aybabtu.com>
34876
34877 Get grub-emu to build again (including parallel builds).
34878
34879 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
34880 Split into ...
34881 (util/grub-emu.c_DEPENDENCIES): ... this, ...
34882 (normal/execute.c_DEPENDENCIES): ... this, ...
34883 (grub-emu_DEPENDENCIES): ... and this.
34884
34885 * conf/i386-efi.rmk: Likewise.
34886 * conf/i386-linuxbios.rmk: Likewise.
34887 * conf/i386-ieee1275.rmk: Likewise.
34888 * conf/powerpc-ieee1275.rmk: Likewise.
34889 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
34890
2216b101 348912008-01-27 Robert Millan <rmh@aybabtu.com>
34892
34893 * NEWS: Add a few items.
34894
f75172d9 348952008-01-27 Robert Millan <rmh@aybabtu.com>
34896
34897 Fix parallel builds with grub-emu. Based on earlier commit for
34898 grub-probe and grub-setup.
34899
34900 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34901 (util/grub-emu.c_DEPENDENCIES): ... this.
34902 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34903 (util/grub-emu.c_DEPENDENCIES): ... this.
34904 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34905 (util/grub-emu.c_DEPENDENCIES): ... this.
34906 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34907 (util/grub-emu.c_DEPENDENCIES): ... this.
34908 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34909 (util/grub-emu.c_DEPENDENCIES): ... this.
34910
3f51de77 349112008-01-27 Pavel Roskin <proski@gnu.org>
34912
34913 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
34914 to create a gap between _end and the modules added to the image
34915 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
34916 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
34917 * util/elf/grub-mkimage.c (add_segments): Likewise.
34918
2033f53e 349192008-01-26 Pavel Roskin <proski@gnu.org>
34920
34921 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
34922 just return an error.
34923
22da1f6f 349242008-01-26 Bean <bean123ch@gmail.com>
34925
34926 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
34927 (grub_reiserfs_get_item): Save offset of the next item.
34928 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
34929
2a9525e6 349302008-01-25 Robert Millan <rmh@aybabtu.com>
34931
34932 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
34933 make all filesystem sources appear together (possibly fixing omissions
34934 while at it).
34935 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34936 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34937 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34938 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34939
34940 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
34941 add `kern/file.c'.
34942 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
34943 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
34944 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
34945 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
34946
34947 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
34948 (probe): Add a sanity check to make sure of our ability to read
34949 requested files when probing for filesystem type.
34950
34951 * genmk.rb: Update copyright year (2007).
34952
34953 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
34954 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
34955 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
34956 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
34957 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
34958 : Remove function prototypes.
34959
b95f71b5 349602008-01-25 Robert Millan <rmh@aybabtu.com>
34961
34962 Revert my previous commits (based on wrong assumption of how grub_errno
34963 works).
34964
fe6b695a 34965 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 34966 * kern/file.c (grub_file_open): Likewise.
34967
d08bbb49 349682008-01-24 Pavel Roskin <proski@gnu.org>
34969
34970 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
34971 that hang if GRUB tries to setup colors.
34972 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
34973 colors for firmwares that don't support it.
34974 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
34975 Recognize Open Hack'Ware, set flags to work around its
34976 limitations.
34977
605e36ed 349782008-01-24 Robert Millan <rmh@aybabtu.com>
34979
34980 * kern/file.c (grub_file_open): Do not account previous failures of
34981 unrelated functions when grub_errno is checked for.
34982 Reported by Oleg Strikov.
34983
bac332a1 349842008-01-24 Bean <bean123ch@gmail.com>
34985
34986 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
34987 (grub_ufs_sblock): New member volume name.
34988 (grub_ufs_find_file): Fix string copy bug.
34989 (grub_ufs_label): Implement this function properly.
34990
34991 * fs/hfs.c (grub_hfs_cnid_type): New enum.
34992 (grub_hfs_iterate_records): Use the correct file number for extents
34993 and catalog file. Fix problem in next index calculation.
34994 (grub_hfs_find_node): Replace recursive function call with loop.
34995 (grub_hfs_iterate_dir): Replace recursive function call with loop.
34996
15c80c09 349972008-01-23 Robert Millan <rmh@aybabtu.com>
34998
34999 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
35000 `<grub/symbol.h>' and `<grub/multiboot.h>'.
35001 (grub_multiboot2_real_boot): New function prototype.
35002
35003 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
35004 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
35005
35006 * kern/i386/ieee1275/init.c (grub_os_area_addr)
35007 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
35008
305338fd 350092008-01-23 Robert Millan <rmh@aybabtu.com>
35010
35011 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
35012 #ifdef'ed out grub_printf().
35013
3ea52685 350142008-01-23 Robert Millan <rmh@aybabtu.com>
35015
35016 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
35017 grub_dprintf calls, since they make "debug=all" mode unusable.
35018 (grub_console_checkkey): Likewise.
35019
5882ae4b 350202008-01-23 Robert Millan <rmh@aybabtu.com>
35021
35022 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
35023 `term/i386/pc/at_keyboard.c'.
35024 (pkglib_MODULES): Add `serial.mod'.
35025 (serial_mod_SOURCES): New variable.
35026 (serial_mod_CFLAGS): Likewise.
35027 (serial_mod_LDFLAGS): Likewise.
35028
35029 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
35030 `<grub/powerpc/ieee1275/console.h>'.
35031 (grub_keyboard_controller_init): New function prototype.
35032 (grub_console_checkkey): Likewise.
35033 (grub_console_getkey): Likewise.
35034
35035 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
35036 keyboard on i386.
35037
35038 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
35039 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
35040
06ab5303 350412008-01-23 Robert Millan <rmh@aybabtu.com>
35042
35043 * kern/i386/pc/init.c (make_install_device): When memdisk image is
35044 present, "(memdisk)/boot/grub" becomes the default prefix.
35045
35046 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
35047 a memdisk tarball with all the modules. Add --overlay=DIR option that
35048 allows users to overlay additional files into the image.
35049
dbb475a4 350502008-01-23 Robert Millan <rmh@aybabtu.com>
35051
35052 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
35053 and `machine/memory.h'.
35054 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
35055 (_multiboot_mod_SOURCES): New variable.
35056 (_multiboot_mod_CFLAGS): Likewise.
35057 (_multiboot_mod_LDFLAGS): Likewise.
35058 (multiboot_mod_SOURCES): Likewise.
35059 (multiboot_mod_CFLAGS): Likewise.
35060 (multiboot_mod_LDFLAGS): Likewise.
35061
35062 * include/grub/i386/ieee1275/loader.h: New file.
35063
35064 * include/grub/i386/ieee1275/machine.h: Likewise.
35065
35066 * include/grub/i386/ieee1275/memory.h: Likewise.
35067
35068 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
35069 variable declaration.
35070 (grub_os_area_size): Likewise.
35071
35072 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
35073 (grub_lower_mem, grub_upper_mem): New variables.
35074 (grub_stop_floppy): New function (just to make
35075 grub_multiboot2_real_boot() happy).
35076
35077 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
35078 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
35079 (grub_stop): New function.
35080 Include `"../realmode.S"' and `"../loader.S"'.
35081
35082 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
35083 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
35084
35085 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
35086 rely on grub_multiboot2_real_boot() for final boot.
35087
25638629 350882008-01-22 Robert Millan <rmh@aybabtu.com>
35089
35090 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
35091 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
35092 device that doesn't look like an SD card.
35093 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
35094 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
35095 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
35096 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
35097 found.
35098
9dad816d 350992008-01-22 Robert Millan <rmh@aybabtu.com>
35100
35101 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
35102 avoid claiming over our own code.
35103
34842f2d 351042008-01-22 Bean <bean123ch@gmail.com>
35105
35106 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
35107 (jpeg_mod_SOURCES): New variable.
35108 (jpeg_mod_CFLAGS): Likewise.
35109 (jpeg_mod_LDFLAGS): Likewise.
35110
35111 * video/readers/jpeg.c : New file.
35112
44023a28 351132008-01-22 Bean <bean123ch@gmail.com>
35114
35115 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
35116 there are no more items.
35117
bc2d8ac6 351182008-01-21 Robert Millan <rmh@aybabtu.com>
35119
35120 * kern/mm.c (grub_mm_init_region): Improve debug message.
35121
261bd4bc 351222008-01-21 Robert Millan <rmh@aybabtu.com>
35123
35124 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
35125 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
35126 address.
35127 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
35128 a C macro.
35129 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
35130 Indicates start of upper memory.
35131 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
35132 (generate_image): Abort when image size is big enough to corrupt
35133 upper memory.
35134
35135 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
35136 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
35137 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35138 instead of hardcoding 0xA0000.
35139 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
35140 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35141 instead of hardcoding 0xA0000.
35142
f970b55e 351432008-01-21 Robert Millan <rmh@aybabtu.com>
35144
35145 * disk/memdisk.c (memdisk_size): New variable.
35146 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
35147 `memdisk_size'.
35148 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
35149 image to dynamic memory.
35150 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
35151 `memdisk_size'. Free memdisk block.
35152
1a8b0526 351532008-01-21 Robert Millan <rmh@aybabtu.com>
35154
35155 Fix detection of very small filesystems (like tar).
35156
35157 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
35158 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
35159 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
35160 a problem with this disk).
35161
6e9b4aab 351622008-01-21 Robert Millan <rmh@aybabtu.com>
35163
35164 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
35165 on grub_biosdisk_rw_standard() error.
35166
0d8837b2 351672008-01-21 Robert Millan <rmh@aybabtu.com>
35168
35169 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
35170 recent changes.
35171 * kern/elf.c: Likewise.
35172 * kern/ieee1275/ieee1275.c: Likewise.
35173 * kern/powerpc/ieee1275/openfw.c: Likewise.
35174 * term/ieee1275/ofconsole.c: Likewise.
35175
ffd36e34 351762008-01-21 Robert Millan <rmh@aybabtu.com>
35177
35178 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
35179
3f0093d0 35180 * include/grub/kernel.h (grub_arch_memdisk_addr)
35181 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 35182
3f0093d0 35183 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
35184 (grub_arch_memdisk_size): ... to here.
ffd36e34 35185
6c391b21 351862008-01-21 Robert Millan <rmh@aybabtu.com>
35187
35188 Mostly based on bugfix from Bean.
35189
35190 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
35191 attribute with hook() parameter.
35192 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
35193 declaration.
35194 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
35195 attribute with hook() parameter.
35196 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
35197 declaration.
35198
55a581dc 351992008-01-21 Robert Millan <rmh@aybabtu.com>
35200
35201 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
35202 (pkglib_MODULES): Add `memdisk.mod'.
35203 (memdisk_mod_SOURCES): New variable.
35204 (memdisk_mod_CFLAGS): Likewise.
35205 (memdisk_mod_LDFLAGS): Likewise.
35206
35207 * disk/memdisk.c: New file.
35208
35209 * include/grub/disk.h (grub_disk_dev_id): Add
35210 `GRUB_DISK_DEVICE_MEMDISK_ID'.
35211
35212 * include/grub/i386/pc/kernel.h
35213 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
35214 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
35215 (grub_kernel_image_size): New variable declaration.
35216 (grub_total_module_size): Likewise.
35217 (grub_memdisk_image_size): Likewise.
35218
35219 * include/grub/i386/pc/memory.h
35220 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
35221
35222 * include/grub/kernel.h: Include `<grub/symbol.h>'.
35223 (grub_arch_memdisk_addr): New variable declaration.
35224 (grub_arch_memdisk_size): Likewise.
35225
35226 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
35227 (grub_arch_memdisk_size): Likewise.
35228
35229 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
35230 (codestart): Replace hardcoded `0x100000' with
35231 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
35232
35233 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
35234 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
35235 not NULL, append the contents of the file it refers to, at the end of
35236 the compressed kernel image. Initialize `grub_memdisk_image_size'
35237 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
35238 (options): Add "memdisk"|'m' option.
35239 (main): Parse --memdisk|-m option, and pass user-provided path as
35240 parameter to generate_image().
35241
3d7f54c9 352422008-01-20 Robert Millan <rmh@aybabtu.com>
35243
35244 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
35245 grub_dprintf() calls from here ...
35246 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
35247
0bf74728 352482008-01-20 Robert Millan <rmh@aybabtu.com>
35249
35250 Fix detection of "real mode" when /options/real-mode? doesn't exist.
35251
35252 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
35253 declaration.
35254 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
35255 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
35256 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 35257 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 35258 property).
35259 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
35260 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
35261
33bf70a7 352622008-01-19 Robert Millan <rmh@aybabtu.com>
35263
fe6b695a 35264 Get rid of confusing function (superseded by
33bf70a7 35265 `grub_ieee1275_get_integer_property')
35266 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
35267 prototype.
35268 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
35269 function.
35270 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
35271 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 35272 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 35273
e2da7d26 352742008-01-19 Robert Millan <rmh@aybabtu.com>
35275
35276 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
35277 command after "shut-down", since implementations differ on which
35278 the command for halt is.
35279
59f1fd8d 352802008-01-19 Robert Millan <rmh@aybabtu.com>
35281
35282 * include/grub/i386/linuxbios/console.h: Add header protection.
35283 (grub_keyboard_controller_init): New function prototype.
35284 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
35285 (KEYBOARD_COMMAND_READ): Likewise.
35286 (KEYBOARD_COMMAND_WRITE): Likewise.
35287 (KEYBOARD_SCANCODE_SET1): Likewise.
35288 (grub_keyboard_controller_write): New function.
35289 (grub_keyboard_controller_read): Likewise.
35290 (grub_keyboard_controller_init): Likewise.
35291
35292 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
35293 (grub_console_init): On coreboot/LinuxBIOS, call
35294 grub_keyboard_controller_init().
35295
5f5a7c15 352962008-01-19 Robert Millan <rmh@aybabtu.com>
35297
35298 PowerPC changes provided by Pavel Roskin.
35299
35300 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
35301 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
35302 don't rely on cmain() doing it.
35303 * kern/i386/ieee1275/startup.S (_start): Store %eax in
35304 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
35305
1210e168 353062008-01-16 Robert Millan <rmh@aybabtu.com>
35307
35308 * include/grub/i386/linuxbios/memory.h
35309 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
35310 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
35311 receive `table_header' as argument. Instead, probe for it in the
35312 known memory ranges where it can be present.
35313 (grub_available_iterate): Do not pass a fixed `table_header' address
35314 to grub_linuxbios_table_iterate().
35315
3d04eab8 353162008-01-15 Robert Millan <rmh@aybabtu.com>
35317
35318 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
35319 * conf/i386-ieee1275.rmk: New file.
35320 * include/grub/i386/ieee1275/console.h: Likewise.
35321 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
35322 * include/grub/i386/ieee1275/kernel.h: Likewise.
35323 * include/grub/i386/ieee1275/time.h: Likewise.
35324 * kern/i386/ieee1275/init.c: Likewise.
35325 * kern/i386/ieee1275/startup.S: Likewise.
35326
d1bc1b73 353272008-01-15 Robert Millan <rmh@aybabtu.com>
35328
35329 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
35330 when pointers are 32-bit (but still do set it to one when they are
35331 64-bit).
35332
66a65807 353332008-01-15 Robert Millan <rmh@aybabtu.com>
35334
35335 * include/grub/ieee1275/ieee1275.h
35336 (grub_ieee1275_get_integer_property): New function prototype.
35337
35338 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
35339 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 35340 grub_ieee1275_get_property() to handle endianness.
66a65807 35341
35342 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
35343 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 35344 where appropriate.
66a65807 35345 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
35346 (grub_map): Likewise.
35347 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
35348
a83ccafd 353492008-01-15 Bean <bean123ch@gmail.com>
35350
35351 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
35352 (grub_script_execute_cmdline): Reset grub_errno.
35353
35354 * normal/main.c (read_config_file): Reset grub_errno.
35355
35356 * normal/parse.y (script_init): New.
35357 (script): Move function and menuentry here.
35358 (delimiter): New.
35359 (command): Add delimiter at the end of command.
35360 (commands): Adjust to match the new command.
35361 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 35362 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 35363 (if): Use the new commands.
35364
35365 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
35366
df6ecfc6 353672008-01-15 Robert Millan <rmh@aybabtu.com>
35368
35369 * normal/menu.c (run_menu): Move timeout message from here ...
35370 (print_timeout): ... to here.
35371 (run_menu): Use print_timeout() once during initial draw to print
35372 the whole message, and again in every clock tick to update only
35373 the number of seconds.
35374
87ae25eb 353752008-01-15 Robert Millan <rmh@aybabtu.com>
35376
35377 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
35378 actual size of `available' from grub_ieee1275_get_property(), and
35379 restrict parsing to that bound.
35380
47bf09a4 353812008-01-15 Christian Franke <franke@computer.org>
35382
35383 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
35384 (argp_program_version): Remove variable.
35385 (argp_program_bug_address): Likewise.
35386 (options): Convert from struct argp_option to struct option.
35387 (struct arguments): Remove.
35388 (parse_opt): Remove.
35389 (usage): New function.
35390 (main): Replace struct args members by simple variables.
35391 Replace argp_parse() by getopt_long().
35392 Add switch to evaluate options.
35393 Add missing "(...)" around root_dev in prefix string.
35394
c86f1469 353952008-01-14 Robert Millan <rmh@aybabtu.com>
35396
35397 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
35398 for grub_ieee1275_exit(), in order to improve portability.
35399
e622c559 354002008-01-14 Robert Millan <rmh@aybabtu.com>
35401
35402 * util/grub.d/10_linux.in (prefix): Define.
35403 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
35404
44cb1ec8 354052008-01-13 Pavel Roskin <proski@gnu.org>
35406
35407 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
35408 grub_errno if no errors have been detected.
35409
1eb8c802 354102008-01-12 Robert Millan <rmh@aybabtu.com>
35411
35412 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
35413 (grub_util_get_dev_abstraction): New function prototype.
35414
35415 * util/getroot.c: Include `<grub/util/getroot.h>'
35416 (grub_util_get_grub_dev): Move detection of abstraction type to ...
35417 (grub_util_get_dev_abstraction): ... here (new function).
35418
35419 * util/grub-probe.c: Convert PRINT_* to an enum. Add
35420 `PRINT_ABSTRACTION'.
35421 (probe): Probe for abstraction type when requested.
35422 (main): Understand `--target=abstraction'.
35423
35424 * util/i386/efi/grub-install.in: Add abstraction module to core
35425 image when it is found to be necessary.
35426 * util/i386/pc/grub-install.in: Likewise.
35427 * util/powerpc/ieee1275/grub-install.in: Likewise.
35428
35429 * util/update-grub_lib.in (font_path): Return system path without
35430 converting to GRUB path.
35431 * util/update-grub.in: Convert system path returned by font_path()
35432 to a GRUB path. Use `grub-probe -t abstraction' to determine what
35433 abstraction module is needed for loading fonts (if any). Export
35434 that as `GRUB_PRELOAD_MODULES'.
35435 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
35436 insmod commands).
35437
52bd3de9 354382008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
35439
35440 Remove some unused code from reiserfs.
f19dbdb7 35441
52bd3de9 35442 * fs/reiserfs.c (struct grub_reiserfs_key)
35443 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
35444 (struct grub_reiserfs_node_body): Removed.
35445 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
35446 Likewise.
35447 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35448 Likewise.
35449 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35450 Likewise.
35451 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35452 Likewise.
35453 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
35454 Likewise.
35455 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
35456 Likewise.
35457 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35458 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35459 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35460
2f80039d 354612008-01-10 Robert Millan <rmh@aybabtu.com>
35462
35463 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
35464 Determines if a file is garbage left by packaging systems, etc.
35465 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
35466 for processing /etc/grub.d scripts.
35467 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
35468 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
35469 as a condition for processing Linux images.
35470
87888032 354712008-01-10 Pavel Roskin <proski@gnu.org>
35472
35473 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
35474 to compile reiserfs.c on PowerPC.
35475
7e54fced 354762008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 35477
35478 * kern/device.c (grub_device_iterate): Do not abort device iteration
35479 when one of the devices cannot be opened.
35480 * kern/disk.c (grub_disk_open): Do not account previous failures of
35481 unrelated functions when grub_errno is checked for.
35482
5aa541e6 354832008-01-08 Robert Millan <rmh@aybabtu.com>
35484
35485 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
35486 `! grub_linux_is_bzimage', change order of address comparison to make
35487 it more intuitive, and improve "too big zImage" error message.
35488
7076340d 354892008-01-08 Robert Millan <rmh@aybabtu.com>
35490
35491 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
35492 `$(update-grub_DATA)'.
35493 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
35494 targets.
35495
9ca70333 354962008-01-07 Robert Millan <rmh@aybabtu.com>
35497
35498 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
35499 which instruction is modified by grub-setup during installation
35500 (since it wasn't obvious by only looking at this file).
35501
38ccf575 355022008-01-07 Robert Millan <rmh@aybabtu.com>
35503
35504 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
35505 listing actual TODO items.
35506
f5db4291 355072008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35508
868967cf 35509 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
35510 correctly.
35511 (grub_reiserfs_get_key_offset): Likewise.
35512 (grub_reiserfs_set_key_offset): Likewise.
35513 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 35514 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 35515
35516 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
35517 better to remove the bitfield version completely.
f19dbdb7 35518
868967cf 355192008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 35520
f5db4291 35521 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
35522 allocated from the heap, due to the fshelp implementation.
35523 (grub_reiserfs_dir): Free NODE, due to the same reason.
35524
492e6d9d 355252008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35526
35527 Mostly from Vincent Pelletier:
f19dbdb7 35528
492e6d9d 35529 * fs/reiserfs.c: New file.
f19dbdb7 35530
492e6d9d 35531 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
35532 (reiserfs_mod_SOURCES): New variable.
35533 (reiserfs_mod_CFLAGS): Likewise.
35534 (reiserfs_mod_LDFLAGS): Likewise.
35535
35536 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
35537 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
35538 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
35539 normal/color.c.
35540
9ce3e7c1 355412008-01-06 Robert Millan <rmh@aybabtu.com>
35542
35543 * normal/color.c: Remove `<grub/env.h>'.
35544
f3b58148 355452008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
35546
35547 * include/grub/normal.h: Include <grub/env.h>.
35548
7ac3bcfa 355492008-01-05 Robert Millan <rmh@aybabtu.com>
35550
35551 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
35552 usage example with `(hd0,1)'.
fb358190 35553 Reported by Samuel Thibault.
7ac3bcfa 35554
c8ee99d7 355552008-01-05 Robert Millan <rmh@aybabtu.com>
35556
35557 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
35558 (grub_linux_boot_zimage): Rename to ...
35559 (grub_linux_boot): ... this.
35560 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
35561 (grub_linux_boot_zimage): Conditionalize zImage copy.
35562
35563 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
35564 (grub_linux_boot_bzimage): Remove prototype.
35565 (grub_linux_boot_zimage): Rename to ...
35566 (grub_linux_boot): ... this.
35567
35568 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
35569 (grub_linux_boot): Remove function.
35570
0ece25b1 355712008-01-05 Robert Millan <rmh@aybabtu.com>
35572
35573 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
35574 (grub_env_write_color_highlight): Likewise.
35575 (grub_wait_after_message): Likewise.
35576
35577 * normal/color.c: New file.
35578
35579 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35580 (normal_mod_DEPENDENCIES): Likewise.
35581
35582 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35583 (normal_mod_DEPENDENCIES): Likewise.
35584
35585 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35586 (normal_mod_DEPENDENCIES): Likewise.
35587
35588 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35589 (normal_mod_DEPENDENCIES): Likewise.
35590
35591 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
35592 for waiting after a message is printed.
35593 * normal/main.c (read_config_file): Likewise.
35594 (grub_normal_init): Register grub_env_write_color_normal() and
35595 grub_env_write_color_highlight() hooks. Mark `color_normal' and
35596 `color_highlight' variables as global.
35597
35598 * normal/menu.c (grub_wait_after_message): New function.
35599 (grub_color_menu_normal): New variable. Replaces ...
35600 (GRUB_COLOR_MENU_NORMAL): ... this macro.
35601 (grub_color_menu_highlight): New variable. Replaces ...
35602 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
35603 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
35604 `GRUB_TERM_COLOR_STANDARD'.
35605 (print_message): Use `grub_setcolorstate' to reload colors. Rename
35606 `normal_code' and `highlight_code' to `old_color_normal' and
35607 `old_color_highlight', respectively.
35608 (grub_menu_init_page): Update colors when drawing the menu, based on
35609 `menu_color_normal' and `menu_color_highlight' variables.
35610 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
35611 a message is printed.
35612
182dd4e5 356132008-01-05 Robert Millan <rmh@aybabtu.com>
35614
35615 * kern/env.c (grub_env_context_open): Propagate hooks for global
35616 variables to new context.
35617
35618 * kern/main.c (grub_set_root_dev): Export `root' variable.
35619
ddf8f6ad 356202008-01-05 Robert Millan <rmh@aybabtu.com>
35621
35622 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 35623 discs unconditionally, since udev and others have options to provide
ddf8f6ad 35624 them.
35625
d8b43d9b 356262008-01-05 Robert Millan <rmh@aybabtu.com>
35627
35628 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
35629
2bff2de3 356302008-01-04 Christian Franke <franke@computer.org>
35631
35632 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
35633 of eisa_mmap.
35634
97eab917 356352008-01-03 Pavel Roskin <proski@gnu.org>
35636
35637 * kern/i386/linuxbios/init.c: Put "void" to all function
35638 declarations with no arguments.
35639 * kern/powerpc/ieee1275/init.c: Likewise.
35640 * term/i386/pc/at_keyboard.c: Likewise.
35641 * term/i386/pc/vga_text.c: Likewise.
35642 * util/grub-mkdevicemap.c: Likewise.
35643
b9416d00 356442008-01-02 Robert Millan <rmh@aybabtu.com>
35645
35646 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
35647 message when loaded image is out of bounds.
35648 (grub_multiboot_load_elf64): Likewise.
35649
92695df9 356502008-01-02 Pavel Roskin <proski@gnu.org>
35651
35652 * util/grub.d/10_linux.in: Try version without ".old" when
35653 looking for initrd. It's better to use initrd from the newer
35654 kernel of the same version than no initrd at all.
35655
d98d9cad 356562008-01-01 Robert Millan <rmh@aybabtu.com>
35657
35658 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
35659
dbfdce36 356602008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
35661
f19dbdb7 35662 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 35663 grub_video_get_active_render_target.
35664 (grub_video_adapter): Added unmap_color and get_active_render_target.
35665
f19dbdb7 35666 * video/video.c: Added grub_video_unmap_color and
dbfdce36 35667 grub_video_get_active_render_target.
35668 (grub_video_get_info): Changed method to accept NULL pointer as an
35669 argument to allow detection of active video adapter.
35670
35671 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
35672 grub_video_vbe_unmap_color_int.
35673 Added grub_video_vbe_unmap_color and
35674 grub_video_vbe_get_active_render_target.
35675 (grub_video_vbe_adapter): Added unmap_color and
35676 get_active_render_target.
35677
f19dbdb7 35678 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 35679 with grub_video_vbe_unmap_color_int.
35680
35681 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
35682 (DEFAULT_NORMAL_COLOR): Likewise.
35683 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
35684 (DEFAULT_FG_COLOR): Removed.
35685 (DEFAULT_BG_COLOR): Likewise.
35686 (DEFAULT_CURSOR_COLOR): Changed value.
35687 (grub_virtual_screen): Added standard_color_setting,
35688 normal_color_setting, highlight_color_setting and term_color.
35689 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
35690 (bitmap_width): Added.
35691 (bitmap_height): Likewise.
35692 (bitmap): Likewise.
35693 (set_term_color): Likewise.
35694 (grub_virtual_screen_setup): Changed to use new terminal coloring
35695 settings.
35696 (grub_gfxterm_init): Added init for bitmap.
35697 (grub_gfxterm_fini): Added destroy for bitmap.
35698 (redraw_screen_rect): Updated to use background bitmap and new
35699 terminal coloring.
35700 (scroll_up): Added optimization for case when there is no bitmap.
35701 (grub_gfxterm_cls): Fixed to use correct background color.
35702 (grub_virtual_screen_setcolorstate): Changed to use new terminal
35703 coloring.
35704 (grub_virtual_screen_setcolor): Likewise.
35705 (grub_virtual_screen_getcolor): Added.
35706 (grub_gfxterm_background_image_cmd): Likewise.
35707 (grub_video_term): Added setcolor and getcolor.
35708 (MOD_INIT): Added registration of background_image command.
35709 (MOD_TERM): Added unregistration for background_image command.
35710
c3c20931 357112007-12-30 Pavel Roskin <proski@gnu.org>
35712
35713 * loader/multiboot_loader.c: Fix multiboot command
35714 unregistration. Fix all typos in the word "multiboot".
35715
df266716 357162007-12-29 Pavel Roskin <proski@gnu.org>
94239199 35717
35718 * util/grub.d/10_linux.in: Refactor search for initrd. Add
35719 support for initrd names used in Fedora.
35720
fc6e896c 357212007-12-26 Bean <bean123ch@gmail.com>
35722
35723 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
35724 (cpio_mod_SOURCES): New variable.
35725 (cpio_mod_CFLAGS): Likewise.
35726 (cpio_mod_LDFLAGS): Likewise.
35727
35728 * fs/cpio.c: New file.
35729
35730 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
35731
35732 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35733
35734 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35735
35736 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35737
533110ad 357382007-12-25 Robert Millan <rmh@aybabtu.com>
35739
35740 * include/grub/term.h (struct grub_term): Add `getcolor' function.
35741 (grub_getcolor): New function.
35742
35743 * kern/term.c (grub_getcolor): New function.
35744 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
35745 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
35746 (print_entry): Set normal and highlight colors to
35747 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
35748 respectively, before printing and restore them to old
35749 values afterwards.
35750 (grub_menu_init_page): Likewise. Fill an additional colored space
35751 that would otherwise be left blank.
35752
35753 * term/efi/console.c (grub_console_getcolor): New function.
35754 (struct grub_console_term.getcolor): New variable.
35755 * term/i386/pc/console.c (grub_console_getcolor): New function.
35756 (struct grub_console_term.getcolor): New variable.
35757 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
35758 (struct grub_console_term.getcolor): New variable.
35759
35760 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
35761 (struct grub_console_term.setcolor): Remove variable.
35762 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
35763 (struct grub_console_term.setcolor): Remove variable.
35764 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
35765 (struct grub_console_term.setcolor): Remove variable.
35766 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
35767 (struct grub_console_term.setcolor): Remove variable.
35768
4931827f 357692007-12-25 Robert Millan <rmh@aybabtu.com>
35770
35771 * configure.ac: Search for possible unifont.hex locations, and
35772 define UNIFONT_HEX if found.
35773
35774 * Makefile.in (UNIFONT_HEX): Define variable.
35775 (DATA): Rename to ...
35776 (PKGLIB): ... this. Update all users.
35777 (PKGDATA): New variable.
35778 (pkgdata_IMAGES): Rename to ...
35779 (pkglib_IMAGES): ... this. Update all users.
35780 (pkgdata_MODULES): Rename to ...
35781 (pkglib_MODULES): ... this. Update all users.
35782 (pkgdata_PROGRAMS): Rename to ...
35783 (pkglib_PROGRAMS): ... this. Update all users.
35784 (pkgdata_DATA): Rename to ...
35785 (pkglib_DATA): ... this. Update all users.
35786 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
35787 (unicode.pff, ascii.pff): New rules.
35788 (all-local): Add `$(PKGDATA)' dependency.
35789 (install-local): Process `$(PKGDATA)'.
35790
35791 * util/update-grub_lib.in (font_path): Search for *.pff files in
35792 a few more locations, including `${pkgdata}'.
35793
57e57e31 357942007-12-23 Robert Millan <rmh@aybabtu.com>
35795
35796 Patch from Bean <bean123ch@gmail.com>:
35797 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
35798 `size'.
35799
4bc72aa9 358002007-12-21 Bean <bean123ch@gmail.com>
35801
35802 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
35803 (ntfscomp_mod_SOURCES): New variable.
35804 (ntfscomp_mod_CFLAGS): Likewise.
35805 (ntfscomp_mod_LDFLAGS): Likewise.
35806
35807 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
35808 (grub_probe_SOURCES): Likewise.
35809 (grub_emu_SOURCES): Likewise.
35810
35811 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
35812 (grub_emu_SOURCES): Likewise.
35813
35814 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
35815 (grub_emu_SOURCES): Likewise.
35816
35817 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
35818 (grub_emu_SOURCES): Likewise.
35819
35820 * fs/ntfs.c (grub_ntfscomp_func): New variable.
35821 (read_run_list): Renamed to grub_ntfs_read_run_list.
35822 (decomp_nextvcn): Moved to ntfscomp.c.
35823 (decomp_getch): Likewise.
35824 (decomp_get16): Likewise.
35825 (decomp_block): Likewise.
35826 (read_block): Likewise.
35827 (read_data): Partially moved to ntfscomp.c.
35828 (fixup): Change unsigned to grub_uint16_t.
35829 (read_mft): Change unsigned long to grub_uint32_t.
35830 (read_attr): Likewise.
35831 (read_data): Likewise.
35832 (read_run_data): Likewise.
35833 (read_run_list): Likewise.
35834 (read_mft): Likewise.
35835
35836 * fs/ntfscomp.c: New file.
35837
35838 * include/grub/ntfs.h: New file.
35839
af680a87 358402007-12-16 Robert Millan <rmh@aybabtu.com>
35841
35842 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
35843 IDE disk check, since Linux is known to support 20 IDE disks.
35844 Reported by Colin Watson.
35845
84be7599 358462007-12-15 Bean <bean123ch@gmail.com>
35847
35848 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
35849 (lnxboot_img_SOURCES): New variable.
35850 (lnxboot_img_ASFLAGS): Likewise.
35851 (lnxboot_img_LDFLAGS): Likewise.
35852
35853 * boot/i386/pc/lnxboot.S: New file.
35854
6af9db01 358552007-11-24 Pavel Roskin <proski@gnu.org>
35856
35857 * configure.ac: Test if '--build-id=none' is supported by the
35858 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
35859 objcopy to generate incorrect binary files (binutils
35860 2.17.50.0.18-1 as shipped by Fedora 8).
35861 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
35862 linking, so that build ID doesn't break the test.
35863
7361cfe6 358642007-11-24 Pavel Roskin <proski@gnu.org>
35865
35866 * include/grub/i386/time.h: use "void" in the argument list
35867 of grub_cpu_idle().
35868 * include/grub/powerpc/time.h: Likewise.
35869 * include/grub/sparc64/time.h: Likewise.
35870
1593e10c 358712007-11-18 Christian Franke <franke@computer.org>
35872
35873 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
35874 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
35875 This fixes the problem that function keys did not work in grub-emu.
35876
3b8db1a8 358772007-11-18 Christian Franke <franke@computer.org>
35878
35879 * disk/host.c (grub_host_open): Remove attribute unused from
35880 name parameter. Add check for "host". This fixes the problem
35881 that grub-emu does not find partitions.
35882
2e29408d 358832007-11-18 Christian Franke <franke@computer.org>
35884
35885 * util/hostfs.c (is_dir): New function.
35886 (grub_hostfs_dir): Handle missing dirent.d_type case.
35887 (grub_hostfs_read): Add missing fseek().
35888 (grub_hostfs_label): Clear label pointer. This fixes a crash
35889 of grub-emu on "ls (host)".
35890
398cd047 358912007-11-18 Christian Franke <franke@computer.org>
35892
35893 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
35894 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
35895 to 64 bit boundary by default.
35896
c405c391 358972007-11-18 Bean <bean123ch@gmail.com>
35898
35899 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
35900 (hexdump_mod_SOURCES): New variable.
35901 (hexdump_mod_CFLAGS): Likewise.
35902 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 35903
c405c391 35904 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35905
35906 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35907
35908 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35909
35910 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35911
35912 * include/grub/hexdump.h: New file.
35913
35914 * commands/hexdump.c: New file.
35915
5cced7fd 359162007-11-10 Robert Millan <rmh@aybabtu.com>
35917
35918 * commands/i386/pc/play.c (beep_off): Switch order of arguments
35919 in grub_outb() calls.
35920 (beep_on): Likewise.
35921
8b714eb0 359222007-11-10 Christian Franke <franke@computer.org>
35923
35924 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
35925 (grub_menu_run): Likewise.
35926
ce0f1839 359272007-11-10 Robert Millan <rmh@aybabtu.com>
35928
35929 * include/grub/i386/efi/machine.h: New file.
35930 * include/grub/i386/linuxbios/machine.h: Likewise.
35931 * include/grub/i386/pc/machine.h: Likewise.
35932 * include/grub/powerpc/ieee1275/machine.h: Likewise.
35933 * include/grub/sparc64/ieee1275/machine.h: Likewise.
35934
35935 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
35936 (serial_hw_io_addr): New variable.
35937 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
35938 instead of `(unsigned short *) 0x400'.
35939
270c237d 359402007-11-10 Bean <bean123ch@gmail.com>
35941
35942 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
35943
a87783bf 359442007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
35945
35946 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
35947 (vga_mod_SOURCES): Added.
35948 (vga_mod_CFLAGS): Likewise.
35949 (vga_mod_LDFLAGS): Likewise.
35950
35951 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
35952 grub_outb() calls.
35953 (set_map_mask): Likewise.
35954 (set_read_map): Likewise.
35955 (set_read_address): Likewise.
35956 (vga_font): Removed variable.
35957 (get_vga_glyph): Removed function.
35958 (invalidate_char): Likewise.
35959 (write_char): Changed to use grub_font_get_glyph() for font
35960 information.
35961 (grub_vga_putchar): Likewise.
35962 (grub_vga_getcharwidth): Likewise.
35963
6433b448 359642007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
35965
35966 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
35967 flags.
35968 (pxeboot_img_LDFLAGS): Likewise.
35969 (diskboot_img_LDFLAGS): Likewise.
35970 (kernel_img_LDFLAGS): Likewise.
35971
49178511 359722007-11-06 Robert Millan <rmh@aybabtu.com>
35973
35974 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
35975 in grub_outb() calls.
35976 (serial_hw_init): Likewise.
35977
53b052de 359782007-11-05 Robert Millan <rmh@aybabtu.com>
35979
35980 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
35981 spaces. Skip non-regular files.
35982
5ab33bba 359832007-11-05 Robert Millan <rmh@aybabtu.com>
35984
35985 * kern/disk.c (grub_disk_firmware_fini)
35986 (grub_disk_firmware_is_tainted): New variables.
35987
35988 * include/grub/disk.h (grub_disk_firmware_fini)
35989 (grub_disk_firmware_is_tainted): Likewise.
35990
35991 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
35992 (grub_disk_biosdisk_fini): ... to here.
35993 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
35994 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
35995 is set. Register grub_disk_biosdisk_fini() in
35996 `grub_disk_firmware_fini'.
35997
35998 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
35999 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
36000 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
36001 to finish existing firmware disk interface.
36002
36003 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
36004 (ata_mod_SOURCES): New variable.
36005 (ata_mod_CFLAGS): Likewise.
36006 (ata_mod_LDFLAGS): Likewise.
36007
0149ab7c 360082007-11-05 Robert Millan <rmh@aybabtu.com>
36009
36010 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
36011 (grub_ata_wait): Reimplement using grub_millisleep().
36012
36013 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
36014 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
36015
be7ac41e 360162007-11-03 Marco Gerards <marco@gnu.org>
36017
36018 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
36019 (CRTC_ADDR_PORT): New macro.
36020 (CRTC_DATA_PORT): Likewise.
36021 (CRTC_CURSOR): Likewise.
36022 (CRTC_CURSOR_ADDR_HIGH): Likewise.
36023 (CRTC_CURSOR_ADDR_LOW): Likewise.
36024 (update_cursor): New function.
36025 (grub_console_real_putchar): Call `update_cursor'.
36026 (grub_console_gotoxy): Likewise.
36027 (grub_console_cls): Set the default color when clearing the
36028 screen.
36029 (grub_console_setcursor): Implemented.
36030
bb06ab2e 360312007-11-03 Marco Gerards <marco@gnu.org>
36032
36033 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
36034 become activate.
36035 (grub_ata_pio_write): Likewise.
36036
36037 (grub_atapi_identify): Wait after issuing an ATA command.
36038 (grub_atapi_packet): Likewise.
36039 (grub_ata_identify): Likewise.
36040 (grub_ata_readwrite): Likewise.
36041
cf8f780b 360422007-11-03 Marco Gerards <marco@gnu.org>
36043
36044 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
36045 (grub_ata_pio_write): Likewise.
36046 (grub_ata_readwrite): Use `grub_error', instead of
36047 returning `grub_errno'.
36048
ed649e54 360492007-11-03 Marco Gerards <marco@gnu.org>
36050
36051 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
36052 grub_ata_pio_write once for every single sector, instead of for
36053 multiple sectors.
36054
ca25d8f0 360552007-10-31 Robert Millan <rmh@aybabtu.com>
36056
36057 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
36058
36059 * conf/i386-linuxbios.rmk: New file.
36060
36061 * kern/i386/pc/hardware.c: Likewise.
36062 * term/i386/pc/at_keyboard.c: Likewise.
36063 * term/i386/pc/vga_text.c: Likewise.
36064
36065 * include/grub/i386/linuxbios/boot.h: Likewise.
36066 * include/grub/i386/linuxbios/console.h: Likewise.
36067 * include/grub/i386/linuxbios/init.h: Likewise.
36068 * include/grub/i386/linuxbios/kernel.h: Likewise.
36069 * include/grub/i386/linuxbios/loader.h: Likewise.
36070 * include/grub/i386/linuxbios/memory.h: Likewise.
36071 * include/grub/i386/linuxbios/serial.h: Likewise.
36072 * include/grub/i386/linuxbios/time.h: Likewise.
36073
36074 * kern/i386/linuxbios/init.c: Likewise.
36075 * kern/i386/linuxbios/startup.S: Likewise.
36076 * kern/i386/linuxbios/table.c: Likewise.
36077
e911ecc1 360782007-10-31 Marco Gerards <marco@gnu.org>
36079
36080 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
36081 (ata_mod_SOURCES): New variable.
36082 (ata_mod_CFLAGS): Likewise.
36083 (ata_mod_LDFLAGS): Likewise.
36084
36085 * disk/ata.c: New file.
36086
36087 * include/grub/disk.h (grub_disk_dev_id): Add
36088 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 36089
7f66d0e0 360902007-10-31 Robert Millan <rmh@aybabtu.com>
36091
36092 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
36093 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
36094
36095 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
36096 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
36097
36098 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
36099 `<grub/types.h>'.
36100
36101 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
36102
5cd7dd46 361032007-10-27 Robert Millan <rmh@aybabtu.com>
36104
3236ca65 36105 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 36106
2ebfc90f 361072007-10-22 Robert Millan <rmh@aybabtu.com>
36108
36109 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
36110 `"../realmode.S"'.
36111 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
36112
73fcb0f3 361132007-10-22 Robert Millan <rmh@aybabtu.com>
36114
36115 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
36116 (pkgdata_MODULES): Add `biosdisk.mod'.
36117 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
36118 variables.
36119
36120 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
36121 (grub_biosdisk_init): Replace with ...
36122 (GRUB_MOD_INIT(biosdisk)): ... this.
36123 (grub_biosdisk_fini): Replace with ...
36124 (GRUB_MOD_FINI(biosdisk)): ... this.
36125
36126 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
36127 (grub_machine_init): Remove call to grub_biosdisk_init().
36128 (grub_machine_fini): Remove call to grub_machine_fini().
36129
36130 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
36131
3381d274 361322007-10-22 Robert Millan <rmh@aybabtu.com>
36133
36134 * include/grub/time.h: New file.
36135 * include/grub/i386/time.h: Likewise.
36136 * include/grub/powerpc/time.h: Likewise.
36137 * include/grub/sparc64/time.h: Likewise.
36138
36139 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
36140 instances to ...
36141 (KERNEL_MACHINE_TIME_HEADER): ... this.
36142 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36143 instances to ...
36144 (KERNEL_MACHINE_TIME_HEADER): ... this.
36145 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36146 instances to ...
36147 (KERNEL_MACHINE_TIME_HEADER): ... this.
36148
36149 * kern/i386/efi/init.c: Include `<grub/time.h>'.
36150 (grub_millisleep): New function.
36151 * kern/i386/pc/init.c: Include `<grub/time.h>'.
36152 (grub_millisleep): New function.
36153 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
36154 Remove `grub/machine/time.h' include.
36155 (grub_millisleep): New function.
36156 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
36157 Remove `grub/machine/time.h' include.
36158 (grub_millisleep): New function.
36159
36160 * include/grub/misc.h (grub_div_roundup): New function.
36161
36162 * kern/misc.c: Include `<grub/time.h>'.
36163 (grub_millisleep_generic): New function.
36164
36165 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
36166 Add `time.h'.
36167 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
36168 Add `time.h'.
36169 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
36170 `machine/time.h'. Add `time.h'.
36171 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36172
a39a0312 361732007-10-21 Robert Millan <rmh@aybabtu.com>
36174
36175 * include/grub/misc.h (grub_max): New function.
36176
2aad70e2 361772007-10-21 Robert Millan <rmh@aybabtu.com>
36178
36179 * util/misc.c (grub_util_info): Call fflush() before returning.
36180
54b71c4b 361812007-10-20 Robert Millan <rmh@aybabtu.com>
36182
36183 * genmk.rb (Image): Copy `extra_flags' from here ...
36184 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
36185
36186 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
36187 to `argc' and `args' arguments.
36188
a979f513 361892007-10-17 Robert Millan <rmh@aybabtu.com>
36190
36191 * kern/i386/loader.S: New file.
36192
36193 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
36194 * kern/i386/loader.S (grub_linux_prot_size)... to here.
36195 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
36196 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
36197 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
36198 * kern/i386/loader.S (grub_linux_real_addr)... to here.
36199 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
36200 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
36201 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
36202 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
36203 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
36204 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
36205 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
36206 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
36207
36208 * kern/i386/realmode.S: New file.
36209
36210 * kern/i386/pc/startup.S (protstack): Moved from here ...
36211 * kern/i386/realmode.S (protstack)... to here.
36212 * kern/i386/pc/startup.S (gdt): Moved from here ...
36213 * kern/i386/realmode.S (gdt)... to here.
36214 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
36215 * kern/i386/realmode.S (prot_to_real)... to here.
36216
36217 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
36218 `kern/i386/realmode.S'.
36219
825fc8fd 362202007-10-17 Robert Millan <rmh@aybabtu.com>
36221
36222 * include/grub/i386/loader.h: New file.
36223
36224 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
36225 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
36226 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
36227 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
36228 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
36229 * include/grub/i386/loader.h (grub_linux_prot_size)
36230 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
36231 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
36232 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
36233 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
36234
36235 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
36236
e179b2f4 362372007-10-15 Robert Millan <rmh@aybabtu.com>
36238
36239 * normal/misc.c (grub_normal_print_device_info): Do not probe for
36240 filesystem when dev->disk is unset.
36241 Do probe for filesystem even when dev->disk->has_partitions is set.
36242 In case a filesystem is found, always report it.
36243 In case it isn't, if dev->disk->has_partitions is set, report that
36244 a partition table was found instead of reporting that no filesystem
36245 could be identified.
36246
5db82af6 362472007-10-12 Robert Millan <rmh@aybabtu.com>
36248
36249 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
36250 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
36251
68f6ac74 36252 * include/grub/types.h (grub_host_to_target16): New macro.
36253 (grub_host_to_target32): Likewise.
36254 (grub_host_to_target64): Likewise.
36255 (grub_target_to_host16): Likewise.
36256 (grub_target_to_host32): Likewise.
36257 (grub_target_to_host64): Likewise.
5db82af6 36258
36259 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
36260 Renamed from to ...
36261 (GRUB_MOD_ALIGN): ...this. Update all users.
36262
68f6ac74 36263 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
36264 grub_host_to_target32.
36265 Replace grub_be_to_cpu32 with grub_target_to_host32.
36266 (load_modules): Likewise.
36267 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
36268 Replace grub_be_to_cpu32 with grub_target_to_host32.
36269 Replace grub_cpu_to_be16 with grub_host_to_target16.
36270 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 36271
3cf497cc 362722007-10-12 Robert Millan <rmh@aybabtu.com>
36273
36274 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
36275 * util/elf/grub-mkimage.c: ... here.
36276
36277 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
36278 `util/powerpc/ieee1275/grub-mkimage.c'.
36279
c8cc3692 362802007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 36281
c8cc3692 36282 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
36283 and make it easier to figure out.
36284 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
36285 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
36286 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
36287 leave us with less than HEAP_MIN_SIZE total heap.
36288 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 36289
5c58b791 362902007-10-03 Robert Millan <rmh@aybabtu.com>
36291
36292 * include/grub/i386/io.h: New file.
36293 * commands/i386/pc/play.c (inb): Removed.
36294 (outb): Removed.
36295 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36296 with grub_outb().
afcd2ef8 36297 * term/i386/pc/serial.c (inb): Removed.
36298 (outb): Removed.
36299 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36300 with grub_outb().
36301 * term/i386/pc/vga.c (inb): Removed.
36302 (outb): Removed.
36303 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36304 with grub_outb().
5c58b791 36305
1a477ed6 363062007-10-02 Robert Millan <rmh@aybabtu.com>
36307
36308 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
36309 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36310 Reported by Marcin Kurek.
36311
6b5d80fa 363122007-09-07 Robert Millan <rmh@aybabtu.com>
36313
36314 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
36315 SmartFirmware version updates (as released by Sven Luther), and avoid
36316 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
36317 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
36318 known broken.
36319
5618afbf 363202007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36321
36322 From Hitoshi Ozeki:
36323 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
36324 when merging two regions.
36325
6139dcd9 363262007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36327
508e39ee 36328 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
36329 * normal/completion.c (grub_normal_do_completion): Likewise.
36330 Reported by Hitoshi Ozeki.
36331
363322007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36333
6139dcd9 36334 Do not use devices at boot in chainloading.
f19dbdb7 36335
6139dcd9 36336 * loader/i386/pc/chainloader.c (boot_drive): New variable.
36337 (boot_part_addr): Likewise.
36338 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
36339 with BOOT_DRIVE and BOOT_PART_ADDR.
36340 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
36341 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
36342
38da6516 363432007-08-29 Robert Millan <rmh@aybabtu.com>
36344
36345 Patch from Simon Peter <dn.tlp@gmx.net>:
36346 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
36347 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
36348 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
36349 util/i386/pc/grub-setup.c_DEPENDENCIES.
36350 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
36351 util/grub-probe.c_DEPENDENCIES.
36352 * conf/powerpc-ieee1275.rmk: Likewise.
36353
29d0928c 363542007-08-28 Robert Millan <rmh@aybabtu.com>
36355
36356 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
36357 to tell grub-mkdevicemap how to name devices.
36358 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
36359 feature).
36360
36361 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
36362 util/i386/get_disk_name.c.
36363 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
36364 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
36365 util/ieee1275/get_disk_name.c.
36366
36367 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
36368
36369 * DISTLIST: Add util/i386/get_disk_name.c and
36370 util/ieee1275/get_disk_name.c.
36371
36372 * util/grub-mkdevicemap.c: Replace device naming logic with
36373 grub_util_get_disk_name() calls.
36374
5a0d3cca 363752007-08-20 Robert Millan <rmh@aybabtu.com>
36376
36377 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
36378 (so that it works for both plural and singular quantities).
36379
8b72db2f 363802007-08-05 Robert Millan <rmh@aybabtu.com>
36381
36382 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
36383 so that [xz] isn't taken into account when determining order.
36384
352466bf 363852007-08-02 Marco Gerards <marco@gnu.org>
36386
36387 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
36388 `include/multiboot2.h', `include/grub/elfload.h',
36389 `include/multiboot.h', `include/grub/multiboot.h',
36390 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
36391 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
36392 `kern/elf.c', `loader/multiboot_loader.c',
36393 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
36394 `loader/i386/pc/multiboot2.c',
36395 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
36396 `util/i386/pc/grub-mkrescue.in'. Remove
36397 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
36398 `include/grub/i386/pc/util/biosdisk.h' and
36399 `include/grub/powerpc/ieee1275/multiboot.h'.
36400
8f096014 364012007-08-02 Bean <bean123ch@gmail.com>
36402
36403 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
36404 (ntfs_mod_SOURCES): New variable.
36405 (ntfs_mod_CFLAGS): Likewise.
36406 (ntfs_mod_LDFLAGS): Likewise.
36407
36408 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
36409 (grub_probe_SOURCES): Likewise.
36410 (grub_emu_SOURCES): Likewise.
36411
36412 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
36413 (grub_emu_SOURCES): Likewise.
36414
36415 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
36416 (grub_emu_SOURCES): Likewise.
f19dbdb7 36417
8f096014 36418 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
36419
36420 * fs/ntfs.c: New file.
36421
9959f7db 364222007-08-02 Bean <bean123ch@gmail.com>
36423
36424 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
36425
36426 * file.h (grub_file): Likewise.
36427
36428 * fshelp.h (grub_fshelp_read_file): Likewise.
36429
36430 * util/i386/pc/grub-setup.c (setup): Likewise.
36431 (save_first_sector): Likewise.
36432 (save_blocklists): Likewise.
f19dbdb7 36433
9959f7db 36434 * fs/affs.c (grub_affs_read_file): Likewise.
36435
36436 * fs/ext2.c (grub_ext2_read_file): Likewise.
36437
36438 * fs/fat.c (grub_fat_read_data): Likewise.
36439
36440 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
36441
36442 * fs/hfs.c (grub_hfs_read_file): Likewise.
36443
36444 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
36445
36446 * fs/jfs.c (grub_jfs_read_file): Likewise.
36447
36448 * fs/minix.c (grub_minix_read_file): Likewise.
36449
36450 * fs/sfs.c (grub_sfs_read_file): Likewise.
36451
36452 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 36453
9959f7db 36454 * fs/xfs.c (grub_xfs_read_file): Likewise.
36455
36456 * command/blocklist.c (read_blocklist): Likewise.
36457 (print_blocklist): Likewise.
36458
0a203f83 364592007-08-02 Marco Gerards <marco@gnu.org>
36460
36461 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
36462 `util/hostfs.c'.
36463
36464 * disk/host.c: New file.
36465
36466 * util/hostfs.c: Likewise.
36467
36468 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
36469 return `GRUB_ERR_BAD_FS'.
36470 * fs/sfs.c (grub_sfs_mount): Likewise.
36471 * fs/xfs.c (grub_xfs_mount): Likewise.
36472
36473 * include/grub/disk.h (enum grub_disk_dev_id): Add
36474 `GRUB_DISK_DEVICE_HOST_ID'.
36475
36476 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
36477
e5dfe777 364782007-07-24 Jerone Young <jerone@gmail.com>
36479
f19dbdb7 36480 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 36481 modules for compilation.
36482 * conf/powerpc-ieee1275.rmk: Likewise.
36483
36484 * include/multiboot.h: Move multiboot definitions to one file. Rename
36485 many definitions to not get grub specific.
36486 * include/multiboot2.h: Create header with multiboot 2 definitions.
36487 * include/grub/multiboot.h: Header for grub specific function
36488 prototypes and definitions.
36489 * include/grub/multiboot2.h: Likewise.
36490 * include/grub/multiboot_loader.h: Likewise.
36491 * include/grub/i386/pc/multiboot.h: Removed.
36492 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
36493
36494 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
36495 and 2 to allow for one multiboot and module commands.
36496 * loader/multiboot2.c: Add multiboot2 functionality.
36497 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
36498 and definition names.
36499 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
36500 2 functions.
36501 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
36502 ieee1275 specific multiboot2 code.
36503
36504 * kern/i386/pc/startup.S: Change headers and definition names for
36505 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
36506
daf0f0ba 365072007-07-22 Robert Millan <rmh@aybabtu.com>
36508
36509 * geninitheader.sh: Process file specified in first parameter rather
36510 than hardcoding grub_modules_init.lst.
fe6b695a 36511 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 36512 than hardcoding grub_modules_init.h.
36513
36514 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
36515 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
36516 grub_probe_init.[ch] and grub_setup_init.[ch].
36517
36518 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
36519 grub_modules_init.h with grub_emu_init.h.
36520 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
36521 grub_probe_init.[ch] files.
36522 * conf/i386-efi.rmk: Likewise.
36523 * conf/i386-pc.rmk: Likewise.
36524 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
36525 grub_setup_init.[ch] files.
36526
36527 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
36528 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
36529 to initialize modules rather than a list of hardcoded functions.
36530 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
36531 grub_init_all() to initialize modules rather than a list of hardcoded
36532 functions.
36533
54cdc1cc 365342007-07-22 Robert Millan <rmh@aybabtu.com>
36535
36536 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
36537 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
36538
ad0686cc 365392007-07-22 Robert Millan <rmh@aybabtu.com>
36540
36541 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
36542 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
36543 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
36544 flag when running on SmartFirmware.
36545 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
36546 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
36547 was set.
36548
36549 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
36550 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
36551 rather than decreasing it.
36552
36553 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
36554 there's not enough space to do it, fail in the same way as when it
36555 can't be done because there are no partitions.
36556
36557 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
36558 when nvsetenv failed.
36559
969c02ec 365602007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
36561
36562 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
36563 because this rule is automatically generated.
36564 (grub-mkrescue): Removed for the same reason as above.
36565
5a79f472 365662007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
36567
36568 Migrate to GNU General Public License Version 3.
f19dbdb7 36569
5a79f472 36570 * COPYING: Replaced with the plain text version of GPLv3.
36571
36572 * config.guess: Updated from gnulib.
36573 * config.sub: Likewise.
36574
36575 * geninit.sh: Output a GPLv3 copyright notice.
36576 * geninitheader.sh: Likewise.
36577 * genmodsrc.sh: Likewise.
36578 * gensymlist.sh.in: Likewise.
36579
36580 * boot/i386/pc/boot.S: Upgraded to GPLv3.
36581 * boot/i386/pc/diskboot.S: Likewise.
36582 * boot/i386/pc/pxeboot.S: Likewise.
36583 * commands/blocklist.c: Likewise.
36584 * commands/boot.c: Likewise.
36585 * commands/cat.c: Likewise.
36586 * commands/cmp.c: Likewise.
36587 * commands/configfile.c: Likewise.
36588 * commands/echo.c: Likewise.
36589 * commands/help.c: Likewise.
36590 * commands/ls.c: Likewise.
36591 * commands/search.c: Likewise.
36592 * commands/terminal.c: Likewise.
36593 * commands/test.c: Likewise.
36594 * commands/videotest.c: Likewise.
36595 * commands/i386/cpuid.c: Likewise.
36596 * commands/i386/pc/halt.c: Likewise.
36597 * commands/i386/pc/play.c: Likewise.
36598 * commands/i386/pc/reboot.c: Likewise.
36599 * commands/i386/pc/vbeinfo.c: Likewise.
36600 * commands/i386/pc/vbetest.c: Likewise.
36601 * commands/ieee1275/halt.c: Likewise.
36602 * commands/ieee1275/reboot.c: Likewise.
36603 * commands/ieee1275/suspend.c: Likewise.
36604 * disk/loopback.c: Likewise.
36605 * disk/lvm.c: Likewise.
36606 * disk/raid.c: Likewise.
36607 * disk/efi/efidisk.c: Likewise.
36608 * disk/i386/pc/biosdisk.c: Likewise.
36609 * disk/ieee1275/ofdisk.c: Likewise.
36610 * font/manager.c: Likewise.
36611 * fs/affs.c: Likewise.
36612 * fs/ext2.c: Likewise.
36613 * fs/fat.c: Likewise.
36614 * fs/fshelp.c: Likewise.
36615 * fs/hfs.c: Likewise.
36616 * fs/hfsplus.c: Likewise.
36617 * fs/iso9660.c: Likewise.
36618 * fs/jfs.c: Likewise.
36619 * fs/minix.c: Likewise.
36620 * fs/sfs.c: Likewise.
36621 * fs/ufs.c: Likewise.
36622 * fs/xfs.c: Likewise.
36623 * hello/hello.c: Likewise.
36624 * include/grub/acorn_filecore.h: Likewise.
36625 * include/grub/arg.h: Likewise.
36626 * include/grub/bitmap.h: Likewise.
36627 * include/grub/boot.h: Likewise.
36628 * include/grub/cache.h: Likewise.
36629 * include/grub/device.h: Likewise.
36630 * include/grub/disk.h: Likewise.
36631 * include/grub/dl.h: Likewise.
36632 * include/grub/elfload.h: Likewise.
36633 * include/grub/env.h: Likewise.
36634 * include/grub/err.h: Likewise.
36635 * include/grub/file.h: Likewise.
36636 * include/grub/font.h: Likewise.
36637 * include/grub/fs.h: Likewise.
36638 * include/grub/fshelp.h: Likewise.
36639 * include/grub/gzio.h: Likewise.
36640 * include/grub/hfs.h: Likewise.
36641 * include/grub/kernel.h: Likewise.
36642 * include/grub/loader.h: Likewise.
36643 * include/grub/lvm.h: Likewise.
36644 * include/grub/misc.h: Likewise.
36645 * include/grub/mm.h: Likewise.
36646 * include/grub/net.h: Likewise.
36647 * include/grub/normal.h: Likewise.
36648 * include/grub/parser.h: Likewise.
36649 * include/grub/partition.h: Likewise.
36650 * include/grub/pc_partition.h: Likewise.
36651 * include/grub/raid.h: Likewise.
36652 * include/grub/rescue.h: Likewise.
36653 * include/grub/script.h: Likewise.
36654 * include/grub/setjmp.h: Likewise.
36655 * include/grub/symbol.h: Likewise.
36656 * include/grub/term.h: Likewise.
36657 * include/grub/terminfo.h: Likewise.
36658 * include/grub/tparm.h: Likewise.
36659 * include/grub/types.h: Likewise.
36660 * include/grub/video.h: Likewise.
36661 * include/grub/efi/api.h: Likewise.
36662 * include/grub/efi/chainloader.h: Likewise.
36663 * include/grub/efi/console.h: Likewise.
36664 * include/grub/efi/console_control.h: Likewise.
36665 * include/grub/efi/disk.h: Likewise.
36666 * include/grub/efi/efi.h: Likewise.
36667 * include/grub/efi/pe32.h: Likewise.
36668 * include/grub/efi/time.h: Likewise.
36669 * include/grub/i386/linux.h: Likewise.
36670 * include/grub/i386/setjmp.h: Likewise.
36671 * include/grub/i386/types.h: Likewise.
36672 * include/grub/i386/efi/kernel.h: Likewise.
36673 * include/grub/i386/efi/loader.h: Likewise.
36674 * include/grub/i386/efi/time.h: Likewise.
36675 * include/grub/i386/pc/biosdisk.h: Likewise.
36676 * include/grub/i386/pc/boot.h: Likewise.
36677 * include/grub/i386/pc/chainloader.h: Likewise.
36678 * include/grub/i386/pc/console.h: Likewise.
36679 * include/grub/i386/pc/init.h: Likewise.
36680 * include/grub/i386/pc/kernel.h: Likewise.
36681 * include/grub/i386/pc/loader.h: Likewise.
36682 * include/grub/i386/pc/memory.h: Likewise.
36683 * include/grub/i386/pc/multiboot.h: Likewise.
36684 * include/grub/i386/pc/serial.h: Likewise.
36685 * include/grub/i386/pc/time.h: Likewise.
36686 * include/grub/i386/pc/vbe.h: Likewise.
36687 * include/grub/i386/pc/vbeblit.h: Likewise.
36688 * include/grub/i386/pc/vbefill.h: Likewise.
36689 * include/grub/i386/pc/vbeutil.h: Likewise.
36690 * include/grub/i386/pc/vga.h: Likewise.
36691 * include/grub/ieee1275/ieee1275.h: Likewise.
36692 * include/grub/ieee1275/ofdisk.h: Likewise.
36693 * include/grub/powerpc/libgcc.h: Likewise.
36694 * include/grub/powerpc/setjmp.h: Likewise.
36695 * include/grub/powerpc/types.h: Likewise.
36696 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
36697 * include/grub/powerpc/ieee1275/console.h: Likewise.
36698 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
36699 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
36700 * include/grub/powerpc/ieee1275/loader.h: Likewise.
36701 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
36702 * include/grub/powerpc/ieee1275/time.h: Likewise.
36703 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
36704 * include/grub/sparc64/libgcc.h: Likewise.
36705 * include/grub/sparc64/setjmp.h: Likewise.
36706 * include/grub/sparc64/types.h: Likewise.
36707 * include/grub/sparc64/ieee1275/console.h: Likewise.
36708 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
36709 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
36710 * include/grub/sparc64/ieee1275/time.h: Likewise.
36711 * include/grub/util/biosdisk.h: Likewise.
36712 * include/grub/util/getroot.h: Likewise.
36713 * include/grub/util/lvm.h: Likewise.
36714 * include/grub/util/misc.h: Likewise.
36715 * include/grub/util/raid.h: Likewise.
36716 * include/grub/util/resolve.h: Likewise.
36717 * io/gzio.c: Likewise.
36718 * kern/device.c: Likewise.
36719 * kern/disk.c: Likewise.
36720 * kern/dl.c: Likewise.
36721 * kern/elf.c: Likewise.
36722 * kern/env.c: Likewise.
36723 * kern/err.c: Likewise.
36724 * kern/file.c: Likewise.
36725 * kern/fs.c: Likewise.
36726 * kern/loader.c: Likewise.
36727 * kern/main.c: Likewise.
36728 * kern/misc.c: Likewise.
36729 * kern/mm.c: Likewise.
36730 * kern/parser.c: Likewise.
36731 * kern/partition.c: Likewise.
36732 * kern/rescue.c: Likewise.
36733 * kern/term.c: Likewise.
36734 * kern/efi/efi.c: Likewise.
36735 * kern/efi/init.c: Likewise.
36736 * kern/efi/mm.c: Likewise.
36737 * kern/i386/dl.c: Likewise.
36738 * kern/i386/efi/init.c: Likewise.
36739 * kern/i386/efi/startup.S: Likewise.
36740 * kern/i386/pc/init.c: Likewise.
36741 * kern/i386/pc/lzo1x.S: Likewise.
36742 * kern/i386/pc/startup.S: Likewise.
36743 * kern/ieee1275/ieee1275.c: Likewise.
36744 * kern/powerpc/cache.S: Likewise.
36745 * kern/powerpc/dl.c: Likewise.
36746 * kern/powerpc/ieee1275/cmain.c: Likewise.
36747 * kern/powerpc/ieee1275/crt0.S: Likewise.
36748 * kern/powerpc/ieee1275/init.c: Likewise.
36749 * kern/powerpc/ieee1275/openfw.c: Likewise.
36750 * kern/sparc64/cache.S: Likewise.
36751 * kern/sparc64/dl.c: Likewise.
36752 * kern/sparc64/ieee1275/init.c: Likewise.
36753 * kern/sparc64/ieee1275/openfw.c: Likewise.
36754 * loader/efi/chainloader.c: Likewise.
36755 * loader/efi/chainloader_normal.c: Likewise.
36756 * loader/i386/efi/linux.c: Likewise.
36757 * loader/i386/efi/linux_normal.c: Likewise.
36758 * loader/i386/pc/chainloader.c: Likewise.
36759 * loader/i386/pc/chainloader_normal.c: Likewise.
36760 * loader/i386/pc/linux.c: Likewise.
36761 * loader/i386/pc/linux_normal.c: Likewise.
36762 * loader/i386/pc/multiboot.c: Likewise.
36763 * loader/i386/pc/multiboot_normal.c: Likewise.
36764 * loader/powerpc/ieee1275/linux.c: Likewise.
36765 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36766 * normal/arg.c: Likewise.
36767 * normal/cmdline.c: Likewise.
36768 * normal/command.c: Likewise.
36769 * normal/completion.c: Likewise.
36770 * normal/execute.c: Likewise.
36771 * normal/function.c: Likewise.
36772 * normal/lexer.c: Likewise.
36773 * normal/main.c: Likewise.
36774 * normal/menu.c: Likewise.
36775 * normal/menu_entry.c: Likewise.
36776 * normal/misc.c: Likewise.
36777 * normal/parser.y: Likewise.
36778 * normal/script.c: Likewise.
36779 * normal/i386/setjmp.S: Likewise.
36780 * normal/powerpc/setjmp.S: Likewise.
36781 * normal/sparc64/setjmp.S: Likewise.
36782 * partmap/acorn.c: Likewise.
36783 * partmap/amiga.c: Likewise.
36784 * partmap/apple.c: Likewise.
36785 * partmap/gpt.c: Likewise.
36786 * partmap/pc.c: Likewise.
36787 * partmap/sun.c: Likewise.
36788 * term/gfxterm.c: Likewise.
36789 * term/terminfo.c: Likewise.
36790 * term/efi/console.c: Likewise.
36791 * term/i386/pc/console.c: Likewise.
36792 * term/i386/pc/serial.c: Likewise.
36793 * term/i386/pc/vesafb.c: Likewise.
36794 * term/i386/pc/vga.c: Likewise.
36795 * term/ieee1275/ofconsole.c: Likewise.
36796 * util/biosdisk.c: Likewise.
36797 * util/console.c: Likewise.
36798 * util/genmoddep.c: Likewise.
36799 * util/getroot.c: Likewise.
36800 * util/grub-emu.c: Likewise.
36801 * util/grub-mkdevicemap.c: Likewise.
36802 * util/grub-probe.c: Likewise.
36803 * util/lvm.c: Likewise.
36804 * util/misc.c: Likewise.
36805 * util/raid.c: Likewise.
36806 * util/resolve.c: Likewise.
36807 * util/update-grub.in: Likewise.
36808 * util/update-grub_lib.in: Likewise.
36809 * util/grub.d/00_header.in: Likewise.
36810 * util/grub.d/10_hurd.in: Likewise.
36811 * util/grub.d/10_linux.in: Likewise.
36812 * util/i386/efi/grub-install.in: Likewise.
36813 * util/i386/efi/grub-mkimage.c: Likewise.
36814 * util/i386/pc/grub-install.in: Likewise.
36815 * util/i386/pc/grub-mkimage.c: Likewise.
36816 * util/i386/pc/grub-mkrescue.in: Likewise.
36817 * util/i386/pc/grub-setup.c: Likewise.
36818 * util/i386/pc/misc.c: Likewise.
36819 * util/powerpc/ieee1275/grub-install.in: Likewise.
36820 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
36821 * util/powerpc/ieee1275/misc.c: Likewise.
36822 * video/bitmap.c: Likewise.
36823 * video/video.c: Likewise.
36824 * video/i386/pc/vbe.c: Likewise.
36825 * video/i386/pc/vbeblit.c: Likewise.
36826 * video/i386/pc/vbefill.c: Likewise.
36827 * video/i386/pc/vbeutil.c: Likewise.
36828 * video/readers/tga.c: Likewise.
36829
3572d015 368302007-07-02 Robert Millan <rmh@aybabtu.com>
36831
36832 * conf/i386-efi.rmk: Replace obsolete reference to
36833 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
36834 with util/getroot.c.
36835 * conf/powerpc-ieee1275.rmk: Likewise.
36836 * conf/sparc64-ieee1275.rmk: Likewise.
36837
36838 * util/grub-emu.c (main): Fix unchecked pointer handling.
36839
2c2a681b 368402007-07-02 Robert Millan <rmh@aybabtu.com>
36841
36842 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
36843 invocation to fail, in order to support partition-less media.
36844
36845 * util/i386/pc/grub-install.in: Likewise.
36846
36847 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
36848 which fs or partmap modules are needed (akin to its sister scripts).
36849
36850 Also use grub-probe to get rid of unportable /proc/mounts check.
36851
36852 Print the same informational message that the other scripts do, before
fe6b695a 36853 exiting.
2c2a681b 36854
6193defe 368552007-06-23 Robert Millan <rmh@aybabtu.com>
36856
fe6b695a 36857 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 36858 a font file can be found and, if so, echo the GRUB path to it.
36859
36860 * util/update-grub.in: Handle multiple terminals depending on user
36861 input, platform availability and font file presence. Propagate
36862 variables of our findings to /etc/grub.d/ children.
36863
36864 * util/grub.d/00_header.in: Handle multiple terminals, based on
36865 environment setup by update-grub.
36866
eface1dc 368672007-06-23 Robert Millan <rmh@aybabtu.com>
36868
ba50d28f 36869 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 36870
bf697e28 368712007-06-21 Robert Millan <rmh@aybabtu.com>
36872
36873 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
36874 indicate end of data section in kernel image.
36875 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
36876 GRUB_KERNEL_MACHINE_DATA_END.
36877
36878 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
36879 space for it.
36880 * kern/i386/efi/startup.S: Likewise.
36881
36882 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
36883 during image generation. Implement --prefix option to override this
36884 patch.
36885 * util/i386/efi/grub-mkimage.c: Likewise.
36886
36887 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
36888 code to make path relative to its root into a separate function.
36889
36890 * util/i386/pc/grub-install.in: Use newly provided
36891 make_system_path_relative_to_its_root() to convert ${grubdir}, then
36892 pass the result to grub-install --prefix.
36893
baa574b4 368942007-06-13 Robert Millan <rmh@aybabtu.com>
36895
36896 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
36897 DEFAULT_DEVICE_MAP.
36898 * util/grub-emu.c: Use above definitions from misc.h instead of
36899 defining them.
36900 * util/grub-mkdevicemap.c: Likewise.
36901 * util/i386/pc/grub-setup.c: Likewise.
36902 * util/grub-probe.c: Likewise.
36903 (probe): Abort with grub_util_error() when either
36904 grub_guess_root_device or grub_util_get_grub_dev fails.
36905
0215dcbf 369062007-06-12 Robert Millan <rmh@aybabtu.com>
36907
36908 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
36909 "pager" assignment.
36910 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
36911 "pcdata".
36912 * util/grub-probe.c (probe): Likewise for "drive_name".
36913
8af2ab7b 369142007-06-11 Robert Millan <rmh@aybabtu.com>
36915
36916 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
36917 not just the cdrom one.
36918
59d31694 369192007-06-11 Robert Millan <rmh@aybabtu.com>
36920
36921 * util/i386/pc/grub-mkrescue.in: Add "set -e".
36922 Add --pkglibdir=DIR option to override pkglibdir.
36923 Mention --image-type=TYPE in help output.
36924 Fix --grub-mkimage (it was a no-op).
fe6b695a 36925 Abort gracefully when no parameter is given.
59d31694 36926
7ee367e4 369272007-06-11 Robert Millan <rmh@aybabtu.com>
36928
36929 * util/i386/pc/grub-mkrescue.in: New file.
36930 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
36931 * Makefile.in: Handle bin_SCRIPTS.
36932
29b0ed46 369332007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
36934
36935 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
36936 list of video modes.
36937
c0f90770 369382007-06-06 Robert Millan <rmh@aybabtu.com>
36939
36940 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
36941 file doesn't exist, or if it is in a filesystem grub can't read.
36942
36943 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
36944 not abort if GRUB_DRIVE could not be defined. Rearrange generated
36945 header comment to fit in 80 columns when the variables are resolved.
36946
36947 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
36948 could be identified by update-grub. Remove redundant check for
fe6b695a 36949 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 36950 handles that).
36951
fb36dc26 369522007-06-04 Robert Millan <rmh@aybabtu.com>
36953
36954 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
36955
36956 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
36957
36958 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
36959
0c68c93e 369602007-06-04 Robert Millan <rmh@aybabtu.com>
36961
36962 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
36963
36964 * include/grub/partition.h: Declare grub_apple_partition_map_init and
36965 grub_apple_partition_map_fini.
36966
36967 * util/biosdisk.c
36968 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
36969 to access >2 TiB disks).
36970
36971 Print disk->total_sectors with %llu instead of %lu, since this
36972 variable is always 64-bit (prevents wrong disk size from being displayed
36973 on either >2 TiB disk or big-endian CPU).
36974
36975 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
36976 into a generic case that supports all (sane) partition maps.
36977
36978 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
36979 breaks big-endian.
36980
36981 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
36982 and grub_apple_partition_map_fini() after that.
36983
0f23eb74 369842007-06-01 Robert Millan <rmh@aybabtu.com>
36985
36986 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
36987
36988 * util/grub.d/00_header.in: Only enable gfxterm when
36989 convert_system_path_to_grub_path() succeeds.
36990
42c71976 369912007-05-20 Robert Millan <rmh@aybabtu.com>
36992
36993 * util/update-grub_lib.in: New file.
36994 * DISTLIST: Add update-grub_lib.in.
36995 * conf/common.rmk: Generate update-grub_lib and install it in
36996 $(lib_DATA).
36997 * Makefile.in: Add install routine for $(lib_DATA).
36998
36999 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
37000 function provided by update-grub_lib to support arbitrary paths of
37001 unifont.pff.
37002 * util/update-grub.in: Use convert_system_path_to_grub_path() to
37003 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
37004
5beb2291 370052007-05-19 Robert Millan <rmh@aybabtu.com>
37006
37007 * commands/i386/cpuid.c: New module.
37008 * DISTLIST: Add it.
37009 * conf/i386-efi.rmk: Enable cpuid.mod.
37010 * conf/i386-pc.rmk: Likewise.
37011
7262eca1 370122007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37013
37014 * kern/disk.c (grub_disk_read): Check return value of
37015 grub_realloc().
37016
260ba823 370172007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37018
37019 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
37020 arrays.
37021 * disk/raid.c (grub_raid_open): Likewise.
37022
1ecb6cf2 370232007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37024
37025 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
37026 stack instead of on the heap.
37027
37028 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
37029 before doing a read on it.
37030
37031 * configure.ac: Only use -fno-stack-protector for the target
37032 environment.
f19dbdb7 37033
21c8cbb1 370342007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37035
37036 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
37037 __attribute_ ((unused)) to mode_type argument.
37038
37039 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 37040
21c8cbb1 37041 * kern/misc.c (memcmp): Fix prototype.
37042
37043 * include/grub/partition.h [GRUB_UTIL]
37044 (grub_gpt_partition_map_init): Add prototype.
37045 (grub_gpt_partition_map_fini): Likewise.
37046
37047 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
37048 at the right place.
37049
37050 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
37051 (grub_fat_read_data): Likewise.
37052 (grub_fat_find_dir): Likewise.
37053
37054 * font/manager.c (find_glyph): Make table a const.
37055 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 37056
849d55d3 370572007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
37058
37059 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
37060 code, first search for device in /dev/mapper, then in /dev.
37061 (grub_util_get_grub_dev): New function.
37062 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
37063 prototype.
37064 * util/grub-probe.c (probe): Remove check for RAID, call
37065 grub_util_get_grub_dev() instead of
37066 grub_util_biosdisk_get_grub_dev().
37067 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
37068 grub_util_biosdisk_get_grub_dev().
37069 * util/i386/pc/grub-setup.c (main): Likewise.
37070
8fff7c2f 370712007-05-16 Robert Millan <rmh@aybabtu.com>
37072
37073 * DISTLIST: Update for the latest changes.
37074 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
37075 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
37076 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
37077 grub/util/biosdisk.h.
37078 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
37079 grub/util/biosdisk.h.
37080
48e12b52 370812007-05-16 Robert Millan <rmh@aybabtu.com>
37082
37083 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
37084
46b9d128 370852007-05-16 Robert Millan <rmh@aybabtu.com>
37086
37087 * util/i386/efi/grub-install.in: New.
37088 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
37089 newly added grub-install.
37090 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
37091 include.
37092 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
37093 grub/util/biosdisk.h.
37094 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
37095 grub/util/biosdisk.h.
37096
2d1a40a9 370972007-05-16 Robert Millan <rmh@aybabtu.com>
37098
37099 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
37100 * include/grub/util/biosdisk.h: ... here.
37101 * util/i386/pc/biosdisk.c: Moved to ...
37102 * util/biosdisk.c: ... here.
37103 * util/i386/pc/getroot.c: Moved to ...
37104 * util/getroot.c: ... here.
37105 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
37106 * util/grub-mkdevicemap.c: ... here.
37107 * util/i386/pc/grub-probe.c: Moved to ...
37108 * util/grub-probe.c: ... here.
37109
9e26e3bc 371102007-05-15 Robert Millan <rmh@aybabtu.com>
37111
37112 * util/update-grub.in: Remove duplicated line in grub.cfg header
37113 message.
37114
57f96397 371152007-05-13 Robert Millan <rmh@aybabtu.com>
37116
37117 * util/update-grub.in: Fix a few assumptions about the devices holding
37118 /, /boot and /boot/grub being the same.
37119 * util/grub.d/00_header.in: Likewise.
37120 * util/grub.d/10_hurd.in: Likewise.
37121 * util/grub.d/10_linux.in: Likewise.
37122
37123 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
37124 patterns. Use that to define the `.old' suffix as older than `'.
37125
37126 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
37127
37128 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
37129 the grub.cfg header message.
37130
2e610d62 371312007-05-11 Robert Millan <rmh@aybabtu.com>
37132
37133 * util/update-grub.in: Create device.map if it doesn't already exist,
37134 before attempting to run grub-probe.
37135 Check for grub-probe and grub-mkdevicemap with the same code
37136 grub-install is using.
37137 Remove test mode.
37138
3f6a10ef 371392007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
37140
37141 * Makefile.in: Add the datarootdir autoconf variable.
37142
02e7b75e 371432007-05-09 Robert Millan <rmh@aybabtu.com>
37144
37145 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 37146 fail gracefully if dev->disk->partition == NULL.
02e7b75e 37147
75f396cc 371482007-05-07 Robert Millan <rmh@aybabtu.com>
37149
37150 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
37151 determine partition map module.
37152 * util/i386/pc/grub-install.in: Use this feature to decide which
37153 partition module to load, instead of hardcoding pc and gpt.
37154
da65cb36 371552007-05-07 Robert Millan <rmh@aybabtu.com>
37156
37157 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
37158 source directory differs from build directory.
37159
b57d6a91 371602007-05-05 Robert Millan <rmh@aybabtu.com>
37161
37162 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
37163 initialisation.
37164
509d00f1 371652007-05-05 Robert Millan <rmh@aybabtu.com>
37166
37167 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
37168
c48f23ef 371692007-05-05 Robert Millan <rmh@aybabtu.com>
37170
37171 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
37172 command-line arguments via ${GRUB_CMDLINE_LINUX}.
37173
20b97658 371742007-05-05 Robert Millan <rmh@aybabtu.com>
37175
37176 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
37177 (grub_probe_SOURCES): Likewise.
37178 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
37179 GPT and initialize dos_part and bsd_part accordingly.
37180 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
37181 install_bsd_part.
37182 (main): Activate gpt module for use during partition identification,
37183 and deactivate it afterwards.
37184 * util/i386/pc/grub-install.in: Add gpt module to core.img.
37185 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
37186 partition identification, and deactivate it afterwards.
37187
99123174 371882007-05-05 Robert Millan <rmh@aybabtu.com>
37189
37190 * term/i386/pc/console.c (grub_console_fini): Call
37191 grub_term_set_current() before grub_term_unregister().
37192
ebd97f6e 371932007-05-04 Robert Millan <rmh@aybabtu.com>
37194
37195 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
37196 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
37197 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
37198 and update-grub_DATA.
37199 * conf/common.rmk: Build and install update-grub components.
37200 * conf/common.mk: Regenerate.
37201 * util/update-grub.in: New. Core of update-grub.
37202 * util/grub.d/00_header.in: New. Generates grub.cfg header.
37203 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
37204 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
37205 * util/grub.d/README: New. Document grub.d directory layout.
37206
b06a264d 372072007-05-01 Robert Millan <rmh@aybabtu.com>
37208
37209 * util/grub-emu.c: Move initialization functions
37210 grub_util_biosdisk_init() and grub_init_all() before
37211 grub_util_biosdisk_get_grub_dev(), which relies on them.
37212
41f0050e 372132007-04-19 Robert Millan <rmh@aybabtu.com>
37214
37215 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
37216 it is used later.
37217
04582bb3 372182007-04-18 Jerone Young <jerone@gmail.com>
37219
f19dbdb7 37220 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 37221 stanza.
37222
08db4632 372232007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 37224
08db4632 37225 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
37226 continue on and look for device node with real device name.
37227
801b76be 372282007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 37229
fe6b695a 37230 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 37231 ability.
37232 * Makefile.in: Add autoconf package transformation code.
37233 * util/i386/pc/grub-install.in: Likewise.
37234 * util/powerpc/ieee1275/grub-install.in: Likewise.
37235
6795c4e1 372362007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
37237
37238 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
37239 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
37240 (EXT2_REVISION): Likewise.
37241 (EXT2_INODE_SIZE): Likewise.
37242 (struct grub_ext2_block_group): Added a missing member
37243 "used_dirs".
37244 (grub_ext2_read_inode): Divide by the inode size in a superblock
37245 instead of 128 to obtain INODES_PER_BLOCK.
37246 Use the macro EXT2_INODE_SIZE instead of directly using
37247 SBLOCK->INODE_SIZE.
37248
d70af616 372492007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
37250
37251 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
37252 superblock instead of the structure size to compute an
37253 offset. This fixes the problem that GRUB could not read a
37254 filesystem when inode size is different from 128-byte.
37255
3b801603 372562007-03-05 Marco Gerards <marco@gnu.org>
37257
37258 * normal/main.c (read_config_file): When "menu" is not set, create
37259 an initial context.
37260
4785bfe4 372612007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37262
37263 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
37264 (HEAP_LIMIT): New macro.
37265 (grub_claim_heap): Claim memory up to `heaplimit'.
37266
a0cbb023 372672007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37268
37269 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
37270 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
37271 (_start): Likewise.
37272 (grub_arch_modules_addr): Return address after `_end'.
37273 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
37274 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
37275 (add_segments): Calculate `_end' from phdr size and location.
37276 (ALIGN_UP): Moved to ...
37277 * include/grub/misc.h: here.
37278 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
37279 New macro.
37280 (GRUB_IEEE1275_MODULE_BASE): Removed.
37281
fd7d8eba 372822007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37283
37284 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
37285 loop boundary.
37286
9b09e6fc 372872007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37288
37289 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
37290 All users updated.
37291 (grub_elf64_load_hook_t): Likewise.
37292 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
37293 debug output.
37294
3ce27299 372952007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37296
37297 * kern/mm.c: Update copyright.
37298 (grub_mm_debug): Correct syntax error.
37299 (grub_mm_dump_free): New function.
37300 (grub_debug_free): Call `grub_free'.
37301 * include/grub/mm.h: Update copyright.
37302 (grub_mm_dump_free): Add declaration.
37303
077d5fee 373042007-02-12 Hollis Blanchard <hollis@penguinppc.org>
37305
37306 * include/grub/ieee1275/ieee1275.h: Update copyright.
37307 * kern/powerpc/ieee1275/init.c: Likewise.
37308 * kern/powerpc/ieee1275/openfw.c: Likewise.
37309
37310 * loader/powerpc/ieee1275/linux.c: Likewise.
37311 * include/grub/elfload.h: Likewise.
37312 * kern/elf.c: Likewise.
37313 (grub_elf32_load): Pass `base' and `size' parameters. Update all
37314 callers.
37315 (grub_elf64_load): Likewise.
37316 (grub_elf32_load_segment): Move to a nested function.
37317 (grub_elf64_load_segment): Likewise.
37318
dc946850 373192007-02-12 Hollis Blanchard <hollis@penguinppc.org>
37320
37321 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
37322 prototype.
37323 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
37324 (grub_heap_len): Likewise.
37325 (HEAP_SIZE): New macro.
37326 (grub_claim_heap): New function.
37327 (grub_machine_init): Don't claim heap directly. Call
37328 `grub_claim_heap'.
37329 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
37330 (grub_available_iterate): New function.
37331
baa2a121 373322007-02-03 Thomas Schwinge <tschwinge@gnu.org>
37333
37334 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
37335 * configure.ac: Use it for testing the HOST and TARGET compilers.
37336
4fe9862e 373372006-12-13 Thomas Schwinge <tschwinge@gnu.org>
37338
37339 * Makefile.in (enable_grub_emu): New variable.
37340 * configure.ac (--enable-grub-emu): New option.
37341 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
37342 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
37343 * conf/i386-pc.rmk: Likewise.
37344 * conf/powerpc-ieee1275.rmk: Likewise.
37345 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
37346
a8aa5762 373472006-12-12 Marco Gerards <marco@gnu.org>
37348
37349 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
37350
37351 * kern/env.c (grub_env_unset): Don't free the member `value' when
37352 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
37353 pointer.
37354
37355 * normal/main.c (current_menu): Removed.
37356 (free_menu): Unset the `menu' environment variable.
37357 (grub_normal_menu_addentry): Make use of the environment variable
37358 `menu', instead of using the global `current_menu'. Allocate
37359 memory for the sourcecode of this entry.
37360 (read_config_file): New argument `nested', changed all callers.
37361 Only in the case of a new context, initialize a new menu. Set the
37362 `menu' environment variable.
37363 (grub_normal_execute): Don't set and unset the environment
37364 variable `menu' here anymore. Only free the menu when leaving the
37365 context.
37366
37367 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
37368 leak.
37369
957b3a3e 373702006-12-11 Marco Gerards <marco@gnu.org>
37371
37372 * normal/menu_entry.c (run): Fix off by one bug so the last line
37373 is executed. Move the loader check to outside the loop.
37374
ef875714 373752006-12-08 Hollis Blanchard <hollis@penguinppc.org>
37376
37377 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
37378
4e739985 373792006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
37380
37381 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
37382 the number of sectors. Reported by Andrey Shuvikov
37383 <mr_hyro@yahoo.com>.
f19dbdb7 37384
790707f2 373852006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
37386
37387 * kern/disk.c (grub_disk_read): When there is a read error, always
37388 try to read only the necessary data.
f19dbdb7 37389
790707f2 37390 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
37391 disk/raid.c.
37392 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
37393 prototype.
37394 [GRUB_UTIL] (grub_raid_fini): Likewise.
37395 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 37396 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 37397 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
37398 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
37399 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
37400 and grub_raid_fini().
f19dbdb7 37401
03e58196 374022006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
37403
37404 * include/grub/types.h (__unused): Rename to UNUSED.
37405 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
37406 (grub_elf64_size): Likewise.
f19dbdb7 37407
ae4f23bf 374082006-11-03 Hollis Blanchard <hollis@penguinppc.org>
37409
37410 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
37411 grub_error_push and grub_error_pop in the error-handling path.
37412 (grub_elf32_load_segment): Only call grub_file_read with non-zero
37413 length.
37414
2166cc83 374152006-11-03 Hollis Blanchard <hollis@penguinppc.org>
37416
37417 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
37418 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37419 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37420 (kernel_elf_SOURCES): Likewise.
37421 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
37422 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
37423 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37424 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37425 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
37426 (elf_mod_SOURCES): New variable.
37427 (elf_mod_CFLAGS): Likewise.
37428 (elf_mod_LDFLAGS): Likewise.
37429 * include/grub/types.h (__unused): New macro.
37430 * include/grub/elfload.h: New file.
37431 * kern/elf.c: Likewise.
37432 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
37433 (ELF32_LOADMASK): New macro.
37434 (ELF64_LOADMASK): Likewise.
37435 (vmlinux): Removed.
37436 (grub_linux_load32): New function.
37437 (grub_linux_load64): Likewise.
37438 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
37439 Use grub_elf_t instead of grub_file_t.
37440
a09d5aa5 374412006-11-02 Hollis Blanchard <hollis@penguinppc.org>
37442
37443 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
37444 `catch_result' to struct set_color_args.
37445
d976fc51 374462006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
37447
37448 * normal/menu.c: Include grub/script.h.
37449 * normal/menu_entry.c: Likewise.
37450 * include/grub/normal.h: Do not include grub/script.h.
37451
67507549 374522006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37453
37454 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
37455
69203a99 374562006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37457
37458 * kern/disk.c (grub_disk_open): Print debug messages when opening a
37459 disk.
37460 (grub_disk_close): Print debug messages when closing a disk.
37461 (grub_disk_read): Print debug messages when disk read fails.
37462 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
37463 filesystem type.
37464 * kern/partition.c: Include misc.h.
37465 (grub_partition_iterate): Print debug messages when detecting
37466 partition type.
37467
e2b8278c 374682006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37469
37470 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
37471 is negative.
37472 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
37473
97b2f2ff 374742006-10-26 Hollis Blanchard <hollis@penguinppc.org>
37475
37476 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
37477 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
37478
6555d655 374792006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
37480
37481 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
37482 instead of sizeof(lv). Patch by Michael Guntsche.
37483
4d42b77f 374842006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
37485
37486 * disk/lvm.c: Rename VGS to VG_LIST.
37487 (grub_lvm_iterate): Change VGS->LV to VG-LV.
37488 (grub_lvm_open): Likewise.
37489 Thanks to Michael Guntsche for finding this bug.
37490
5d74d927 374912006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37492
37493 * configure.ac (AC_INIT): Bumped to 1.95.
37494
a1bb27e4 374952006-10-14 Robert Millan <rmh@aybabtu.com>
37496
37497 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
37498 with "/dev/.static/dev/md".
37499
e0994b8b 375002006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
37501
37502 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
37503 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
37504 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
37505 DRIVE_NAME are always freed.
37506
37507 * util/i386/pc/biosdisk.c (make_device_name): Add one into
37508 DOS_PART, as a DOS partition is counted from one instead of zero
37509 now. Reported by Robert Millan.
37510
ddd5cee9 375112006-10-14 Robert Millan <rmh@aybabtu.com>
37512
37513 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
37514 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
37515 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
37516 string returned by grub_guess_root_device.
37517 * util/i386/pc/grub-setup.c: Likewise.
37518 * util/i386/pc/grub-probefs.c: Likewise.
37519
37520 * util/i386/pc/grub-probefs.c: Rename to ...
37521 * util/i386/pc/grub-probe.c: ... this.
37522 * DISTLIST: Remove grub-probefs, add grub-probe.
37523 * conf/i386-efi.rmk: Likewise.
37524 * conf/i386-pc.rmk: Likewise.
37525 * util/i386/pc/grub-install.in: Likewise.
37526
37527 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
37528 choose which information we want to print.
37529
2b002173 375302006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
37531
37532 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
37533 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
37534 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
37535 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
37536 video/readers/tga.c and video/i386/pc/vbeutil.c.
37537
375382006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
37539
37540 Added support for RAID and LVM.
f19dbdb7 37541
2b002173 37542 * disk/lvm.c: New file.
37543 * disk/raid.c: Likewise.
37544 * include/grub/lvm.h: Likewise.
f19dbdb7 37545 * include/grub/raid.h: Likewise.
2b002173 37546 * include/grub/util/lvm.h: Likewise.
37547 * include/grub/util/raid.h: Likewise.
37548 * util/lvm.c: Likewise.
37549 * util/raid.c: Likewise.
37550
37551 * include/grub/disk.h (grub_disk_dev_id): Add
37552 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
37553 (grub_disk_get_size): New prototype.
37554 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
37555 returns a partition.
37556 (grub_disk_get_size): New function.
f19dbdb7 37557
2b002173 37558 * kern/i386/pc/init.c (make_install_device): Copy the prefix
37559 verbatim if grub_install_dos_part is -2.
37560
37561 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
37562 and LVM devices.
37563
37564 * util/i386/pc/grub-setup.c (setup): New argument
37565 MUST_EMBED. Force embedding of GRUB when the argument is
37566 true. Close FILE before returning.
37567 (main): Add support for RAID and LVM.
f19dbdb7 37568
2b002173 37569 * conf/common.rmk: Add RAID and LVM modules.
37570 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
37571 util/lvm.c.
37572 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
37573
37574 * kern/misc.c (grub_strstr): New function.
37575 * include/grub/misc.h (grub_strstr): New prototype.
37576
050548d0 375772006-10-10 Tristan Gingold <tristan.gingold@bull.net>
37578
37579 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
37580
da849d2d 375812006-10-05 Tristan Gingold <tristan.gingold@bull.net>
37582
37583 * kern/misc.c (grub_strtoull): Guess the base only if not
37584 specified.
37585
97b2f2ff 375862006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 37587
37588 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
37589 PowerMac support.
37590
97b2f2ff 375912006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 37592
37593 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
37594
37595 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
37596 Remove `flags' argument. All callers changed.
37597 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
37598 (IEEE1275_IHANDLE_INVALID): New variable.
37599 (IEEE1275_CELL_INVALID): New variable.
37600 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
37601 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
37602 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
37603 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
37604 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
37605 codes from Open Firmware. All callers updated.
37606 (grub_ieee1275_next_property): Directly return Open Firmware return
37607 code.
37608 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
37609 Standardize error checking from `grub_ieee1275_get_property'.
37610 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
37611 `devalias' to `aliases'. Correct comments. Consolidate error paths.
37612
97b2f2ff 376132006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 37614
37615 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
37616 `instance_to_package_args' to `instance_to_path_args'.
37617
37618 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
37619 `grub_ieee1275_chosen'.
37620
37621 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
37622 `grub_ieee1275_interpret'.
37623
97b2f2ff 376242006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 37625
37626 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
37627
97b2f2ff 376282006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 37629
37630 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
37631 (__cmpdi): Likewise.
37632
37633 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
37634 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
37635 `grub_ssize_t'.
37636
02bb8acc 37637 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 37638
37639 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
37640 to type `grub_ssize_t'.
37641 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
37642
7f9a8531 376432006-09-22 Marco Gerards <marco@gnu.org>
37644
37645 * normal/script.c (grub_script_create_cmdmenu): Skip leading
37646 newlines.
37647
b5ef1102 376482006-09-22 Marco Gerards <marco@gnu.org>
37649
37650 * commands/echo.c: New file.
37651
37652 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
37653
37654 * conf/common.rmk (echo_mod_SOURCES): New variable.
37655 (echo_mod_CFLAGS): Likewise.
37656 (echo_mod_LDFLAGS): Likewise.
37657
2cff3677 376582006-09-22 Marco Gerards <marco@gnu.org>
37659
37660 * normal/main.c (get_line): Malloc memory instead of using
37661 preallocated memory. Removed the arguments `cmdline' and
37662 `max_len'. Updated all callers.
37663
6ba4688b 376642006-09-22 Marco Gerards <marco@gnu.org>
37665
37666 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
37667 (normal_mod_DEPENDENCIES): Likewise.
37668
37669 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
37670 (normal_mod_DEPENDENCIES): Likewise.
37671
37672 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
37673
e02ac02c 376742006-09-22 Johan Rydberg <jrydberg@gnu.org>
37675
37676 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
37677 programs.
37678 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
37679 (normal_mod_DEPENDENCIES): Likewise.
37680 * conf/i386-pc.mk: Regenerate.
37681 * conf/i386-efi.mk: Likewise
37682 * conf/common.mk: Likewise.
37683 * conf/powerpc-ieee1275.mk: Likewise.
37684 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 37685
8d252e44 376862006-09-22 Robert Millan <rmh@aybabtu.com>
37687
37688 Sync with i386 version.
37689 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
37690 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
37691
209bf7ac 376922006-09-21 Robert Millan <rmh@aybabtu.com>
37693
37694 Import from GRUB Legacy (lib/device.c):
37695 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
37696 (init_device_map) [__linux__]: Add support for I2O devices.
37697
6b146090 376982006-09-14 Marco Gerards <marco@gnu.org>
37699
37700 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
37701 `-melf_i386'.
37702
e38600a8 377032006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 37704
37705 * util/i386/pc/grub-install.in: Skip menu.lst when removing
37706 /boot/grub/*.lst.
78fa1790 37707
2952da5d 37708 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 37709
2952da5d 37710 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
37711 before adding it to device.map.
37712
01b82a64 377132006-08-15 Johan Rydberg <jrydberg@gnu.org>
37714
fe6b695a 37715 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 37716 compiles a file; using the -MD option.
37717 * conf/common.mk: Regenerate.
37718 * conf/i386-pc.mk: Likewise.
37719 * conf/i386-efi.mk: Likewise.
37720 * conf/powerpc-ieee1275.mk: Likewise.
37721 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 37722
1064790d 377232006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
37724
37725 Move the prototypes of grub_setjmp and grub_longjmp to
37726 cpu/setjmp.h, so that each architecture may specify different
37727 attributes.
f19dbdb7 37728
1064790d 37729 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
37730 (grub_longjmp): Likewise.
37731 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
37732 (grub_longjmp): Likewise.
37733 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
37734 (grub_longjmp): Likewise.
37735
37736 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
37737 [!GRUB_UTIL] (grub_longjmp): Removed.
37738
29dda3ed 377392006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
37740
37741 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
37742 "color!" method does not return any value.
37743
ad2a06ed 377442006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37745
37746 * include/grub/bitmap.h: New file.
37747
37748 * include/grub/i386/pc/vbeutil.h: Likewise.
37749
37750 * video/bitmap.c: Likewise.
37751
37752 * video/readers/tga.c: Likewise.
37753
37754 * video/i386/pc/vbeutil.c: Likewise.
37755
37756 * commands/videotest.c: Code cleanup and updated to reflect to new
37757 video API.
37758
37759 * term/gfxterm.c: Likewise.
37760
37761 * video/video.c: Likewise.
37762
37763 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
37764 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
37765 (bitmap_mod_SOURCES): New entry.
37766 (bitmap_mod_CFLAGS): Likewise.
37767 (bitmap_mod_LDFLAGS): Likewise.
37768 (tga_mod_SOURCES): Likewise.
37769 (tga_mod_CFLAGS): Likewise.
37770 (tga_mod_LDFLAGS): Likewise.
37771
37772 * include/grub/video.h (grub_video_blit_operators): New enum type.
37773 (grub_video_render_target): Changed as forward declaration and moved
37774 actual definition to be video driver specific.
37775 (grub_video_adapter.blit_bitmap): Added blitting operator.
37776 (grub_video_adapter.blit_render_target): Likewise.
37777 (grub_video_blit_bitmap): Likewise.
37778 (grub_video_blit_render_target): Likewise.
37779
37780 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
37781 driver specific render target definition.
37782 (grub_video_vbe_map_rgba): Added driver internal helper.
37783 (grub_video_vbe_unmap_color): Updated to use
37784 grub_video_i386_vbeblit_info.
37785 (grub_video_vbe_get_video_ptr): Likewise.
37786
37787 * include/grub/i386/pc/vbeblit.h
37788 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
37789 grub_video_i386_vbeblit_info.
37790 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37791 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37792 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37793 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37794 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37795 (grub_video_i386_vbeblit_index_index): Likewise.
37796 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
37797 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37798 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37799 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
37800 operator.
37801 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
37802 operator.
37803
37804 * video/i386/pc/vbeblit.c: Updated to reflect changes on
37805 include/grub/i386/pc/vbeblit.h.
37806
37807 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
37808 Updated to use grub_video_i386_vbeblit_info.
37809 (grub_video_i386_vbefill_R8G8B8): Likewise.
37810 (grub_video_i386_vbefill_index): Likewise.
37811 (grub_video_i386_vbefill): Added generic filler.
37812
37813 * video/i386/pc/vbefill.c: Updated to reflect changes on
37814 include/grub/i386/pc/vbefill.h.
37815
37816 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
37817 grub_video_i386_vbeblit_info.
37818 (grub_video_vbe_unmap_color): Likewise.
37819 (grub_video_vbe_blit_glyph): Likewise.
37820 (grub_video_vbe_scroll): Likewise.
37821 (grub_video_vbe_draw_pixel): Removed function.
37822 (grub_video_vbe_get_pixel): Likewise.
37823 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
37824 updated code to use it.
37825 (common_blitter): Added common blitter for render target and bitmap.
37826 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
37827 (grub_video_vbe_blit_render_target): Likewise.
37828
bc8c036d 378292006-07-30 Johan Rydberg <jrydberg@gnu.org>
37830
37831 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
37832 is in text mode if there is no console control protocol instance
37833 available.
37834
684a8eff 378352006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37836
37837 * include/grub/video.h: Code cleanup.
37838
37839 * include/grub/i386/pc/vbe.h: Likewise.
37840
37841 * video/i386/pc/vbe.c: Likewise.
37842
37843 * video/i386/pc/vbeblit.c: Likewise.
37844
37845 * video/i386/pc/vbefill.c: Likewise.
37846
37847 * video/video.c: Likewise. Also added more comments.
37848
5915059b 378492006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37850
37851 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
37852 (struct grub_biosdisk_dap): Likewise.
37853
37854 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
37855 linkage settings for all functions.
37856
90ce5d56 378572006-07-12 Marco Gerards <marco@gnu.org>
37858
37859 * configure.ac (--enable-mm-debug): Fix typo.
37860
37861 * genkernsyms.sh.in: Use proper quoting for `CC'.
37862
43e7f879 378632006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
37864
37865 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
37866 (normal_mod_ASFLAGS): Remove "-m32".
37867
4889bdec 378682006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
37869
37870 * util/misc.c: Include config.h.
37871 [!HAVE_MEMALIGN]: Do not include malloc.h.
37872 (grub_memalign): Use posix_memalign, if present. Then, use
37873 memalign, if present. Otherwise, emit an error.
37874
37875 * util/grub-emu.c: Do not include malloc.h.
37876
37877 * include/grub/util/misc.h: Include unistd.h. This is required for
37878 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
37879 D. Eades III <hde@foobar-qux.org>.
37880
37881 * configure.ac (AC_GNU_SOURCE): Added.
37882 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
37883 type.
37884
fd39d4da 378852006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
37886
37887 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
37888 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
37889
b786f3b5 378902006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
37891
37892 * include/grub/types.h (grub_host_addr_t): Rename to
37893 grub_target_addr_t.
37894 (grub_host_off_t): Rename to grub_target_off_t.
37895 (grub_host_size_t): Rename to grub_target_size_t.
37896 (grub_host_ssize_t): Rename to grub_target_ssize_t.
37897 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
37898
37899 * include/grub/kernel.h (struct grub_module_header): Change type
37900 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
37901 (grub_module_info): Likewise.
f19dbdb7 37902
051988bb 379032006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
37904
37905 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
37906 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
37907 Velazquez <jesus.velazquez@gmail.com>.
37908
deae281b 379092006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
37910
37911 Count partitions from 1 instead of 0 in the string representation
37912 of partitions. Still use 0-based internally.
f19dbdb7 37913
deae281b 37914 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
37915 (sun_partition_map_iterate): Use grub_partition_t instead of
37916 struct grub_partition *. Cast DESC->START_CYLINDER to
37917 grub_uint64_t after converting the endian.
37918 (sun_partition_map_probe): Subtract 1 for PARTNUM.
37919 (sun_partition_map_get_name): Add 1 to P->INDEX.
37920
37921 * partmap/pc.c (grub_partition_parse): Subtract 1 for
37922 PCDATA->DOS_PART.
37923 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
37924
37925 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
37926 zero instead of one.
37927 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
37928 (gpt_partition_map_get_name): Add 1 into P->INDEX.
37929
37930 * partmap/apple.c (apple_partition_map_iterate): Change the type
37931 of POS to unsigned.
37932 (apple_partition_map_probe): Subtract 1 for PARTNUM.
37933 (apple_partition_map_get_name): Add 1 into P->INDEX.
37934
37935 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
37936 of POS to unsigned.
37937 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
37938 calculate the offset of a partition.
37939 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
37940 (amiga_partition_map_get_name): Add 1 into P->INDEX.
37941
37942 * partmap/acorn.c (acorn_partition_map_find): Change the type of
37943 SECTOR to grub_disk_addr_t.
37944 (acorn_partition_map_iterate): Likewise.
37945 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
37946 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
37947 top.
37948 (acorn_partition_map_get_name): Add 1 into P->INDEX.
37949
37950 * kern/i386/pc/init.c (make_install_device): Add 1 into
37951 GRUB_INSTALL_DOS_PART.
37952
37953 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
37954 conditional.
37955
524a1e6a 379562006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
37957
37958 Clean up the code to support 64-bit addressing in disks and
37959 files. This change is not enough for filesystems yet.
f19dbdb7 37960
524a1e6a 37961 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
37962 type of "start" to grub_uint64_t.
37963 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
37964 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
37965 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
37966 convert addresses.
37967
37968 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
37969 to grub_disk_addr_t.
37970
37971 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
37972 string.
37973
37974 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37975
37976 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
37977 to char *.
37978
37979 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
37980
37981 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
37982
37983 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
37984
37985 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
37986 to grub_off_t, to detect an error from grub_file_seek.
37987 (grub_multiboot_load_elf32): Likewise.
37988
37989 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
37990 maximum unsigned long value when an overflow is detected.
37991 (grub_strtoull): New function.
37992 (grub_divmod64): Likewise.
37993 (grub_lltoa): use grub_divmod64.
37994
37995 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
37996 grub_disk_addr_t.
37997 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
37998 the pointer to next character. Use grub_strtoull instead of
37999 grub_strtoul.
38000 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
38001 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
38002 respectively.
38003
fe6b695a 38004 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 38005 return value is signed.
38006 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
38007 test if OFFSET is less than zero, as OFFSET is unsigned now.
38008
38009 * kern/disk.c (struct grub_disk_cache): Change the type of
38010 "sector" to grub_disk_addr_t.
38011 (grub_disk_cache_get_index): Change the type of SECTOR to
38012 grub_disk_addr_t. Calculate the hash with SECTOR casted to
38013 unsigned after shifting.
38014 (grub_disk_cache_invalidate): Change the type of SECTOR to
38015 grub_disk_addr_t.
38016 (grub_disk_cache_unlock): Likewise.
38017 (grub_disk_cache_store): Likewise.
38018 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
38019 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
38020 grub_disk_addr_t and grub_uint64_t, respectively.
38021 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
38022 body, as the value of OFFSET is tweaked by
38023 grub_disk_check_range. Change the types of START_SECTOR, LEN and
38024 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
38025 respectively.
38026 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
38027 body, as the value of OFFSET is tweaked by
38028 grub_disk_check_range. Change the types of LEN and N to
38029 grub_size_t.
38030
38031 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
38032 and "saved_offset" to grub_off_t.
38033 (test_header): Cast BUF to char *.
38034 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
38035 to char *.
38036 (grub_gzio_read): Change the types of OFFSET and SIZE to
38037 grub_off_t and grub_size_t, respectively.
38038
38039 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
38040 Removed.
38041 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
38042 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
38043 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
38044 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
38045 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
38046
38047 * include/grub/types.h (grub_off_t): Unconditionally set to
38048 grub_uint64_t.
38049 (grub_disk_addr_t): Changed to grub_uint64_t.
38050
38051 * include/grub/partition.h (struct grub_partition): Change the
38052 types of "start", "len" and "offset" to grub_disk_addr_t,
38053 grub_uint64_t and grub_disk_addr_t, respectively.
38054 (grub_partition_get_start): Return grub_disk_addr_t.
38055 (grub_partition_get_len): Return grub_uint64_t.
38056
38057 * include/grub/misc.h (grub_strtoull): New prototype.
38058 (grub_divmod64): Likewise.
38059
38060 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
38061 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
38062 grub_off_t, respectively.
38063 All callers and references changed.
38064
38065 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
38066 grub_size_t in "read".
38067 All callers and references changed.
38068
38069 * include/grub/file.h (struct grub_file): Change the types of
38070 "offset" and "size" to grub_off_t and grub_off_t,
38071 respectively. Change the type of SECTOR to grub_disk_addr_t in
38072 "read_hook".
38073 (grub_file_read): Change the type of LEN to grub_size_t.
38074 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
38075 grub_off_t.
38076 (grub_file_size): Return grub_off_t.
38077 (grub_file_tell): Likewise.
38078 All callers and references changed.
38079
38080 * include/grub/disk.h (struct grub_disk_dev): Change the types of
38081 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
38082 "write".
38083 (struct grub_disk): Change the type of "total_sectors" to
38084 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 38085 "read_hook".
524a1e6a 38086 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
38087 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
38088 (grub_disk_write): Likewise.
38089 All callers and references changed.
38090
38091 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
38092 char * for grub_strncmp to silence gcc.
38093 (grub_iso9660_mount): Likewise.
38094 (grub_iso9660_mount): Likewise.
38095 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
38096 return statement.
38097 (grub_iso9660_iterate_dir): Likewise.
38098 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
38099
38100 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
38101 LEN to grub_disk_addr_t and grub_size_t, respectively.
38102
38103 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
38104
38105 * fs/jfs.c (grub_jfs_read_file): Likewise.
38106
38107 * fs/minix.c (grub_jfs_read_file): Likewise.
38108
38109 * fs/sfs.c (grub_jfs_read_file): Likewise.
38110
38111 * fs/ufs.c (grub_jfs_read_file): Likewise.
38112
38113 * fs/xfs.c (grub_jfs_read_file): Likewise.
38114
38115 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
38116 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
38117 respectively.
38118
38119 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
38120 BLKNR to -1 instead of returning GRUB_ERRNO.
38121 (grub_ext2_read_file): Change the types of SECTOR and
38122 LEN to grub_disk_addr_t and grub_size_t, respectively.
38123
38124 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
38125 LEN to grub_disk_addr_t and grub_size_t, respectively.
38126
38127 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
38128 grub_file_read.
38129
38130 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
38131 string. Do not cast SECTOR explicitly.
38132
38133 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
38134 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
38135 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
38136 grub_disk_addr_t and grub_size_t, respectively. If the sector is
38137 over 2TB and LBA mode is not supported, raise an error.
38138 (get_safe_sectors): New function.
38139 (grub_biosdisk_read): Use get_safe_sectors.
38140 (grub_biosdisk_write): Likewise.
38141
38142 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
38143 (grub_efidisk_write): Likewise.
38144
38145 * disk/loopback.c (delete_loopback): Cosmetic changes.
38146 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
38147 correctly.
38148 (grub_loopback_open): Likewise.
38149 (grub_loopback_read): Likewise. Also, change the type of POS to
38150 grub_off_t, and fix the usage of grub_memset.
38151
38152 * commands/i386/pc/play.c: Include grub/machine/time.h.
38153
38154 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
38155 print FILE->SIZE.
38156
38157 * commands/configfile.c: Include grub/env.h.
38158
38159 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
38160 GRUB_ERRNO directly instead. Change the type of POS to
38161 grub_off_t. Follow the coding standard.
38162
38163 * commands/blocklist.c: Include grub/partition.h.
38164 (grub_cmd_blocklist): Return an error if the underlying device is
38165 not a disk. Take the starting sector of a partition into account,
38166 if a partition is used.
38167
38168 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
38169 a length field.
38170 (lba_mode): Support 64-bit addresses.
38171 (chs_mode): Likewise.
38172 (copy_buffer): Adapted to the new offsets of a length field and a
38173 segment field.
38174 (blocklist_default_start): Allocate 64-bit space.
38175
38176 * boot/i386/pc/boot.S (force_lba): Removed.
38177 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 38178 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 38179 space.
38180 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
38181 is useless.
38182 (lba_mode): Refactored to support a 64-bit address. More size
38183 optimization.
38184 (setup_sectors): Likewise.
38185
53af98ad 381862006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
38187
38188 * DISTLIST: Added include/grub/i386/linux.h. Removed
38189 include/grub/i386/pc/linux.h
38190
38191 * configure.ac (AC_INIT): Bumped to 1.94.
38192
38193 * config.guess: Updated from gnulib.
38194 * config.sub: Likewise.
38195 * install-sh: Likewise.
38196 * mkinstalldirs: Likewise.
38197
b4c1940a 381982006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
38199
38200 * conf/common.rmk (grub_modules_init.lst): Depended on
38201 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
38202 MODSRCFILES.
38203
38204 * genmk.rb (PModule::rule): Reverted the previous change.
38205
cfca1cfd 382062006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
38207
38208 * conf/common.rmk (grub_modules_init.lst): Depends on
38209 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
38210 that the target does not exist before producing.
38211 (grub_modules_init.h): Remove the target before generating.
38212 (grub_emu_init.c): Likewise.
38213
38214 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
38215
aa6d7826 382162006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
38217
38218 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
38219 for the target-specific tests. Make sure that we also have the
38220 up-to-date target variables for those tests.
38221
26c607b9 382222006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
38223
38224 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
38225 (PModule::rule): Likewise.
38226
0162321a 382272006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
38228
38229 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
38230 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
38231 target-specific flags should be prefixed.
38232 (PModule::rule): Likewise.
38233
6c826348 382342006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
38235
38236 * configure.ac (CMP): Check if cmp is available explicitly.
38237
b977bf01 382382006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
38239
38240 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
38241 (target_cpu): New variable.
38242 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 38243
b977bf01 38244 * util/i386/pc/grub-install.in (host_cpu): Removed.
38245 (target_cpu): New variable.
38246 (pkglibdir): Use target_cpu instead of host_cpu.
38247
38248 * util/genmoddep.c: Removed.
f19dbdb7 38249
b977bf01 38250 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
38251 instead of GRUB_HOST_SIZEOF_VOID_P.
38252 * kern/dl.c: Likewise.
38253
38254 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
38255 ...
38256 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38257 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38258 (GRUB_TARGET_SIZEOF_LONG): ... this.
38259 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38260 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38261 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38262 to ...
38263 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38264 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38265 (GRUB_TARGET_SIZEOF_LONG): ... this.
38266 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38267 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38268 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38269 to ...
38270 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38271 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38272 (GRUB_TARGET_SIZEOF_LONG): ... this.
38273 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38274 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38275
38276 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
38277 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
38278 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
38279 instead of GRUB_HOST_SIZEOF_LONG.
38280 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
38281 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
38282 GRUB_CPU_WORDS_BIGENDIAN.
38283 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
38284 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
38285 grub_host_ssize_t.
38286
38287 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
38288 (genmoddep_SOURCES): Likewise.
38289 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
38290 (genmoddep_SOURCES): Likewise.
38291 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
38292 (genmoddep_SOURCES): Likewise.
38293 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
38294 Likewise.
38295 (genmoddep_SOURCES): Likewise.
38296
38297 * genmoddep.awk: New file.
38298
38299 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
38300 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
38301 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
38302 (PModule::rule): Likewise.
38303 (Program::rule): Likewise.
38304 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
38305 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
38306 respectively.
38307
38308 * configure.ac: Rewritten intensively to use host and target
38309 instead of build and host, respectively.
38310
38311 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
38312 (host_cpu): Removed.
38313 (target_cpu): New variable.
38314 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
38315 (BUILD_CC): Removed.
38316 (BUILD_CFLAGS): Likewise.
38317 (BUILD_CPPFLAGS): Likewise.
38318 (TARGET_CC): New variable.
38319 (TARGET_CFLAGS): Likewise.
38320 (TARGET_CPPFLAGS): Likewise.
38321 (TARGET_LDFLAGS): Likewise.
38322 (AWK): Likewise.
38323 (include): Use target_cpu instead of host_cpu.
38324 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 38325
b977bf01 38326 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
38327
f09771a1 383282006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
38329
38330 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
38331 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
38332 field 'false' to 'exec_on_false'.
38333 (grub_script_create_cmdif): Renamed argument names to reflect above
38334 changes.
38335
38336 * normal/execute.c (grub_script_execute_cmdif): Likewise.
38337
38338 * normal/script.c (grub_script_create_cmdif): Likewise.
38339
118f4fb3 383402006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
38341
38342 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
38343 top.
38344 (grub_hfsplus_btree_recptr): Likewise.
38345 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
38346 FILEBLOCK both to pass a block number and store next block
38347 number.
38348 (grub_hfsplus_read_block): Rewritten heavily to support an extent
38349 overflow file correctly. Specify errors appropriately, because
38350 fshelp expects that GRUB_ERRNO is set when fails. Reuse
38351 grub_hfsplus_btree_recptr to get the pointer to a found key.
38352 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
38353 is found.
38354
38355 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
38356 linux.mod.
38357 (_linux_mod_SOURCES): New variable.
38358 (_linux_mod_CFLAGS): Likewise.
38359 (_linux_mod_LDFLAGS): Likewise.
38360 (linux_mod_SOURCES): Likewise.
38361 (linux_mod_CFLAGS): Likewise.
38362 (linux_mod_LDFLAGS): Likewise.
38363
38364 * DISTLIST: Added loader/i386/efi/linux.c,
38365 loader/i386/efi/linux_normal.c and
38366 include/grub/i386/efi/loader.h.
38367
38368 * loader/i386/efi/linux.c: New file.
38369 * loader/i386/efi/linux_normal.c: Likewise.
38370 * include/grub/i386/efi/loader.h: Likewise.
38371
89a7d726 383722006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
38373
38374 * commands/blocklist.c: New file.
38375
38376 * DISTLIST: Added commands/blocklist.c.
38377
38378 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 38379 color for the background, and a darker color for the foreground.
89a7d726 38380 (grub_console_checkkey): Return READ_KEY.
38381 (grub_console_cls): Set the background to
38382 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
38383
38384 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
38385
38386 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
38387 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
38388
38389 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
38390 prototype.
38391
38392 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
38393 BG. The spec is wrong again.
38394
38395 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
38396 prototype.
38397 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
38398
38399 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38400 commands/blocklist.c.
38401 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 38402
89a7d726 38403 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
38404 (blocklist_mod_SOURCES): New variable.
38405 (blocklist_mod_CFLAGS): Likewise.
38406 (blocklist_mod_LDFLAGS): Likewise.
38407
75c8f258 384082006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
38409
38410 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
38411 duplication.
38412 (lba_mode): Use %eax more intensively to reduce the code size.
38413
da2eb181 384142006-05-20 Marco Gerards <marco@gnu.org>
38415
38416 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
38417
38418 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
38419 for `menuentry'.
38420 (script): Accept leading newlines.
38421 (newlines): New rule to describe 0 or more newlines.
38422 (commands): Accept `command' with trailing newline. Fixed the
38423 order in which arguments were passed to `grub_script_add_cmd'.
38424 Accept commands separated by newlines.
38425 (function): Changed to accept newlines.
38426 (menuentry) Rewritten.
38427
38428 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
38429 front of the list, instead of to the end.
38430
577b4050 384312006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
38432
38433 * util/i386/pc/grub-install.in (bindir): New variable.
38434 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
38435 Shaver <lbgwjl@gmail.com>.
38436
0d6e1189 384372006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
38438
38439 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
38440 grub/machine/linux.h
38441 * loader/i386/pc/linux.c: Likewise.
38442
38443 * include/grub/i386/pc/linux.h: Moved to ...
38444 * include/grub/i386/linux.h: ... here.
38445
38446 * include/grub/i386/linux.h (struct linux_kernel_params): New
38447 struct.
f19dbdb7 38448
31b86e9f 384492006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
38450
38451 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
38452 checking.
38453 (grub_video_vbe_blit_glyph): Likewise.
38454 (grub_video_vbe_blit_bitmap): Likewise.
38455 (grub_video_vbe_blit_render_target): Likewise.
38456
83b984de 384572006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
38458
38459 * configure.ac (--with-platform): Properly quote the square
38460 brackets.
38461
5f0413bd 384622006-05-08 Marco Gerards <marco@gnu.org>
38463
38464 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
38465 this...
38466 (kernel_elf_HEADERS): ...to this. Updated all users.
38467 (grubof_symlist.c): Renamed from this...
38468 (kernel_elf_symlist.c): ...to this. Updated all users.
38469 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
38470 (grubof_SOURCES): Renamed from this...
38471 (kernel_elf_SOURCES): ...to this.
38472 (grubof_HEADERS): Renamed from this...
38473 (kernel_elf_HEADERS): ...to this.
38474 (grubof_CFLAGS): Renamed from this...
38475 (kernel_elf_CFLAGS): ...to this.
38476 (grubof_ASFLAGS): Renamed from this...
38477 (kernel_elf_ASFLAGS): ...to this.
38478 (grubof_LDFLAGS): Renamed from this...
38479 (kernel_elf_LDFLAGS): ...to this.
38480
38481 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
38482 this...
38483 (kernel_elf_HEADERS): ...to this. Updated all users.
38484 (grubof_symlist.c): Renamed from this...
38485 (kernel_elf_symlist.c): ...to this. Updated all users.
38486 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
38487 (grubof_SOURCES): Renamed from this...
38488 (kernel_elf_SOURCES): ...to this.
38489 (grubof_HEADERS): Renamed from this...
38490 (kernel_elf_HEADERS): ...to this.
38491 (grubof_CFLAGS): Renamed from this...
38492 (kernel_elf_CFLAGS): ...to this.
38493 (grubof_ASFLAGS): Renamed from this...
38494 (kernel_elf_ASFLAGS): ...to this.
38495 (grubof_LDFLAGS): Renamed from this...
38496 (kernel_elf_LDFLAGS): ...to this.
38497
38498 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
38499 `kernel.elf' instead of `grubof'.
38500
05568c2e 385012006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
38502
38503 Add --with-platform to configure. Use pkglibdir instead of
38504 pkgdatadir. This is reported by Roger Leigh.
38505
38506 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
38507 (host_vendor): Likewise.
38508 (host_os): Likewise.
38509 (pkgdatadir): Likewise.
38510 (platform): New variable.
38511 (pkglibdir): Likewise.
38512 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 38513
05568c2e 38514 * util/i386/pc/grub-install.in (datadir): Removed.
38515 (host_vendor): Likewise.
38516 (host_os): Likewise.
38517 (pkgdatadir): Likewise.
38518 (platform): New variable.
38519 (pkglibdir): Likewise.
38520 Use PKGLIBDIR instead of PKGDATADIR.
38521
38522 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
38523 instead of GRUB_DATADIR.
38524 (main): Likewise.
38525 * util/i386/pc/grub-mkimage.c (usage): Likewise.
38526 (main): Likewise.
38527 * util/i386/efi/grub-mkimage.c (usage): Likewise.
38528 (main): Likewise.
38529
38530 * configure.ac (--with-platform): New option.
38531 Use PLATFORM instead of HOST_VENDOR to specify a platform.
38532
38533 * Makefile.in: Include a makefile based on PLATFORM instead of
38534 HOST_VENDOR.
38535 (pkgdatadir): Not appended by the machine type.
38536 (pkglibdir): Appended by the machine type.
38537 (host_vendor): Removed.
38538 (platform): New variable.
38539 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
38540 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
38541 (uninstall): Likewise.
38542
4e93851c 385432006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
38544
38545 Use the environment context in the menu. Remove the commands
38546 "default" and "timeout", and use variables instead.
f19dbdb7 38547
4e93851c 38548 * normal/menu.c: Include grub/env.h.
38549 (print_entry): Cast TITLE to silence gcc.
38550 (get_timeout): New function.
38551 (set_timeout): Likewise.
38552 (get_entry_number): Likewise.
38553 (run_menu): Use a default entry, a fallback entry and a timeout
38554 in the environment variables "default", "fallback" and
38555 "timeout". Also, tweak the default entry if it is not within the
38556 current menu entries.
38557 (grub_menu_run): Use a fallback entry in the environment variable
38558 "fallback".
38559
38560 * normal/main.c (read_config_file): Do not initialize
38561 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
38562 NEWMENU->TIMEOUT.
38563 (grub_normal_execute): Use a data slot to store the menu.
38564
38565 * include/grub/normal.h (struct grub_menu): Removed default_entry,
38566 fallback_entry and timeout.
38567 (struct grub_menu_list): Removed.
38568 (grub_menu_list_t): Likewise.
38569 (struct grub_context): Likewise.
38570 (grub_context_t): Likewise.
38571 (grub_context_get): Likewise.
38572 (grub_context_get_current_menu): Likewise.
38573 (grub_context_push_menu): Likewise.
38574 (grub_context_pop_menu): Likewise.
38575 (grub_default_init): Likewise.
38576 (grub_default_fini): Likewise.
38577 (grub_timeout_init): Likewise.
38578 (grub_timeout_fini): Likewise.
38579
38580 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
38581 and timeout.mod.
38582 (normal_mod_SOURCES): Removed normal/context.c.
38583
38584 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
38585 commands/default.c, commands/timeout.c and normal/context.c.
38586 (normal_mod_SOURCES): Removed normal/context.c.
38587
38588 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
38589 commands/timeout.c and normal/context.c.
38590 (normal_mod_SOURCES): Removed normal/context.c.
38591
38592 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
38593 commands/default.c, commands/timeout.c and normal/context.c.
38594 (normal_mod_SOURCES): Removed normal/context.c.
38595
38596 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
38597 timeout.mod.
38598 (default_mod_SOURCES): Removed.
38599 (default_mod_CFLAGS): Likewise.
38600 (default_mod_LDFLAGS): Likewise.
38601 (timeout_mod_SOURCES): Removed.
38602 (timeout_mod_CFLAGS): Likewise.
38603 (timeout_mod_LDFLAGS): Likewise.
38604
38605 * DISTLIST: Removed commands/default.c, commands/timeout.c and
38606 normal/context.c.
38607
38608 * commands/default.c: Removed.
38609 * commands/timeout.c: Likewise.
38610 * normal/context.c: Likewise.
38611
1eb9cc1d 386122006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
38613
38614 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
38615
385bd9c1 386162006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
38617
38618 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
38619 "next" to "prev" for readability.
38620 (struct grub_env_sorted_var): New struct.
38621 (grub_env_context): Renamed to ...
38622 (initial_context): ... this.
38623 (grub_env_var_context): Renamed to ...
38624 (current_context): ... this.
38625 (grub_env_find): Look only at CURRENT_CONTEXT.
38626 (grub_env_context_open): Rewritten to copy exported variables from
38627 previous context.
38628 (grub_env_context_close): Rewritten according to the new
38629 scheme. Also, add an assertion to prevent the initial context from
38630 removed.
38631 (grub_env_insert): Removed the code for the sorted list.
38632 (grub_env_remove): Likewise.
38633 (grub_env_export): Simply mark the variable with
38634 GRUB_ENV_VAR_GLOBAL.
38635 (grub_env_set): A cosmetic change for naming consistency.
38636 (grub_env_get): Likewise.
38637 (grub_env_unset): Likewise.
38638 (grub_env_iterate): Rewritten to sort variables within this
38639 function.
38640 (grub_register_variable_hook): Fixed for naming consistency. Call
38641 grub_env_find again, only if NAME is not found at the first time.
38642 (mangle_data_slot_name): New function.
38643 (grub_env_set_data_slot): Likewise.
38644 (grub_env_get_data_slot): Likewise.
38645 (grub_env_unset_data_slot): Likewise.
38646
38647 * include/grub/env.h (grub_env_var_type): New enum.
38648 (GRUB_ENV_VAR_LOCAL): New constant.
38649 (GRUB_ENV_VAR_GLOBAL): Likewise.
38650 (GRUB_ENV_VAR_DATA): Likewise.
38651 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
38652 "type".
38653 (grub_env_set): Replace VAR with NAME for consistency.
38654 (grub_register_variable_hook): Likewise.
38655 (grub_env_export): Specify the name of the argument.
38656 (grub_env_set_data_slot): New prototype.
38657 (grub_env_get_data_slot): Likewise.
38658 (grub_env_unset_data_slot): Likewise.
38659
7f362539 386602006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
38661
38662 Extend the loader so that GRUB can accept a loader which comes
38663 back to GRUB when a loaded image exits. Also, this change adds
38664 support for a chainloader on EFI.
f19dbdb7 38665
7f362539 38666 * term/efi/console.c: Include grub/misc.h.
38667 (grub_console_checkkey): Display a scan code on the top for
38668 debugging. This will be removed once the EFI port gets stable.
38669 Correct the scan code mapping.
38670
38671 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
38672 allocate memory from larger regions, in order to reduce the number
38673 of allocated regions. Otherwise, the MacOSX loader panics.
38674 (filter_memory_map): Avoid less than 1MB for compatibility with
38675 other loaders.
38676 (add_memory_regions): Allocate from the tail of a region, if
38677 possible, to avoid allocating a region near to 1MB, for the MacOSX
38678 loader.
38679
38680 * kern/efi/init.c (grub_efi_set_prefix): Specify
38681 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
38682
38683 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
38684 argument IMAGE_HANDLE and specify it to get a loaded image.
38685 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
38686 grub_efi_get_loaded_image.
fe6b695a 38687 (grub_efi_get_filename): Divide the length by the size of
7f362539 38688 grub_efi_char16_t.
38689 (grub_efi_get_device_path): New function.
38690 (grub_efi_print_device_path): Print End Device Path nodes. Divide
38691 the length by the size of grub_efi_char16_t for a file path device
38692 path node.
38693
38694 * kern/loader.c (grub_loader_noreturn): New variable.
38695 (grub_loader_set): Accept a new argument NORETURN. Set
38696 GRUB_LOADER_NORETURN to NORETURN.
38697 All callers changed.
38698 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
38699 grub_machine_fini.
38700
38701 * include/grub/efi/efi.h (grub_efi_get_device_path): New
38702 prototype.
38703 (grub_efi_get_loaded_image): Take an argument to specify an image
38704 handle.
38705
38706 * include/grub/loader.h (grub_loader_set): Added one more argument
38707 NORETURN.
38708
38709 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
38710 instead of grub_efi_open_protocol.
38711 (grub_efidisk_get_device_name): Likewise.
38712 (grub_efidisk_close): Print a newline.
38713 (grub_efidisk_get_device_handle): Fixed to use
38714 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
38715 GRUB_EFI_DEVICE_PATH_TYPE.
38716
38717 * disk/efi/efidisk.c (device_path_guid): Moved to ...
38718 * kern/efi/efi.c (device_path_guid): ... here.
38719
38720 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
38721 chain.mod.
38722 (kernel_mod_HEADERS): Added efi/disk.h.
38723 (_chain_mod_SOURCES): New variable.
38724 (_chain_mod_CFLAGS): Likewise.
38725 (_chain_mod_LDFLAGS): Likewise.
38726 (chain_mod_SOURCES): Likewise.
38727 (chain_mod_CFLAGS): Likewise.
38728 (chain_mod_LDFLAGS): Likewise.
38729
38730 * DISTLIST: Added include/grub/efi/chainloader.h,
38731 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
38732
38733 * include/grub/efi/chainloader.h: New file.
38734 * loader/efi/chainloader.c: Likewise.
38735 * loader/efi/chainloader_normal.c: Likewise.
38736
c0111d6e 387372006-04-30 Marco Gerards <marco@gnu.org>
38738
38739 * commands/configfile.c (grub_cmd_source): New function.
38740 (GRUB_MOD_INIT): Register the commands `source' and `.'.
38741 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
38742
df5341da 387432006-04-30 Marco Gerards <marco@gnu.org>
38744
38745 * normal/execute.c (grub_script_execute_cmd): Change the return
38746 type to `grub_err_t'. Correctly return the error.
38747 (grub_script_execute_cmdline): In case a command line is not a
38748 command or a function, try to interpret it as an assignment.
38749
f85934bd 387502006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
38751
38752 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
38753 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
38754 skip a node whose name is obviously invalid as UTF-16,
38755 i.e. contains a NUL character. Stop the iteration when the last
38756 directory entry is found. Instead of using the return value of
38757 grub_hfsplus_btree_iterate_node, store the value in RET and use
38758 it, because the iterator can be stopped by the last directory
38759 entry.
38760
8f8a2cf8 387612006-04-30 Marco Gerards <marco@gnu.org>
38762
38763 * include/grub/env.h (grub_env_export): New prototype. Reported
38764 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
38765
a27e84ce 387662006-04-30 Marco Gerards <marco@gnu.org>
38767
38768 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
38769 size of the extents in a catalog file record.
38770
eaef0553 387712006-04-29 Marco Gerards <marco@gnu.org>
38772
38773 * commands/configfile.c (grub_cmd_configfile): Execute the
38774 configfile within its own context.
38775
38776 * include/grub/env.h (grub_env_context_open): New prototype.
38777 (grub_env_context_close): Likewise.
38778
38779 * kern/env.c (grub_env): Removed.
38780 (grub_env_sorted): Likewise.
38781 (grub_env_context): New variable.
38782 (grub_env_var_context): Likewise.
38783 (grub_env_find): Search both the active context and the global
38784 context.
38785 (grub_env_context_open): New function.
38786 (grub_env_context_close): Likewise.
38787 (grub_env_insert): Likewise.
38788 (grub_env_remove): Likewise.
38789 (grub_env_export): Likewise.
38790 (grub_env_set): Changed to use helper functions to avoid code
38791 duplication.
38792 (grub_env_iterate): Rewritten so both the current context and the
38793 global context are being used.
38794
38795 * normal/command.c (export_command): New function.
38796 (grub_command_init): Register the `export' function.
38797
7b455f4d 387982006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
38799
38800 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
38801 explicitly to suppress gcc's warnings.
38802 * fs/fat.c (grub_fat_find_dir): Likewise.
38803 (grub_fat_label): Likewise.
38804 * fs/xfs.c (grub_xfs_read_inode): Likewise.
38805 (grub_xfs_mount): Likewise.
38806 (grub_xfs_label): Likewise.
38807 * fs/affs.c (grub_affs_mount): Likewise.
38808 (grub_affs_label): Likewise.
38809 (grub_affs_iterate_dir): Likewise.
38810 * fs/sfs.c (grub_sfs_mount): Likewise.
38811 (grub_sfs_iterate_dir): Likewise.
38812 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
38813 * fs/hfs.c (grub_hfs_mount): Likewise.
38814 (grub_hfs_cmp_catkeys): Likewise.
38815 (grub_hfs_find_dir): Likewise.
38816 (grub_hfs_dir): Likewise.
38817 (grub_hfs_label): Likewise.
38818 * fs/jfs.c (grub_jfs_mount): Likewise.
38819 (grub_jfs_opendir): Likewise.
38820 (grub_jfs_getent): Likewise.
38821 (grub_jfs_lookup_symlink): Likewise.
38822 (grub_jfs_label): Likewise.
38823 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
38824 (grub_hfsplus_iterate_dir): Likewise.
38825 (grub_hfsplus_btree_iterate_node): Made static.
38826
38827 * util/grub-emu.c (prefix): New variable.
38828 (grub_machine_set_prefix): New function.
38829 (main): Do not set the environment variable "prefix" here. Only
38830 set PREFIX, which is used later by grub_machine_set_prefix.
38831
38832 * include/grub/video.h: Do not include grub/symbol.h.
38833 (grub_video_register): Not exported. This symbol is not defined in
38834 the kernel.
38835 (grub_video_unregister): Likewise.
38836 (grub_video_iterate): Likewise.
38837 (grub_video_setup): Likewise.
38838 (grub_video_restore): Likewise.
38839 (grub_video_get_info): Likewise.
38840 (grub_video_get_blit_format): Likewise.
38841 (grub_video_set_palette): Likewise.
38842 (grub_video_get_palette): Likewise.
38843 (grub_video_set_viewport): Likewise.
38844 (grub_video_get_viewport): Likewise.
38845 (grub_video_map_color): Likewise.
38846 (grub_video_map_rgb): Likewise.
38847 (grub_video_map_rgba): Likewise.
38848 (grub_video_fill_rect): Likewise.
38849 (grub_video_blit_glyph): Likewise.
38850 (grub_video_blit_bitmap): Likewise.
38851 (grub_video_blit_render_target): Likewise.
38852 (grub_video_scroll): Likewise.
38853 (grub_video_swap_buffers): Likewise.
38854 (grub_video_create_render_target): Likewise.
38855 (grub_video_delete_render_target): Likewise.
38856 (grub_video_set_active_render_target): Likewise.
38857
38858 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
38859 Undefined.
38860 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
38861
38862 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
38863 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38864 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38865 instead of $(srcdir)/genkernsyms.sh.
38866
38867 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
38868 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38869 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38870 instead of $(srcdir)/genkernsyms.sh.
38871
38872 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
38873 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38874 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38875 instead of $(srcdir)/genkernsyms.sh.
38876
38877 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
38878 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38879 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38880 instead of $(srcdir)/genkernsyms.sh.
38881
38882 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
38883 genkernsyms.sh.
38884
38885 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
38886 genkernsyms.sh.
38887 (gensymlist.sh): New target.
38888 (genkernsyms.sh): Likewise.
38889
38890 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
38891 genkernsyms.sh.in and gensymlist.sh.in.
38892
38893 * genkernsyms.sh: Removed.
38894 * gensymlist.sh: Likewise.
f19dbdb7 38895
7b455f4d 38896 * genkernsyms.sh.in: New file.
38897 * gensymlist.sh.in: Likewise.
38898
1885bb27 388992006-04-25 Hollis Blanchard <hollis@penguinppc.org>
38900
38901 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
38902 clobber "prefix", since we may have already set it manually.
38903
71538dff 389042006-04-25 Hollis Blanchard <hollis@penguinppc.org>
38905
38906 * kern/misc.c (abort): New alias for grub_abort.
38907
2965c7cc 389082006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
38909
38910 A new machine-specific function "grub_machine_set_prefix" is
38911 defined. This is called after loading modules, so that a prefix
38912 initialization can use modules. Also, this change adds an
38913 intensive debugging feature for the memory manager via the
38914 configure option "--enable-mm-debug".
f19dbdb7 38915
2965c7cc 38916 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
38917 PART.LEN.
38918
38919 * kern/sparc64/ieee1275/init.c (abort): Removed.
38920 (grub_stop): Likewise.
38921 (grub_exit): New function.
38922 (grub_set_prefix): Renamed to ...
38923 (grub_machine_set_prefix): ... this.
38924 (grub_machine_init): Do not call grub_set_prefix.
38925
38926 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
38927 (grub_machine_set_prefix): ... this.
38928 (grub_machine_init): Do not call grub_set_prefix.
38929
38930 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
38931 (grub_machine_init): Do not set the prefix here.
38932
38933 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
38934
38935 * kern/efi/init.c: Include grub/mm.h.
38936 (grub_efi_set_prefix): New function.
38937
38938 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
38939 (grub_efi_get_filename): New function.
38940 (grub_print_device_path): Renamed to ...
38941 (grub_efi_print_device_path): ... this.
38942
38943 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
38944 [MM_DEBUG] (grub_realloc): Likewise.
38945 [MM_DEBUG] (grub_free): Likewise.
38946 [MM_DEBUG] (grub_memalign): Likewise.
38947 [MM_DEBUG] (grub_mm_debug): New variable.
38948 [MM_DEBUG] (grub_debug_malloc): New function.
38949 [MM_DEBUG] (grub_debug_free): New function.
38950 [MM_DEBUG] (grub_debug_realloc): New function.
38951 [MM_DEBUG] (grub_debug_memalign): New function.
38952
38953 * kern/misc.c (grub_abort): Print a newline to distinguish
38954 the message.
38955
38956 * kern/main.c (grub_main): Call grub_machine_set_prefix and
38957 grub_set_root_dev after loading modules. This is necessary when
38958 setting a prefix depends on modules.
38959
38960 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
38961 (grub_efi_print_device_path): ... this.
38962 (grub_efi_get_filename): New prototype.
38963 (grub_efi_set_prefix): Likewise.
38964
38965 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
38966 and grub/disk.h.
38967 (grub_efidisk_get_device_handle): New prototype.
38968 (grub_efidisk_get_device_name): Likewise.
38969
38970 * include/grub/mm.h: Include config.h.
38971 (MM_DEBUG): Removed.
38972 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
38973 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
38974 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
38975 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
38976 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
38977 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
38978 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
38979 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
38980 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
38981
38982 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
38983
38984 * disk/efi/efidisk.c: Include grub/partition.h.
38985 (iterate_child_devices): New function.
38986 (add_device): First, compare only last device path nodes, so that
38987 devices are sorted by the types.
38988 (grub_efidisk_get_device_handle): New function.
38989 (grub_efidisk_get_device_name): Likewise.
38990
38991 * configure.ac (--enable-mm-debug): New option to enable the
38992 memory manager debugging feature. This makes the binary much
38993 bigger, so is disabled by default.
38994
9cacaa17 389952006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
38996
38997 Use grub_abort instead of grub_stop, and grub_exit must be
38998 define in each architecture now. Also, this change adds support
38999 for EFI disks.
f19dbdb7 39000
9cacaa17 39001 * util/i386/pc/grub-probefs.c: Include grub/term.h.
39002 (grub_getkey): New function.
39003 (grub_term_get_current): Likewise.
39004
39005 * util/i386/pc/grub-setup.c: Include grub/term.h.
39006 (grub_getkey): New function.
39007 (grub_term_get_current): Likewise.
39008
39009 * util/misc.c (grub_stop): Renamed to ...
39010 (grub_exit): ... this.
39011
39012 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
39013 (grub_exit): ... this.
39014 (grub_machine_init): Use grub_abort instead of abort.
39015 (grub_stop): Removed.
39016
39017 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
39018 abort.
39019
39020 * kern/i386/pc/startup.S (grub_exit): New function.
39021 (cold_reboot): New label.
39022
39023 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
39024 (grub_efi_init): Call grub_efidisk_init.
39025 (grub_efi_fini): Call grub_efidisk_fini.
39026
39027 * kern/efi/efi.c: Include grub/mm.h.
39028 (grub_efi_console_control_guid): Renamed to ...
39029 (console_control_guid): ... this.
39030 (grub_efi_loaded_image_guid): Renamed to ...
39031 (loaded_image_guid): ... this.
39032 (grub_efi_locate_handle): New function.
39033 (grub_efi_open_protocol): Likewise.
39034 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
39035 GRUB_EFI_CONSOLE_CONTROL_GUID.
39036 (grub_efi_exit): Removed.
39037 (grub_stop): Likewise.
39038 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
39039 (grub_exit): New function.
39040 (grub_print_device_path): Likewise.
39041
39042 * kern/rescue.c (grub_rescue_cmd_exit): New function.
39043 (grub_enter_rescue_mode): Register "exit".
39044
39045 * kern/misc.c (grub_real_dprintf): A cosmetic change.
39046 (grub_abort): New function.
39047
39048 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
39049
39050 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
39051
39052 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
39053
39054 * include/grub/efi/efi.h (grub_efi_exit): Removed.
39055 (grub_print_device_path): New prototype.
39056 (grub_efi_locate_handle): Likewise.
39057 (grub_efi_open_protocol): Likewise.
39058
39059 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
39060 * disk/efi/efidisk.c: Likewise.
39061
39062 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
39063
39064 * include/grub/efi/console_control.h
39065 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
39066
39067 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
39068 last 8 bytes as an array.
39069 (GRUB_EFI_DISK_IO_GUID): New macro.
39070 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
39071 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
39072 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
39073 grub_uint8_t.
39074 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
39075 (struct grub_efi_device_path): Rename the member "sub_type" to
39076 "subtype".
39077 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
39078 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
39079 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
39080 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
39081 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
39082 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
39083 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
39084 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
39085 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
39086 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
39087 (struct grub_efi_pci_device_path): New structure.
39088 (grub_efi_pci_device_path_t): New type.
39089 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
39090 (struct grub_efi_pccard_device_path): New structure.
39091 (grub_efi_pccard_device_path_t): New type.
39092 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
39093 (struct grub_efi_memory_mapped_device_path): New structure.
39094 (grub_efi_memory_mapped_device_path_t): New type.
39095 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
39096 (struct grub_efi_vendor_device_path): New structure.
39097 (grub_efi_vendor_device_path_t): New type.
39098 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
39099 (struct grub_efi_controller_device_path): New structure.
39100 (grub_efi_controller_device_path_t): New type.
39101 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
39102 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
39103 (struct grub_efi_acpi_device_path): New structure.
39104 (grub_efi_acpi_device_path_t): New type.
39105 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
39106 (struct grub_efi_expanded_acpi_device_path): New structure.
39107 (grub_efi_expanded_acpi_device_path_t): New type.
39108 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
39109 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
39110 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
39111 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
39112 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
39113 (struct grub_efi_atapi_device_path): New structure.
39114 (grub_efi_atapi_device_path_t): New type.
39115 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
39116 (struct grub_efi_fibre_channel_device_path): New structure.
39117 (grub_efi_fibre_channel_device_path_t): New type.
39118 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
39119 (struct grub_efi_1394_device_path): New structure.
39120 (grub_efi_1394_device_path_t): New type.
39121 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
39122 (struct grub_efi_usb_device_path): New structure.
39123 (grub_efi_usb_device_path_t): New type.
39124 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
39125 (struct grub_efi_usb_class_device_path): New structure.
39126 (grub_efi_usb_class_device_path_t): New type.
39127 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
39128 (struct grub_efi_i2o_device_path): New structure.
39129 (grub_efi_i2o_device_path_t): New type.
39130 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
39131 (struct grub_efi_mac_address_device_path): New structure.
39132 (grub_efi_mac_address_device_path_t): New type.
39133 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
39134 (struct grub_efi_ipv4_device_path): New structure.
39135 (grub_efi_ipv4_device_path_t): New type.
39136 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
39137 (struct grub_efi_ipv6_device_path): New structure.
39138 (grub_efi_ipv6_device_path_t): New type.
39139 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
39140 (struct grub_efi_infiniband_device_path): New structure.
39141 (grub_efi_infiniband_device_path_t): New type.
39142 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
39143 (struct grub_efi_uart_device_path): New structure.
39144 (grub_efi_uart_device_path_t): New type.
39145 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
39146 (struct grub_efi_vendor_messaging_device_path): New structure.
39147 (grub_efi_vendor_messaging_device_path_t): New type.
39148 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
39149 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
39150 (struct grub_efi_hard_drive_device_path): New structure.
39151 (grub_efi_hard_drive_device_path_t): New type.
39152 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
39153 (struct grub_efi_cdrom_device_path): New structure.
39154 (grub_efi_cdrom_device_path_t): New type.
39155 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
39156 (struct grub_efi_vendor_media_device_path): New structure.
39157 (grub_efi_vendor_media_device_path_t): New type.
39158 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
39159 (struct grub_efi_file_path_device_path): New structure.
39160 (grub_efi_file_path_device_path_t): New type.
39161 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
39162 (struct grub_efi_protocol_device_path): New structure.
39163 (grub_efi_protocol_device_path_t): New type.
39164 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
39165 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
39166 (struct grub_efi_bios_device_path): New structure.
39167 (grub_efi_bios_device_path_t): New type.
39168 (struct grub_efi_disk_io): New structure.
39169 (grub_efi_disk_io_t): New type.
39170 (struct grub_efi_block_io_media): New structure.
39171 (grub_efi_block_io_media_t): New type.
39172 (struct grub_efi_block_io): New structure.
39173 (grub_efi_block_io_t): New type.
39174
39175 * include/grub/misc.h (grub_stop): Removed.
39176 (grub_exit): New prototype.
39177 (grub_abort): Likewise.
39178
39179 * include/grub/disk.h (enum grub_disk_dev_id): Added
39180 GRUB_DISK_DEVICE_EFIDISK_ID.
39181
39182 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
39183 disk/efi/efidisk.c.
39184 (kernel_syms.lst): Remove the target if an error occurs.
39185
49986a9f 391862006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
39187
39188 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
39189 as it was simply too buggy.
39190
970d3b8a 391912006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
39192
39193 * kern/misc.c (grub_lltoa): New function.
39194 (grub_vsprintf): Added support for the long long suffix,
39195 i.e. "ll".
39196
ff04ec24 391972006-04-20 Hollis Blanchard <hollis@penguinppc.org>
39198
39199 * Makefile.in (LDFLAGS): Add variable.
39200 (LD): Remove variable.
39201 * configure.ac: Add -m32 to LDFLAGS.
39202 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
39203 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
39204 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
39205 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
39206 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
39207 variables.
39208 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
39209 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
39210 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
39211
37e5e1a4 392122006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
39213
39214 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
39215 length for unknown glyph.
39216
c352d8dd 392172006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
39218
2eab1c0d 39219 Add support for pre-loaded modules into the EFI port.
f19dbdb7 39220
2eab1c0d 39221 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
39222 completely. Accept one more argument DIR. The caller has changed.
39223
39224 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
39225
39226 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
39227 (grub_efi_loaded_image_guid): New variable.
39228 (grub_efi_get_loaded_image): New function.
39229 (grub_arch_modules_addr): Likewise.
39230
39231 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
39232 prototype.
39233
39234 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
39235 (struct grub_efi_loaded_image): New structure.
39236 (grub_efi_loaded_image_t): New type.
39237
392382006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 39239
c352d8dd 39240 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
39241 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
39242 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
39243
6d01d6b4 392442006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
39245
39246 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
39247
976a4ea0 392482006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
39249
39250 * DISTLIST: Added include/grub/efi/console.h,
39251 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
39252 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
39253
39254 * include/grub/efi/console.h: New file.
39255 * include/grub/efi/time.h: Likewise.
39256 * include/grub/i386/efi/kernel.h: Likewise.
39257 * kern/efi/init.c: Likewise.
39258 * kern/efi/mm.c: Likewise.
39259 * term/efi/console.c: Likewise.
f19dbdb7 39260
976a4ea0 39261 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
39262 (grub_stop): Removed.
39263 (grub_get_rtc): Likewise.
39264 (grub_machine_init): Simply call grub_efi_init.
39265 (grub_machine_fini): Call grub_efi_fini.
39266
39267 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
39268 (grub_efi_output_string): Removed.
39269 (grub_efi_stall): New function.
39270 (grub_stop): Likewise.
39271 (grub_get_rtc): Likewise.
39272
39273 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
39274 (grub_efi_stall): New prototype.
39275 (grub_efi_allocate_pages): Likewise.
39276 (grub_efi_free_pages): Likewise.
39277 (grub_efi_get_memory_map): Likewise.
39278 (grub_efi_mm_init): Likewise.
39279 (grub_efi_mm_fini): Likewise.
39280 (grub_efi_init): Likewise.
39281 (grub_efi_fini): Likewise.
39282
39283 * include/grub/i386/efi/time.h: Do not include
39284 grub/symbol.h. Include grub/efi/time.h.
39285 (GRUB_TICKS_PER_SECOND): Removed.
39286 (grub_get_rtc): Likewise.
39287
39288 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
39289 Added padding. The EFI spec is buggy.
39290 (GRUB_EFI_BLACK): New macro.
39291 (GRUB_EFI_BLUE): Likewise.
39292 (GRUB_EFI_GREEN): Likewise.
39293 (GRUB_EFI_CYAN): Likewise.
39294 (GRUB_EFI_RED): Likewise.
39295 (GRUB_EFI_MAGENTA): Likewise.
39296 (GRUB_EFI_BROWN): Likewise.
39297 (GRUB_EFI_LIGHTGRAY): Likewise.
39298 (GRUB_EFI_BRIGHT): Likewise.
39299 (GRUB_EFI_DARKGRAY): Likewise.
39300 (GRUB_EFI_LIGHTBLUE): Likewise.
39301 (GRUB_EFI_LIGHTGREEN): Likewise.
39302 (GRUB_EFI_LIGHTCYAN): Likewise.
39303 (GRUB_EFI_LIGHTRED): Likewise.
39304 (GRUB_EFI_LIGHTMAGENTA): Likewise.
39305 (GRUB_EFI_YELLOW): Likewise.
39306 (GRUB_EFI_WHITE): Likewise.
39307 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
39308 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
39309 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
39310 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
39311 (GRUB_EFI_BACKGROUND_RED): Likewise.
39312 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
39313 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
39314 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
39315 (GRUB_EFI_TEXT_ATTR): Likewise.
39316
39317 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
39318 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
39319 (kernel_mod_HEADERS): Added efi/time.h.
39320
83709125 393212006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
39322
39323 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
39324 include/grub/efi/api.h, include/grub/efi/console_control.h,
39325 include/grub/efi/efi.h, include/grub/efi/pe32.h,
39326 include/grub/i386/efi/time.h, kern/efi/efi.c,
39327 kern/i386/efi/init.c, kern/i386/efi/startup.S,
39328 and util/i386/efi/grub-mkimage.c.
39329
39330 * Makefile.in (RMKFILES): Added i386-efi.rmk.
39331
39332 * genmk.rb (PModule#rule): Do not export symbols if
39333 #{prefix}_EXPORTS is set to "no".
39334
39335 * conf/i386-efi.mk: New file.
39336 * conf/i386-efi.rmk: Likewise.
39337 * include/grub/efi/api.h: Likewise.
39338 * include/grub/efi/console_control.h: Likewise.
39339 * include/grub/efi/efi.h: Likewise.
39340 * include/grub/efi/pe32.h: Likewise.
39341 * include/grub/i386/efi/time.h: Likewise.
39342 * kern/efi/efi.c: Likewise.
39343 * kern/i386/efi/init.c: Likewise.
39344 * kern/i386/efi/startup.S: Likewise.
39345 * util/i386/efi/grub-mkimage.c: Likewise.
39346
393472006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 39348
39349 * include/grub/script.h: Include <grub/parser.h> and
39350 "grub_script.tab.h".
39351 (struct grub_lexer_param): New struct.
39352 (struct grub_parser_param): Likewise.
39353 (grub_script_create_arglist): Pass the state in an argument.
39354 (grub_script_add_arglist): Likewise.
39355 (grub_script_create_cmdline): Likewise.
39356 (grub_script_create_cmdblock): Likewise.
39357 (grub_script_create_cmdif): Likewise.
39358 (grub_script_create_cmdmenu): Likewise.
39359 (grub_script_add_cmd): Likewise.
39360 (grub_script_arg_add): Likewise.
39361 (grub_script_lexer_ref): Likewise.
39362 (grub_script_lexer_deref): Likewise.
39363 (grub_script_lexer_record_start): Likewise.
39364 (grub_script_lexer_record_stop): Likewise.
39365 (grub_script_mem_record): Likewise.
39366 (grub_script_mem_record_stop): Likewise.
39367 (grub_script_malloc): Likewise.
39368 (grub_script_yylex): Likewise.
39369 (grub_script_yyparse): Likewise.
39370 (grub_script_yyerror): Likewise.
39371 (grub_script_yylex): Likewise.
39372 (grub_script_lexer_init): Return the state.
39373
39374 * normal/lexer.c (grub_script_lexer_state): Removed variable.
39375 (grub_script_lexer_done): Likewise.
39376 (grub_script_lexer_getline): Likewise.
39377 (grub_script_lexer_refs): Likewise.
39378 (script): Likewise.
39379 (newscript): Likewise.
39380 (record): Likewise.
39381 (recording): Likewise.
39382 (recordpos): Likewise.
39383 (recordlen): Likewise.
39384 (grub_script_lexer_init): Return the state instead of setting
39385 global variables.
39386 (grub_script_lexer_ref): Use the newly added argument for state
39387 instead of globals.
39388 (grub_script_lexer_deref): Likewise.
39389 (grub_script_lexer_record_start): Likewise.
39390 (grub_script_lexer_record_stop): Likewise.
39391 (recordchar): Likewise.
39392 (nextchar): Likewise.
39393 (grub_script_yylex2): Likewise.
39394 (grub_script_yylex): Likewise.
39395 (grub_script_yyerror): Likewise.
39396
39397 * normal/parser.y (func_mem): Removed variable.
39398 (menu_entry): Likewise.
39399 (err): Likewise.
39400 (%lex-param): New parser option.
39401 (%parse-param): Likewise.
39402 (script): Always return the AST.
39403 (argument): Pass the state around.
39404 (arguments): Likewise.
39405 (grubcmd): Likewise.
39406 (commands): Likewise.
39407 (function): Likewise.
39408 (menuentry): Likewise.
39409 (if_statement): Likewise.
39410 (if): Likewise.
39411
39412 * normal/script.c (grub_script_memused): Removed variable.
39413 (grub_script_parsed): Likewise.
39414 (grub_script_malloc): Added a state argument. Use that instead of
39415 global variables.
39416 (grub_script_mem_record): Likewise.
39417 (grub_script_mem_record_stop): Likewise.
39418 (grub_script_arg_add): Likewise.
39419 (grub_script_add_arglist): Likewise.
39420 (grub_script_create_cmdline): Likewise.
39421 (grub_script_create_cmdif): Likewise.
39422 (grub_script_create_cmdmenu): Likewise.
39423 (grub_script_add_cmd): Likewise.
39424 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 39425
e2a8c904 394262006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 39427
39428 * normal/command.c (grub_command_init): Remove the title command.
39429
39430 * normal/lexer.c (grub_script_yylex): Renamed from this...
39431 (grub_script_yylex2): ... to this.
39432 (grub_script_yylex): New function. Temporary
39433 introduced to filter some tokens.
39434 (grub_script_yyerror): Print a newline.
39435
39436 * normal/main.c (read_config_file): Output information about the
39437 lines that contain errors. Wait for a key after all lines have
39438 been processed. Don't return an empty menu.
39439
39440 * normal/parser.y (func_mem): Don't initialize.
39441 (menu_entry): Likewise.
39442 (err): New variable.
39443 (script): Don't return anything when an error was encountered.
39444 (ws, returns): Removed rules.
39445 (argument): Disabled concatenated variable support.
39446 (arguments): Remove explicit separators.
39447 (grubcmd): Likewise.
39448 (function): Likewise.
39449 (menuentry): Likewise.
39450 (if): Likewise.
39451 (commands): Likewise. Add error handling.
39452
39453 * normal/script.c (grub_script_create_cmdline): If
39454 `grub_script_parsed' is 0, assume the parser encountered an error.
39455
c9a86192 394562006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
39457
39458 * configure.ac: Add support for EFI. Fix the typo
39459 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
39460
70f3b243 394612006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
39462
39463 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
39464 foreign multibyte characters should be shown correctly.
39465
65f201ad 394662006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
39467
39468 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
39469 calculation.
39470 (read_config_file): Made it to close file before returning.
39471
b4b93674 394722006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
39473
39474 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
39475 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
39476 video/i386/pc/vbefill.c.
39477
39478 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
39479 video/i386/pc/vbefill.c.
39480
39481 * include/grub/video.h (grub_video_blit_format): New enum.
39482 (grub_video_mode_info): Added new member blit_format.
39483 (grub_video_get_blit_format): New function prototype.
39484
39485 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
39486 function prototype.
39487 (grub_video_vbe_map_rgb): Likewise.
39488 (grub_video_vbe_unmap_color): Likewise.
39489
39490 * include/grub/i386/pc/vbeblit.h: New file.
39491
39492 * include/grub/i386/pc/vbefill.h: New file.
39493
39494 * video/video.c (grub_video_get_blit_format): New function.
39495 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
39496 (grub_video_vbe_map_rgb): Likewise.
39497 (grub_video_vbe_unmap_color): Likewise.
39498
39499 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
39500 optimized fills.
39501 (grub_video_vbe_blit_render_target): Changed to use more optimized
39502 blits.
39503 (grub_video_vbe_setup): Added detection for optimized settings.
39504 (grub_video_vbe_create_render_target): Likewise.
39505
39506 * video/i386/pc/vbeblit.c: New file.
39507
39508 * video/i386/pc/vbefill.c: New file.
39509
c2379b9c 395102006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
39511
39512 * font/manager.c (grub_font_get_glyph): Removed font fixup from
39513 here...
39514
39515 * util/unifont2pff.rb: ... and moved it to here. Improved argument
39516 parsing to support both hex and dec ranges. If filename was missing
39517 show usage information.
39518
bd0d7896 395192006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
39520
39521 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
39522 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
39523
39524 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
39525 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
39526 (video_mod_SOURCES): Added.
39527 (video_mod_CFLAGS): Likewise.
39528 (video_mod_LDFLAGS): Likewise.
39529 (gfxterm_mod_SOURCES): Likewise.
39530 (gfxterm_mod_CFLAGS): Likewise.
39531 (gfxterm_mod_LDFLAGS): Likewise.
39532 (videotest_mod_SOURCES): Likewise.
39533 (videotest_mod_CFLAGS): Likewise.
39534 (videotest_mod_LDFLAGS): Likewise.
39535 (vesafb_mod_SOURCES): Removed.
39536 (vesafb_mod_CFLAGS): Likewise.
39537 (vesafb_mod_LDFLAGS): Likewise.
39538 (vga_mod_SOURCES): Likewise.
39539 (vga_mod_CFLAGS): Likewise.
39540 (vga_mod_LDFLAGS): Likewise.
39541
39542 * commands/videotest.c: New file.
39543
39544 * font/manager.c (fill_with_default_glyph): Modified to use
39545 grub_font_glyph.
39546 (grub_font_get_glyph): Likewise.
39547 (fontmanager): Renamed from this...
39548 (font_manager): ... to this.
39549
39550 * include/grub/font.h (grub_font_glyph): Added new structure.
39551 (grub_font_get_glyph): Modified to use grub_font_glyph.
39552
39553 * include/grub/misc.h (grub_abs): Added as inline function.
39554
39555 * include/grub/video.h: New file.
39556
39557 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
39558 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
39559 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
39560 (grub_vbe_get_controller_info): Renamed from this...
39561 (grub_vbe_bios_get_controller_info): ... to this.
39562 (grub_vbe_get_mode_info): Renamed from this...
39563 (grub_vbe_bios_get_mode_info): ... to this.
39564 (grub_vbe_set_mode): Renamed from this...
39565 (grub_vbe_bios_set_mode): ... to this.
39566 (grub_vbe_get_mode): Renamed from this...
39567 (grub_vbe_bios_get_mode): ... to this.
39568 (grub_vbe_set_memory_window): Renamed from this...
39569 (grub_vbe_bios_set_memory_window): ... to this.
39570 (grub_vbe_get_memory_window): Renamed from this...
39571 (grub_vbe_bios_get_memory_window): ... to this.
39572 (grub_vbe_set_scanline_length): Renamed from this...
39573 (grub_vbe_set_scanline_length): ... to this.
39574 (grub_vbe_get_scanline_length): Renamed from this...
39575 (grub_vbe_bios_get_scanline_length): ... to this.
39576 (grub_vbe_set_display_start): Renamed from this...
39577 (grub_vbe_bios_set_display_start): ... to this.
39578 (grub_vbe_get_display_start): Renamed from this...
39579 (grub_vbe_bios_get_display_start): ... to this.
39580 (grub_vbe_set_palette_data): Renamed from this...
39581 (grub_vbe_bios_set_palette_data): ... to this.
39582 (grub_vbe_set_pixel_rgb): Removed.
39583 (grub_vbe_set_pixel_index): Likewise.
39584
39585 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
39586 from this...
39587 (grub_vbe_bios_get_controller_info): ... to this.
39588 (grub_vbe_get_mode_info): Renamed from this...
39589 (grub_vbe_bios_get_mode_info): ... to this.
39590 (grub_vbe_set_mode): Renamed from this...
39591 (grub_vbe_bios_set_mode): ... to this.
39592 (grub_vbe_get_mode): Renamed from this...
39593 (grub_vbe_bios_get_mode): ... to this.
39594 (grub_vbe_set_memory_window): Renamed from this...
39595 (grub_vbe_bios_set_memory_window): ... to this.
39596 (grub_vbe_get_memory_window): Renamed from this...
39597 (grub_vbe_bios_get_memory_window): ... to this.
39598 (grub_vbe_set_scanline_length): Renamed from this...
39599 (grub_vbe_set_scanline_length): ... to this.
39600 (grub_vbe_get_scanline_length): Renamed from this...
39601 (grub_vbe_bios_get_scanline_length): ... to this.
39602 (grub_vbe_set_display_start): Renamed from this...
39603 (grub_vbe_bios_set_display_start): ... to this.
39604 (grub_vbe_get_display_start): Renamed from this...
39605 (grub_vbe_bios_get_display_start): ... to this.
39606 (grub_vbe_set_palette_data): Renamed from this...
39607 (grub_vbe_bios_set_palette_data): ... to this.
39608 (grub_vbe_bios_get_controller_info): Fixed problem with registers
39609 getting corrupted after calling it. Added more pushes and pops.
39610 (grub_vbe_bios_set_mode): Likewise.
39611 (grub_vbe_bios_get_mode): Likewise.
39612 (grub_vbe_bios_get_memory_window): Likewise.
39613 (grub_vbe_bios_set_scanline_length): Likewise.
39614 (grub_vbe_bios_get_scanline_length): Likewise.
39615 (grub_vbe_bios_get_display_start): Likewise.
39616 (grub_vbe_bios_set_palette_data): Likewise.
39617
39618 * normal/cmdline.c (cl_set_pos): Refresh the screen.
39619 (cl_insert): Likewise.
39620 (cl_delete): Likewise.
39621
39622 * term/gfxterm.c: New file.
39623
39624 * term/i386/pc/vesafb.c: Removed file.
39625
39626 * video/video.c: New file.
39627
39628 * video/i386/pc/vbe.c (real2pm): Added new function.
39629 (grub_video_vbe_draw_pixel): Likewise.
39630 (grub_video_vbe_get_video_ptr): Likewise.
39631 (grub_video_vbe_get_pixel): Likewise
39632 (grub_video_vbe_init): Likewise.
39633 (grub_video_vbe_fini): Likewise.
39634 (grub_video_vbe_setup): Likewise.
39635 (grub_video_vbe_get_info): Likewise.
39636 (grub_video_vbe_set_palette): Likewise.
39637 (grub_video_vbe_get_palette): Likewise.
39638 (grub_video_vbe_set_viewport): Likewise.
39639 (grub_video_vbe_get_viewport): Likewise.
39640 (grub_video_vbe_map_color): Likewise.
39641 (grub_video_vbe_map_rgb): Likewise.
39642 (grub_video_vbe_map_rgba): Likewise.
39643 (grub_video_vbe_unmap_color): Likewise.
39644 (grub_video_vbe_fill_rect): Likewise.
39645 (grub_video_vbe_blit_glyph): Likewise.
39646 (grub_video_vbe_blit_bitmap): Likewise.
39647 (grub_video_vbe_blit_render_target): Likewise.
39648 (grub_video_vbe_scroll): Likewise.
39649 (grub_video_vbe_swap_buffers): Likewise.
39650 (grub_video_vbe_create_render_target): Likewise.
39651 (grub_video_vbe_delete_render_target): Likewise.
39652 (grub_video_vbe_set_active_render_target): Likewise.
39653 (grub_vbe_set_pixel_rgb): Remove function.
39654 (grub_vbe_set_pixel_index): Likewise.
39655 (index_color_mode): Remove static variable.
39656 (active_mode): Likewise.
39657 (framebuffer): Likewise.
39658 (bytes_per_scan_line): Likewise.
39659 (grub_video_vbe_adapter): Added new static variable.
39660 (framebuffer): Likewise.
39661 (render_target): Likewise.
39662 (initial_mode): Likewise.
39663 (mode_in_use): Likewise.
39664 (mode_list): Likewise.
39665
5f97350b 396662006-03-10 Marco Gerards <marco@gnu.org>
39667
39668 * configure.ac (AC_INIT): Bumped to 1.93.
39669
39670 * DISTLIST: Added `include/grub/hfs.h'.
39671
a3c5c6f8 396722006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
39673
39674 * boot/i386/pc/boot.S (general_error): Before looping, try INT
39675 18H, which might help the BIOS falling back to next boot media.
39676
6de53d26 396772006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
39678
39679 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
39680 Poe Chen <poe.poechen@gmail.com>.
39681
77c4a393 396822006-01-17 Marco Gerards <marco@gnu.org>
39683
39684 * include/grub/normal.h: Include <grub/script.h>.
39685 (grub_command_list): Removed struct.
39686 (grub_command_list_t): Removed type.
39687 (grub_menu_entry): Remove members `num' and `command_list'. Add
39688 members `commands' and `sourcecode'.
39689 * include/grub/script.h: Add inclusion guards.
39690 (grub_script_cmd_menuentry): New struct.
39691 (grub_script_execute_menuentry): New prototype.
39692 (grub_script_lexer_record_start): Likewise.
39693 (grub_script_lexer_record_stop): Likewise.
39694 * normal/execute.c (grub_script_execute_menuentry): New function.
39695 * normal/lexer.c (record, recording, recordpos, recordlen): New
39696 variables.
39697 (grub_script_lexer_record_start): New function.
39698 (grub_script_lexer_record_stop): Likewise.
39699 (recordchar): Likewise.
39700 (nextchar): Likewise.
39701 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
39702 2048 as the buffer size. Add the tokens `menuentry' and `@'.
39703 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
39704 (current_menu): New variable.
39705 (free_menu): Mainly rewritten.
39706 (grub_normal_menu_addentry): New function.
39707 (read_config_file): Rewritten.
39708 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 39709 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 39710 the menu entry.
39711 (run): Mainly rewritten.
39712 * normal/parser.y (menu_entry): New variable.
39713 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
39714 (menuentry): New rule.
39715 (command): Add `menuentry'.
39716 (if_statement): Allow additional returns before `fi'.
39717 * normal/script.c (grub_script_create_cmdmenu): New function.
39718
144f1f98 397192006-01-03 Marco Gerards <marco@gnu.org>
39720
39721 * INSTALL: GNU Bison is required.
39722 * configure.ac: Rewritten the test to detect Bison.
39723 * Makefile.in (YACC): New variable. Reported by Xun Sun
39724 <xun.sun.cn@gmail.com>.
39725
af4b2d89 397262006-01-03 Marco Gerards <marco@gnu.org>
39727
39728 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
39729 the HFS+ filesystem to filesystem blocks.
39730 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
39731 GCC warning is silenced.
39732
15643b71 397332006-01-03 Marco Gerards <marco@gnu.org>
39734
39735 * partmap/apple.c (apple_partition_map_iterate): Convert the data
39736 read from disk from big endian to host byte order.
39737
00905879 397382006-01-03 Hollis Blanchard <hollis@penguinppc.org>
39739
39740 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
39741 documentation.
39742 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
39743 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
39744 embedded HFS+ filesystem.
39745 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
39746 (grub_hfs_sblock): Move from here...
39747 * include/grub/hfs.h: To here... New file.
39748 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
39749 documentation.
39750 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
39751 New macros.
39752 (grub_hfsplus_volheader): Change type of member `magic' to
39753 `grub_uint16_t'.
39754 (grub_hfsplus_data): Add new member `embedded_offset'.
39755 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
39756 returned block.
39757 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
39758 Calculate the offset.
39759
8899bc3e 397602005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39761
39762 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
39763 Removed.
39764 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
39765
ae8c0277 397662005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39767
39768 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
39769 ENV->NAME is NULL after allocating ENV->VALUE.
39770
07084456 397712005-12-25 Marco Gerards <marco@gnu.org>
39772
39773 * kern/env.c (grub_env_set): Rewritten the error handling code.
39774
4750f5f1 397752005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39776
39777 * geninit.sh: Made more robust, and more portable.
39778
50214199 397792005-12-25 Marco Gerards <marco@gnu.org>
39780
39781 Add support for Apple HFS+ filesystems.
f19dbdb7 39782
50214199 39783 * fs/hfsplus.c: New file.
39784
39785 * DISTLIST: Added `fs/hfsplus.c'.
39786
39787 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
39788 (hfsplus_mod_SOURCES): New variable.
39789 (hfsplus_mod_CFLAGS): Likewise.
39790 (hfsplus_mod_LDFLAGS): Likewise.
39791 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
39792 (grub_setup_SOURCES): Likewise.
39793 (grub_mkdevicemap_SOURCES): Likewise.
39794 (grub_emu_SOURCES): Likewise.
39795 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39796
39797 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
39798
39799 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
39800
befaed6c 398012005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39802
39803 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
39804 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
39805 include/grub/parser.h, include/grub/script.h, kern/parser.c,
39806 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
39807 normal/lexer.c, normal/parser.y, normal/script.c, and
39808 partmap/gpt.c.
39809 Removed kern/sparc64/cache.c.
39810
39811 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
39812 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
39813 grub_emu_init.c.
39814
39815 * configure.ac (AC_INIT): Bumped to 1.92.
39816
6a124103 398172005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
39818
39819 * kern/err.c (grub_error_push): Added new function to support error
39820 stacks.
39821 (grub_error_pop): Likewise.
39822 (grub_error_stack_items): New local variable to support error stacks.
39823 (grub_error_stack_pos): Likewise.
39824 (grub_error_stack_assert): Likewise.
39825 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
39826 stack depth.
39827 (grub_print_error): Added support to print errors from error stack.
39828
39829 * include/grub/err.h (grub_error_push): Added function prototype.
39830 (grub_error_pop): Likewise.
39831
be973c1b 398322005-12-09 Hollis Blanchard <hollis@penguinppc.org>
39833
39834 * configure.ac: Accept `powerpc64' as host_cpu.
39835 (amd64): Rename to `biarch32'.
39836
39837 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
39838 non-cacheline-aligned addresses.
39839
39840 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
39841 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
39842 if `size' is non-zero.
39843
b04216ab 398442005-12-03 Marco Gerards <mgerards@xs4all.nl>
39845
39846 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
39847 and `cd' to make sure the filename is not prefixed with a
39848 directory name.
39849 (pkgdata_MODULES): Add `gpt.mod'.
39850 (gpt_mod_SOURCES): New variable.
39851 (gpt_mod_CFLAGS): Likewise.
39852 (gpt_mod_LDFLAGS): Likewise.
39853
39854 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
39855
39856 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
39857 New macro.
39858
39859 * partmap/gpt.c: New file.
39860
39861 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
39862 GPT partition map is detected.
39863
41730ed9 398642005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
39865
39866 * commands/i386/pc/play.c: New file.
39867 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
39868 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
39869 macros.
f19dbdb7 39870
95dc3643 398712005-11-27 Marco Gerards <mgerards@xs4all.nl>
39872
39873 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
39874 ((unused))' to silence gcc warning.
39875
1569ec51 398762005-11-26 Hollis Blanchard <hollis@penguinppc.org>
39877
39878 * configure.ac: Correct `AC_PROG_YACC' test.
39879
9abde152 398802005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39881
39882 * util/powerpc/ieee1275/grub-install.in: Run the mount point
39883 check before installing files.
39884
44b83271 398852005-11-22 Mike Small <smallm@panix.com>
39886
39887 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
39888 number regex so multidigit numbers are recognized correctly.
39889
398902005-11-22 Mike Small <smallm@panix.com>
39891
39892 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
39893 debugging message before attempting to claim memory.
39894 (grub_rescue_cmd_initrd): Add a claim debugging message and try
39895 multiple addresses in case of failure.
39896
9c12956b 398972005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39898
39899 * term/tparm.c (get_space): Remove empty `if' statement.
39900
39901 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
39902
39903 * kern/parser.c (check_varstate): Rename `state' to 's'.
39904
aeaf81d9 399052005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39906
39907 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
39908 variable definitions to the beginning of each function. Sort stack
39909 variables by size.
39910 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
39911 `buf' argument to `char *'.
39912
79bbb63f 399132005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39914
39915 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
39916 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 39917 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 39918 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
39919 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
39920 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
39921 configfile.mod, search.mod, gzio.mod and test.mod.
39922 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
39923 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
39924 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
39925 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
39926 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
39927 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
39928 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
39929 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
39930 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
39931 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
39932 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
39933 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
39934 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
39935 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
39936 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
39937 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
39938 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
39939 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
39940 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
39941 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
39942 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
39943 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
39944 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
39945
39946 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
39947 `grep --include'.
39948 (pkgdata_MODULES): Add test.mod.
39949
233b1628 399502005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39951
39952 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
39953 appending to variables with "+=".
39954 (PModule): Use full pathname to generate *.lst filenames.
39955
39956 * Makefile.in: Fixed list rules moved from genmk.rb.
39957 (.DELETE_ON_ERROR): New special target.
39958 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
39959
39960 * conf/i386-pc.rmk: Include conf/common.mk.
39961 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 39962 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 39963 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
39964 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
39965 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
39966 configfile.mod, search.mod, gzio.mod and test.mod.
39967 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
39968 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
39969 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
39970 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
39971 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
39972 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
39973 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
39974 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
39975 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
39976 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
39977 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
39978 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
39979 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
39980 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
39981 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
39982 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
39983 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
39984 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
39985 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
39986 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
39987 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
39988 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
39989 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
39990 here...
39991 * conf/common.rmk: ... to here. New file.
39992
39993 * conf/common.mk: New file.
39994
16f820c8 399952005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
39996
39997 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
39998 (grub_script.tab.c): ... here.
39999
40000 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
40001 (grub_script.tab.c): ... here.
40002
40003 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
40004 (grub_script.tab.c): ... here.
40005
40006 * normal/command.c (grub_command_find): Fixed a memory leak of
40007 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
40008
63ba1554 400092005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40010
40011 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
40012 "@" which marks the start of a comment on ARM.
40013 (VARIABLE): Likewise.
40014
7f67dc13 400152005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40016
79bbb63f 40017 Add support for Linux/ADFS partition tables.
7f67dc13 40018
40019 * partmap/acorn.c: New file.
40020
40021 * include/grub/acorn_filecore.h: Likewise.
40022
40023 * DISTLIST: Added `partmap/acorn.c' and
40024 `include/grub/acorn_filecore.h'.
f19dbdb7 40025
7f67dc13 40026 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40027 `partmap/acorn.c'.
40028 (pkgdata_MODULES): Add `acorn.mod'.
40029 (acorn_mod_SOURCES): New variable.
40030 (acorn_mod_CFLAGS): Likewise.
40031
40032 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40033 `partmap/acorn.c'.
40034 (pkgdata_MODULES): Add `acorn.mod'.
40035 (acorn_mod_SOURCES): New variable.
40036 (acorn_mod_CFLAGS): Likewise.
40037
40038 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
40039 (pkgdata_MODULES): Add `acorn.mod'.
40040 (acorn_mod_SOURCES): New variable.
40041 (acorn_mod_CFLAGS): Likewise.
40042 (acorn_mod_LDFLAGS): Likewise.
40043
40044 * include/types.h (grub_disk_addr_t): New typedef.
40045
6d099807 400462005-11-13 Marco Gerards <mgerards@xs4all.nl>
40047
40048 * geninit.sh: New file.
40049
40050 * geninitheader.sh: Likewise.
40051
40052 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
40053 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
40054 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
40055 * commands/configfile.c (grub_configfile_init)
40056 (grub_configfile_fini): Likewise.
40057 * commands/default.c (grub_default_init, grub_default_fini):
40058 Likewise.
40059 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
40060 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
40061 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
40062 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
40063 Likewise.
40064 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
40065 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
40066 Likewise.
40067 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 40068 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 40069 Likewise.
40070 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
40071 Likewise.
fe6b695a 40072 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 40073 Likewise.
40074 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
40075 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
40076 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
40077 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
40078 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
40079 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
40080 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
40081 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
40082 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
40083 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
40084 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
40085 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
40086 * partmap/amiga.c (grub_amiga_partition_map_init)
40087 (grub_amiga_partition_map_fini): Likewise.
40088 * partmap/apple.c (grub_apple_partition_map_init)
40089 (grub_apple_partition_map_fini): Likewise.
40090 * partmap/pc.c (grub_pc_partition_map_init)
40091 (grub_pc_partition_map_fini): Likewise.
40092 * partmap/sun.c (grub_sun_partition_map_init,
40093 grub_sun_partition_map_fini): Likewise.
40094 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
40095 Likewise.
40096
40097 * util/grub-emu.c: Include <grub_modules_init.h>.
40098 (main): Don't initialize and de-initialize any modules directly,
40099 use `grub_init_all' and `grub_fini_all' instead.
40100
40101 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
40102 `grub_vesafb_mod_init'.
40103 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
40104 all users.
40105 * term/i386/pc/vga.c (grub_vga_init): Renamed to
40106 `grub_vga_mod_init'. Updated all users.
40107 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 40108
6d099807 40109 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
40110 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
40111 rules.
40112
40113 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
40114 Generate a function to initialize the module in utilities.
40115 Updated all callers.
40116 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
40117 initialize the module in utilities. Updated all callers.
40118
9046bcf0 401192005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40120
40121 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
40122 escape sequence and a literal ^L to clear the screen.
40123
40124 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
40125 when returning from Open Firmware.
40126
d13ea639 401272005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40128
40129 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
40130 (grub_ofconsole_height): Likewise.
40131 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
40132 manually insert a '\n'.
40133 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
40134 `grub_ofconsole_height'. Return early if these are already set.
40135
a8fcf206 401362005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
40137
40138 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40139 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
40140 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
40141 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
40142 and `normal/script.c'.
40143 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40144 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40145 (test_mod_SOURCES): New variable.
40146 (test_mod_CFLAGS): Likewise.
40147 (test_mod_LDFLAGS): Likewise.
40148 (pkgdata_MODULES): Add `test.mod'.
40149 (grub_script.tab.c): New rule.
40150 (grub_script.tab.h): Likewise.
40151
b6b32745 401522005-11-07 Marco Gerards <mgerards@xs4all.nl>
40153
40154 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40155 `commands/test.c', `normal/execute.c', `normal/lexer.c',
40156 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40157 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40158 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40159 (test_mod_SOURCES): New variable.
40160 (test_mod_CFLAGS): Likewise.
40161 (pkgdata_MODULES): Add `test.mod'.
40162 (grub_script.tab.c): New rule.
40163 (grub_script.tab.h): Likewise.
40164
daac212a 401652005-11-06 Marco Gerards <mgerards@xs4all.nl>
40166
40167 Add initial scripting support.
40168
40169 * commands/test.c: New file.
40170 * include/grub/script.h: Likewise.
40171 * normal/execute.c: Likewise.
40172 * normal/function.c: Likewise.
40173 * normal/lexer.c: Likewise.
40174 * normal/parser.y: Likewise.
40175 * normal/script.c: Likewise.
40176
40177 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 40178
daac212a 40179 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
40180 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
40181 `normal/function.c' and `normal/script.c'.
40182 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40183 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 40184 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
40185 variables.
daac212a 40186 (pkgdata_MODULES): Add `test.mod'.
40187 (grub_script.tab.c): New rule.
40188 (grub_script.tab.h): Likewise.
40189
40190 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
40191
40192 * include/grub/normal.h (grub_test_init): New prototype.
40193 (grub_test_fini): Likewise.
f19dbdb7 40194
daac212a 40195 * normal/command.c: Include <grub/script.h>.
40196 (grub_command_execute): Rewritten.
f19dbdb7 40197
daac212a 40198 * util/grub-emu.c (main): Call `grub_test_init' and
40199 `grub_test_fini'.
40200
77500b2b 402012005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40202
40203 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
40204 to 0.
40205 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
40206 there are no pending characters.
40207
e45deb9e 402082005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40209
40210 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
40211 `grub_strndup' to drop device arguments. Replace unnecessary
40212 `grub_strndup' with `grub_strdup'.
40213
4ce32619 402142005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40215
40216 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
40217 `debug' environment variable has been set.
40218
402192005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 40220
4ce32619 40221 * Makefile.in (install-local): Use $(DATA).
40222 (uninstall): Likewise.
40223 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
40224 (sbin_UTILITIES): ... to here.
40225 (sbin_SCRIPTS): New variable.
40226 (grub_install_SOURCES): New variable.
40227 * util/powerpc/ieee1275/grub-install.in: New file.
40228 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
40229 variable.
40230 (add_segments): Call `grub_util_get_path'.
40231
25fe6f03 402322005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40233
40234 From Timothy Baldwin:
40235 * commands/ls.c (grub_ls_list_files): Close FILE with
40236 grub_file_close.
40237 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
40238
04ccf3ec 402392005-10-24 Marco Gerards <mgerards@xs4all.nl>
40240
40241 * include/grub/parser.h: New file.
40242
40243 * kern/parser.c: Likewise.
40244
40245 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
40246 (grub_setup_SOURCES): Likewise.
40247 (grub_probefs_SOURCES): Likewise.
40248 (grub_emu_SOURCES): Likewise.
40249 (kernel_img_HEADERS): Add `parser.h'.
40250
40251 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40252 (grub_emu_SOURCES): Add `kern/parser.c'.
40253 (grubof_SOURCES): Likewise.
40254
40255 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40256 (grubof_SOURCES): Add `kern/parser.c'.
40257
40258 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
40259
40260 * kern/misc.c (grub_split_cmdline): Removed function.
40261
40262 * kern/rescue.c: Include <grub/parser.h>.
40263 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
40264 of `grub_split_cmdline'.
40265
40266 * normal/command.c: Include <grub/parser.h>.
40267 (grub_command_execute): Use `grub_parser_split_cmdline' instead
40268 of `grub_split_cmdline'.
40269
40270 * normal/completion.c: Include <grub/parser.h>.
40271 (cmdline_state): New variable.
40272 (iterate_dir): End the filename with a quote depending on the
40273 command line state.
40274 (get_state): new function.
40275 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
40276 split the arguments and determine the current argument. When the
40277 argument string is not quoted, escape all spaces.
40278
6d8f4b0e 402792005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40280
40281 * normal/sparc64/setjmp.S: New file.
40282
15cf03ed 402832005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40284
40285 * include/grub/sparc64/libgcc.h: New file.
40286 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
40287 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
40288 normal/sparc64/setjmp.c.
40289
03e8661a 402902005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40291
40292 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
40293 * kern/sparc64/cache.S: New file.
40294 * kern/sparc64/cache.c: Removed.
40295 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
40296 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
40297 -mtune=ultrasparc.
40298 (COMMON_LDFLAGS): Add -melf64_sparc.
40299 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
40300 (grubof_SOURCES): Use cache.S instead of cache.c.
40301 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
40302 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
40303 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
40304 commented though.
40305 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
40306 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
40307 (linux_mod_CFLAGS): Commented out.
40308 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
40309 out because module isn't built.
40310 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
40311 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
40312 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
40313 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
40314 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
40315 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
40316 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
40317 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
40318 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
40319 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
40320 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40321 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40322 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
40323 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
40324
34eeec8a 403252005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
40326
40327 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
40328 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
40329 longer, because HFS should not be used on PC.
40330
708367a3 403312005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40332
40333 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
40334 consistently within the loop.
40335
6fa1251a 403362005-10-15 Marco Gerards <mgerards@xs4all.nl>
40337
40338 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
40339 directory can not be read.
40340
4801580b 403412005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40342
40343 * configure.ac (AC_INIT): Increase the version number to 1.91.
40344
40345 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
40346 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
40347 term/i386/pc/serial.c.
40348
219ad426 403492005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40350
40351 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
40352 file size must be permitted.
40353
40354 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
40355 between %ah and %al.
40356
688e5699 403572005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40358
40359 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
40360 grub_uint64_t.
40361 Call the hook with a NUL-terminated filename.
40362 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
40363 grub_cpu_to_be32.
40364
40365 * kern/term.c (cursor_state): New variable.
40366 (grub_term_set_current): Reset the cursor state on a new
40367 terminal.
40368 (grub_setcursor): Rewritten to use CURSOR_STATE.
40369 (grub_getcursor): New function.
40370
40371 * include/grub/term.h (grub_getcursor): New prototype.
40372
40373 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
40374 integers on ARM. Reported by Timothy Baldwin
40375 <T.E.Baldwin99@members.leeds.ac.uk>.
40376
bb34586c 403772005-10-11 Marco Gerards <mgerards@xs4all.nl>
40378
40379 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
40380 allocated.
40381 (grub_sfs_dir): Likewise.
40382
9a909877 403832005-10-09 Marco Gerards <mgerards@xs4all.nl>
40384
40385 Add support for the SFS filesystem.
40386
40387 * fs/sfs.c: New file.
40388
40389 * DISTLIST: Added `fs/sfs.c'.
40390
40391 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
40392 (grub_probefs_SOURCES): Likewise.
40393 (grub_emu_SOURCES): Likewise.
40394 (pkgdata_MODULES): Add `sfs.mod'.
40395 (sfs_mod_SOURCES): New variable.
40396 (sfs_mod_CFLAGS): Likewise.
40397 (sfs_mod_LDFLAGS): Likewise.
40398
40399 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
40400 (pkgdata_MODULES): Add `sfs.mod'.
40401 (sfs_mod_SOURCES): New variable.
40402 (sfs_mod_CFLAGS): Likewise.
40403
40404 * util/grub-emu.c (main): Call `grub_sfs_init' and
40405 `grub_sfs_fini'.
40406
40407 * include/grub/fs.h (grub_sfs_init): New prototype.
40408 (grub_sfs_fini): Likewise.
40409
57bdbde3 404102005-10-07 Marco Gerards <mgerards@xs4all.nl>
40411
40412 Add support for the AFFS filesystem.
40413
40414 * fs/affs.c: New file.
40415
40416 * DISTLIST: Added `fs/affs.c'.
40417
40418 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
40419 (grub_probefs_SOURCES): Likewise.
40420 (grub_emu_SOURCES): Likewise.
40421 (pkgdata_MODULES): Add `affs.mod'.
40422 (affs_mod_SOURCES): New variable.
40423 (affs_mod_CFLAGS): Likewise.
40424 (affs_mod_LDFLAGS): Likewise.
40425
40426 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
40427 (pkgdata_MODULES): Add `affs.mod'.
40428 (affs_mod_SOURCES): New variable.
40429 (affs_mod_CFLAGS): Likewise.
40430
40431 * util/grub-emu.c (main): Call `grub_affs_init' and
40432 `grub_affs_fini'.
40433
40434 * include/grub/fs.h (grub_affs_init): New prototype.
40435 (grub_affs_fini): Likewise.
40436
047b67e0 404372005-10-01 Marco Gerards <mgerards@xs4all.nl>
40438
40439 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
40440
59b8208a 404412005-10-01 Marco Gerards <mgerards@xs4all.nl>
40442
40443 * configure.ac: Accept `x86_64' as host_cpu. In that case add
40444 `-m32' to CFLAGS.
40445
40446 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
40447 linking.
f19dbdb7 40448
59b8208a 40449 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
40450 (COMMON_LDFLAGS): New variable.
40451 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
40452 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
40453 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
40454 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
40455 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
40456 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
40457 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
40458 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
40459 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
40460 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
40461 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
40462 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
40463 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
40464 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
40465 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
40466 variables.
40467 (normal_mod_ASFLAGS): Add `-m32'.
40468
40469 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
40470 (grub_host_size_t, grub_host_ssize_t): New types.
40471 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 40472 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 40473 `GRUB_HOST_SIZEOF_VOID_P'.
40474
40475 * include/grub/kernel.h (struct grub_module_header): Type of
40476 member offset changed to `grub_host_off_t'. Type of member size
40477 changed to `grub_host_size_t'.
40478 (struct grub_module_info): Type of member offset changed to
40479 `grub_host_off_t'. Type of member size changed to
40480 `grub_host_size_t'.
40481
b4093103 404822005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
40483
40484 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 40485
b4093103 40486 * kern/i386/pc/startup.S (multiboot_header): New label.
40487 (multiboot_entry): Likewise.
40488 (multiboot_trampoline): Likewise.
40489
40490 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40491 Increased to 0x4A0.
40492
40493 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
40494 put parentheses after a question mark.
40495 [!GRUB_UTIL] (my_mod): New variable.
40496
40497 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
40498
b2499b29 404992005-09-28 Marco Gerards <mgerards@xs4all.nl>
40500
40501 Adds support for the XFS filesystem. Btrees are not supported
40502 yet.
40503
40504 * fs/xfs.c: New file.
40505
40506 * DISTLIST: Added `fs/xfs.c'.
40507
40508 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
40509 (grub_probefs_SOURCES): Likewise.
40510 (grub_emu_SOURCES): Likewise.
40511 (pkgdata_MODULES): Add `xfs.mod'.
40512 (xfs_mod_SOURCES): New variable.
40513 (xfs_mod_CFLAGS): Likewise.
40514
40515 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
40516 (pkgdata_MODULES): Add `xfs.mod'.
40517 (xfs_mod_SOURCES): New variable.
40518 (xfs_mod_CFLAGS): Likewise.
40519
40520 * util/grub-emu.c (main): Call `grub_xfs_init' and
40521 `grub_xfs_fini'.
40522
40523 * include/grub/fs.h (grub_xfs_init): New prototype.
40524 (grub_xfs_fini): Likewise.
40525
f19dbdb7 40526
83d37a62 405272005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
40528
40529 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
40530 color modes, allow greater than 16 colors to be configured as
40531 a default palette.
40532
47d2d65e 405332005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
40534
40535 * normal/completion.c (complete_arguments): Add the qualifier
40536 const into OPTIONS.
40537
40538 From Omniflux <omniflux+lists@omniflux.com>:
40539 * include/grub/terminfo.h: New file.
40540 * include/grub/tparm.h: Likewise.
40541 * include/grub/i386/pc/serial.h: Likewise.
40542 * term/terminfo.c: Likewise.
40543 * term/tparm.c: Likewise.
40544 * term/i386/pc/serial.c: Likewise.
40545 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
40546 serial.mod.
40547 (terminfo_mod_SOURCES): New variable.
40548 (terminfo_mod_CFLAGS): Likewise.
40549 (serial_mod_SOURCES): Likewise.
40550 (serial_mod_CFLAGS): Likewise.
40551
48b671ff 405522005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
40553
40554 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
40555 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
40556 and kern/powerpc/ieee1275/cmain.c, respectively.
40557
40558 * boot/powerpc/ieee1275/crt0.S: Moved to ...
40559 * kern/powerpc/ieee1275/crt0.S: ... here.
40560
40561 * boot/powerpc/ieee1275/cmain.c: Moved to ...
40562 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 40563
48b671ff 40564 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
40565 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
40566 instead of boot/powerpc/ieee1275/crt0.S and
40567 boot/powerpc/ieee1275/cmain.c, respectively.
40568
40569 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
40570 sectors. It was not used anyway.
40571
09fc77a7 405722005-08-30 Hollis Blanchard <hollis@penguinppc.org>
40573
40574 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
40575 `unused parameter' warning.
40576
003789c7 405772005-08-30 Hollis Blanchard <hollis@penguinppc.org>
40578
40579 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
40580 function.
40581 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
40582 getcharwidth.
40583
67f44c86 405842005-08-28 Marco Gerards <metgerards@student.han.nl>
40585
40586 * include/grub/normal.h (enum grub_completion_type): Added
40587 `GRUB_COMPLETION_TYPE_ARGUMENT'.
40588
40589 * normal/cmdline.c (print_completion): Handle
40590 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
40591 * normal/menu_entry.c (store_completion): Likewise.
40592
40593 * normal/completion.c (complete_arguments): New function.
40594 (grub_normal_do_completion): Call `complete_arguments' when the
40595 current words start with a dash.
40596
0b5abe02 405972005-08-27 Marco Gerards <metgerards@student.han.nl>
40598
40599 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
40600 `gzio.mod' instead of `io.mod').
40601
d9864ee1 406022005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
40603
40604 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
40605 (DISTDIRS): Added io and video.
40606 Rewrite the search routine to make an output consistently.
40607
40608 * DISTLIST: Added conf/sparc64-ieee1275.mk,
40609 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
40610 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
40611 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
40612 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
40613 util/powerpc/ieee1275/misc.c.
f19dbdb7 40614
d9864ee1 40615 * include/grub/gzio.h: New file.
40616 * io/gzio.c: Likewise.
f19dbdb7 40617
d9864ee1 40618 * kern/file.c (grub_file_close): Call grub_device_close only if
40619 FILE->DEVICE is not NULL.
40620
40621 * include/grub/mm.h [!NULL] (NULL): New macro.
40622
40623 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
40624
40625 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
40626 (pkgdata_MODULES): Added gzio.mod.
40627 (gzio_mod_SOURCES): New variable.
40628 (gzio_mod_CFLAGS): Likewise.
40629
40630 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
40631 (pkgdata_MODULES): Added gzio.mod.
40632 (gzio_mod_SOURCES): New variable.
40633 (gzio_mod_CFLAGS): Likewise.
40634
40635 * commands/cat.c: Include grub/gzio.h.
40636 (grub_cmd_cat): Use grub_gzfile_open instead of
40637 grub_file_open.
f19dbdb7 40638
d9864ee1 40639 * commands/cmp.c: Include grub/gzio.h.
40640 (grub_cmd_cmp): Use grub_gzfile_open instead of
40641 grub_file_open.
40642
40643 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
40644 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
40645 grub_file_open.
40646 (grub_rescue_cmd_module): Likewise.
40647
fa46f4b5 406482005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
40649
40650 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
40651 kern/sparc64/ieee1275/init.c because it contains _start.
40652 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
40653
e9211b5d 406542005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
40655
40656 * configure.ac: Add support for sparc64 host with ieee1275
40657 firmware.
40658 * configure: Generated from configure.ac.
40659 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
40660 instead of int.
40661 (grub_ofdisk_read): Likewise.
40662 (grub_ofdisk_open): Use %p to print pointer values, and cast the
40663 pointers as (void *) to remove a warning.
40664 (grub_ofdisk_close): Likewise.
40665 (grub_ofdisk_read): Likewise.
40666 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
40667 returns, so make it return void to remove a warning.
40668 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
40669 Corresponding prototype change.
40670 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
40671 values, and cast the pointers as (void *) to remove a warning.
40672 (grub_mm_dump): Likewise.
40673 * conf/sparc64-ieee1275.mk: New file.
40674 * conf/sparc64-ieee1275.rmk: Likewise.
40675 * include/grub/sparc64/setjmp.h: Likewise.
40676 * include/grub/sparc64/types.h: Likewise.
40677 * include/grub/sparc64/ieee1275/console.h: Likewise.
40678 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
40679 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
40680 * include/grub/sparc64/ieee1275/time.h: Likewise.
40681 * kern/sparc64/cache.c: Likewise.
40682 * kern/sparc64/dl.c: Likewise.
40683 * kern/sparc64/ieee1275/init.c: Likewise.
40684 * kern/sparc64/ieee1275/openfw.c: Likewise.
40685
385c6a92 406862005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
40687
40688 * util/console.c (grub_ncurses_putchar): If C is greater than
40689 0x7f, set C to a question mark.
40690 (grub_ncurses_getcharwidth): New function.
40691 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
40692 getcharwidth.
40693
40694 * normal/menu.c (print_entry): Made aware of Unicode. First,
40695 convert TITLE to UCS-4, and predict the cursor position by
40696 grub_getcharwidth.
40697
40698 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
40699 const to SRC.
40700 * kern/misc.c (grub_utf16_to_utf8): Likewise.
40701
16ccb8b1 407022005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40703
40704 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
40705 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
40706 grub_strcat.
40707
40708 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
40709 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
40710 grub_strcpy and grub_strlen. Take it into account that a space
40711 character is inserted as a delimiter.
40712
6a85ce79 407132005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40714
40715 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 40716 invalid magic in the error.
6a85ce79 40717
40718 * commands/search.c: New file.
f19dbdb7 40719
6a85ce79 40720 * util/grub-emu.c (main): Call grub_search_init and
40721 grub_search_fini.
40722
40723 * kern/rescue.c (grub_rescue_print_disks): Removed.
40724 (grub_rescue_print_devices): New function.
40725 (grub_rescue_cmd_ls): Use grub_device_iterate with
40726 grub_rescue_print_devices instead of grub_disk_dev_iterate with
40727 grub_rescue_print_disks.
40728
40729 * kern/partition.c (grub_partition_iterate): Return the result of
40730 PARTMAP->ITERATE instead of GRUB_ERRNO.
40731
40732 * kern/device.c: Include grub/partition.h.
40733 (grub_device_iterate): New function.
40734
40735 * include/grub/partition.h (grub_partition_iterate): Return int
40736 instead of grub_err_t.
40737
40738 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
40739 prototype.
40740 [GRUB_UTIL] (grub_search_fini): Likewise.
40741
40742 * include/grub/device.h (grub_device_iterate): New prototype.
40743
40744 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40745 commands/search.c.
40746 (pkgdata_MODULES): Added search.mod.
40747 (search_mod_SOURCES): New variable.
40748 (search_mod_CFLAGS): Likewise.
40749
40750 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
40751 (pkgdata_MODULES): Added search.mod.
40752 (search_mod_SOURCES): New variable.
40753 (search_mod_CFLAGS): Likewise.
40754
40755 * commands/ls.c (grub_ls_list_disks): Renamed to ...
40756 (grub_ls_list_devices): ... this, and use grub_device_iterate.
40757 All callers changed.
40758
40759 * DISTLIST: Added commands/search.c.
40760
ef095434 407612005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40762
40763 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
40764 conversion.
40765 (grub_getcharwidth): New function.
40766
40767 * kern/misc.c (grub_utf8_to_ucs4): New function.
40768
40769 * include/grub/term.h (struct grub_term): Added a new member
40770 "getcharwidth".
40771 (grub_getcharwidth): New prototype.
40772
40773 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
40774
40775 * term/i386/pc/console.c (map_char): New function. Segregated from
40776 grub_console_putchar.
40777 (grub_console_putchar): Use map_char.
40778 (grub_console_getcharwidth): New function.
40779 (grub_console_term): Specified grub_console_getcharwidth as
40780 getcharwidth.
40781
40782 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
40783 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
40784
40785 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
40786 GRUB_ERRNO.
40787 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
40788 on grub_strtoul completely.
40789 (write_char): Declare local variables in the beginning of the
40790 function.
40791 (grub_vesafb_getcharwidth): New function.
40792 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
40793 getcharwidth.
40794
1f0a95e4 407952005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
40796
40797 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
40798 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
40799 commands/i386/pc/vbetest.c.
40800
40801 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
40802 call grub_vbe_get_controller_info again, because the returned
40803 information is volatile.
40804 (grub_vbe_set_video_mode): Mostly rewritten.
40805 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
40806 grub_vbe_status_t correctly.
40807 (grub_vbe_get_video_mode_info): Likewise.
40808 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
40809 several if statements.
40810
40811 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
40812 * commands/i386/pc/vbeinfo.c: ... this.
40813
40814 * commands/i386/pc/vbe_test.c: Renamed to ...
40815 * commands/i386/pc/vbetest.c: ... this.
40816
40817 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
40818 ...
40819 (grub_cmd_vbeinfo): ... this. Save video modes before
40820 iterating. Skip a video mode, if it is not available, not enough
40821 information is given or it is monochrome. Show the memory
40822 model. Leave the interpretation of MODEVAR to grub_strtoul
40823 completely.
40824 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
40825 (GRUB_MOD_FINI): Likewise.
40826
40827 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
40828 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
40829 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
40830 duplicated grub_env_get. Leave the interpretation of MODEVAR to
40831 grub_strtoul completely.
40832 (real2pm): Removed.
40833 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
40834 (GRUB_MOD_FINI): Likewise.
40835
40836 * normal/misc.c: Include grub/mm.h.
40837
40838 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
40839 vbe_list_modes with vbetest.mod and vbeinfo.mod.
40840 (vbe_list_modes_mod_SOURCES): Removed.
40841 (vbe_list_modes_mod_CFLAGS): Likewise.
40842 (vbe_test_mod_SOURCES): Likewise.
40843 (vbe_test_mod_CFLAGS): Likewise.
40844 (vbeinfo_mod_SOURCES): New variable.
40845 (vbeinfo_mod_CFLAGS): Likewise.
40846 (vbetest_mod_SOURCES): Likewise.
40847 (vbetest_mod_CFLAGS): Likewise.
40848
992ffbbe 408492005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
40850
40851 * normal/misc.c: New file.
40852
40853 * DISTLIST: Added normal/misc.c.
f19dbdb7 40854
992ffbbe 40855 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
40856 DISK to HOOK. Call HOOK with DISK.
40857 * partmap/apple.c (apple_partition_map_iterate): Likewise.
40858 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40859 * partmap/sun.c (sun_partition_map_iterate): Likewise.
40860
40861 * normal/menu_entry.c (struct screen): Added a new member
40862 "completion_shown".
40863 (completion_buffer): New global variable.
40864 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
40865 (store_completion): New function.
40866 (complete): Likewise.
40867 (clear_completions): Likewise.
40868 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
40869 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
40870 a tab, call complete.
40871
40872 * normal/completion.c (disk_dev): Removed.
40873 (print_simple_completion): Likewise.
40874 (print_partition_completion): Likewise.
40875 (print_func): New global variable.
40876 (add_completion): Do not take the arguments WHAT or PRINT any
40877 longer. Added a new argument TYPE. Instead of printing directly,
40878 call PRINT_FUNC if not NULL.
40879 All callers changed.
40880 (complete_device): Use a local variable DEV instead of
40881 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
40882 (grub_normal_do_completion): Take a new argument HOOK. Do not
40883 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
40884 empty string, return NULL instead.
40885 All callers changed.
40886
40887 * normal/cmdline.c (print_completion): New function.
40888
40889 * kern/partition.c (grub_partition_iterate): Add an argument DISK
40890 to HOOK.
40891 All callers changed.
40892
40893 * kern/disk.c (grub_print_partinfo): Removed.
40894
40895 * include/grub/partition.h (struct grub_partition_map): Add a new
40896 argument DISK into HOOK of ITERATE.
40897 (grub_partition_iterate): Add a new argument DISK to HOOK.
40898
40899 * include/grub/normal.h (enum grub_completion_type): New enum.
40900 (grub_completion_type_t): New type.
40901 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
40902 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
40903 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
40904 (GRUB_COMPLETION_TYPE_FILE): Likewise.
40905 (grub_normal_do_completion): Added a new argument HOOK.
40906 (grub_normal_print_device_info): New prototype.
40907
40908 * include/grub/disk.h (grub_print_partinfo): Removed.
40909
40910 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
40911 (normal_mod_SOURCES): Likewise.
40912 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40913 (normal_mod_SOURCES): Likewise.
40914
40915 * commands/ls.c (grub_ls_list_disks): Use
40916 grub_normal_print_device_info instead of grub_print_partinfo. Free
40917 PNAME.
40918 (grub_ls_list_files): Use grub_normal_print_device_info instead of
40919 duplicating the code.
40920
0bd41162 409212005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
40922
40923 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 40924 follow GCS more precisely.
40925 * commands/i386/pc/vbe_test.c: Likewise.
40926 * include/grub/i386/pc/vbe.h: Likewise.
40927 * term/i386/pc/vesafb.c: Likewise.
40928 * video/i386/pc/vbe.c: Likewise.
0bd41162 40929
6323696a 409302005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
40931
40932 * DISTLIST: Added term/i386/pc/vesafb.c
40933 DISTLIST: Added video/i386/pc/vbe.c
40934 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
40935 DISTLIST: Added commands/i386/pc/vbe_test.c.
40936 * commands/i386/pc/vbe_list_modes.c: New file.
40937 * commands/i386/pc/vbe_test.c: Likewise.
40938 * term/i386/pc/vesafb.c: Likewise.
40939 * video/i386/pc/vbe.c: Likewise.
40940 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
40941 (grub_vbe_probe) Added prototype.
40942 (grub_vbe_set_video_mode) Likewise.
40943 (grub_vbe_get_video_mode) Likewise.
40944 (grub_vbe_get_video_mode_info) Likewise.
40945 (grub_vbe_set_pixel_rgb) Likewise.
40946 (grub_vbe_set_pixel_index) Likewise.
40947 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
40948 (pkgdata_MODULES): Added vesafb.mod.
40949 (pkgdata_MODULES): Added vbe_list_modes.mod.
40950 (pkgdata_MODULES): Added vbe_test.mod.
40951 (vbe_mod_SOURCES): Added.
40952 (vbe_mod_CFLAGS): Likewise.
40953 (vesafb_mod_SOURCES): Likewise.
40954 (vesafb_mod_CFLAGS): Likewise.
40955 (vbe_list_modes_mod_SOURCES): Likewise.
40956 (vbe_list_modes_mod_CFLAGS): Likewise.
40957 (vbe_test_mod_SOURCES): Likewise.
40958 (vbe_test_mod_CFLAGS): Likewise.
40959
0a74e62f 409602005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
40961
0a74e62f 40962 * normal/command.c (grub_command_execute): If INTERACTIVE is
40963 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
40964 CMDLINE. Disable the pager if INTERACTIVE is true.
40965 All callers are changed.
40966
40967 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
40968 before reading a config file.
40969 * normal/main.c (read_config_file): Even if a command is not
40970 found, register it if it is within an entry.
40971
40972 * util/grub-emu.c: Include sys/types.h and unistd.h.
40973 (options): Added --hold.
40974 (struct arguments): Added a new member "hold".
40975 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
40976 missing.
40977 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
40978 cleared by a debugger, if it is not zero.
40979
40980 * include/grub/normal.h (grub_command_execute): Add an argument
40981 INTERACTIVE.
40982
e51f85ae 409832005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
40984
40985 * DISTLIST: Added include/grub/i386/pc/vbe.h.
40986
e9c6f39b 409872005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
40988
40989 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
40990 program with another one, because the old one didn't detect a bug
40991 in gcc-3.4. Always use regparm 2, because the new test is still
40992 not enough for gcc-4.0. Someone must investigate a simple test
40993 case which detects a bug in gcc-4.0.
40994
8de3495c 409952005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
40996
40997 * DISTLIST: Added normal/completion.c.
40998
40999 * normal/completion.c: New file.
f19dbdb7 41000
8de3495c 41001 * term/i386/pc/console.c (grub_console_getwh): New function.
41002 (grub_console_term): Assign grub_console_getwh to getwh.
41003
41004 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
41005 function is defined in normal/completion.c as
41006 grub_normal_do_completion.
41007 (grub_cmdline_get): Use grub_normal_do_completion instead of
41008 grub_tab_complete.
41009
41010 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
41011 returns non-zero, otherwise return 0.
41012 (grub_partition_iterate): First, probe the partition map. Then,
41013 call ITERATE only for this partition map.
41014
41015 * kern/misc.c (grub_strncmp): Rewritten.
41016
41017 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
41018 returns non-zero. Otherwise return 0.
41019
41020 * include/grub/partition.h (grub_partition_map_iterate): Return
41021 int instead of void.
41022
41023 * include/grub/normal.h (grub_normal_do_completion): New prototype.
41024
41025 * include/grub/misc.h (grub_strncmp): Change the type of N to
41026 grub_size_t.
41027
41028 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
41029 of void.
41030
41031 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 41032 unsigned explicitly before comparing it with I.
8de3495c 41033
41034 * kern/main.c (grub_env_write_root): Add the attribute unused into
41035 VAR.
41036
41037 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41038 normal/completion.c.
41039 (normal_mod_SOURCES): Likewise.
41040 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41041 (normal_mod_SOURCES): Likewise.
41042
41043 * normal/command.c (grub_iterate_commands): If ITERATE returns
41044 non-zero, return one immediately.
41045
e85e144b 410462005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
41047
41048 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
41049 * kern/i386/pc/startup.S: Updated Global Descriptor table's
41050 descriptions.
41051 (grub_vbe_get_controller_info): New function.
41052 (grub_vbe_get_mode_info): Likewise.
41053 (grub_vbe_set_mode): Likewise.
41054 (grub_vbe_get_mode): Likewise.
41055 (grub_vbe_set_memory_window): Likewise.
41056 (grub_vbe_get_memory_window): Likewise.
41057 (grub_vbe_set_scanline_length): Likewise.
41058 (grub_vbe_get_scanline_length): Likewise.
41059 (grub_vbe_set_display_start): Likewise.
41060 (grub_vbe_get_display_start): Likewise.
41061 (grub_vbe_set_palette_data): Likewise.
41062 * include/grub/i386/pc/vbe.h: New file.
41063
c46153d2 410642005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41065
41066 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41067 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
41068 * DISTLIST: Likewise.
41069 * kern/ieee1275/of.c: Moved to ...
41070 * kern/ieee1275/ieee1275.c: ... here.
41071
0cb90c45 410722005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41073
41074 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
41075 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
41076 Pass 0 as `end' parameter to grub_strtoul().
41077
a19fb360 410782005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41079
41080 * include/grub/powerpc/ieee1275/console.h: Do not include
41081 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
41082 ifdef.
41083 (grub_console_cur_color): Remove i386-specific prototype.
41084 (grub_console_real_putchar): Likewise.
41085 (grub_console_checkkey): Likewise.
41086 (grub_console_getkey): Likewise.
41087 (grub_console_getxy): Likewise.
41088 (grub_console_gotoxy): Likewise.
41089 (grub_console_cls): Likewise.
41090 (grub_console_setcursor): Likewise.
41091 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
41092 Include <grub/machine/console.h>.
41093 * term/ieee1275/ofconsole.c: Likewise.
41094
4ac9bd04 410952005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
41096
41097 * Makefile.in (LIBLZO): New variable.
41098
41099 * configure.ac: Check for LZO version 2.
41100
41101 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
41102 lzo/lzo1x.h instead of lzo1x.h.
41103
41104 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
41105 of -llzo.
41106
41107 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
41108 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
41109
41110 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
41111 copying the data from PARTITION to P.
41112
f4917dfd 411132005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41114
41115 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
41116 negative, unload the module.
41117
41118 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
41119 map is "pc_partition_map" but not "pc".
41120 (usage): Fix the description. The options are --boot-image and
41121 --core-image but not --boot-file or --core-file.
41122 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
41123 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
41124 DEFAULT_DIRECTORY.
41125
41126 * util/i386/pc/grub-install.in: Do not specify --boot-file or
41127 --core-file. Specify INSTALL_DEVICE as an argument.
41128
41129 * util/console.c: Include config.h.
41130 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
41131 [HAVE_NCURSES_H]: Include ncurses.h.
41132 [HAVE_CURSES_H]: Include curses.h.
41133 [!A_NORMAL] (A_NORMAL): Defined as zero.
41134 [!A_STANDOUT] (A_STANDOUT): Likewise.
41135
41136 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
41137 -lncurses.
41138 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
41139
41140 * configure.ac: Check for curses libraries and headers.
41141
41142 * Makefile.in (LIBCURSES): New variable.
41143
41144 * genmk.rb (Script::rule): Set the executable bits.
41145
41146 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
41147 name of the PC partition map is "pc_partition_map" but not "pc".
41148
0e143073 411492005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41150
41151 * util/i386/pc/grub-install.in (grub_probefs): New variable.
41152 (modules): Likewise.
41153 (usage): Added descriptions for --modules and --grub-probefs.
41154 Handle --modules and --grub-probefs. Save the arguments in MODULES
41155 and GRUB_PROBEFS, respectively.
41156 Auto-detect a filesystem module against GRUBDIR. If the result is
41157 empty and modules are not specified explicitly, abort the
41158 installation. Add the result to MODULES.
41159
41160 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
41161 disk/powerpc/ieee1275/ofdisk.c,
41162 include/grub/powerpc/ieee1275/init.h and
41163 term/powerpc/ieee1275/ofconsole.c.
41164 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
41165 term/ieee1275/ofconsole.c.
41166
41167 * include/grub/powerpc/ieee1275/console.h: Resurrected.
41168
41169 * COPYING: Upgraded to the latest version. Only the address of the
41170 FSF office has changed.
f19dbdb7 41171
efd6e6d5 411722005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41173
41174 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41175 kern/ieee1275.c with kern/ieee1275/of.c.
41176
41177 * kern/ieee1275.c: Moved to ...
41178 * kern/ieee1275/of.c: ... here.
41179
8ceafda2 411802005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
41181
41182 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 41183 readability.
8ceafda2 41184
41185 * config.guess: Updated to the latest version from gnulib.
41186 * config.sub: Likewise.
41187 * install.sh: Likewise.
41188 * mkinstalldirs: Likewise.
41189
41190 * include/grub/console.h: Removed. This file is arch-specific. Do
41191 not put this in include/grub.
41192
41193 * include/grub/i386/pc/console.h: Resurrected.
41194
41195 * util/console.c: Include grub/machine/console.h instead of
41196 grub/console.h.
41197 * util/grub-emu.c: Likewise.
41198
267f6cd9 411992005-08-04 Marco Gerards <metgerards@student.han.nl>
41200
41201 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
41202 hardcoded value.
f19dbdb7 41203
267f6cd9 41204 From Vincent Pelletier <subdino2004@yahoo.fr>
41205 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
41206 Redefined to use grub_getwh.
41207 (grub_term): New member named getwh.
41208 (grub_getwh): New prototype.
41209 * kern/term.c (grub_getwh): New function.
41210 * term/i386/pc/console.c (grub_console_getwh): New function.
41211 (grub_console_term): New member `getwh'.
41212 * term/i386/pc/vga.c (grub_vga_getwh): New function.
41213 (grub_vga_term): New member `getwh'.
0b5abe02 41214 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 41215 grub_ssize_t.
41216 (grub_ofconsole_getw): New function.
41217 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
41218 (grub_ofconsole_term): New field named getwh and new initial
41219 value.
41220
3be7266d 412212005-08-03 Hollis Blanchard <hollis@penguinppc.org>
41222
41223 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
41224 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
41225 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
41226 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
41227 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
41228 of <grub/machine/ieee1275.h>.
41229 * commands/ieee1275/reboot.c: Likewise.
41230 * boot/powerpc/ieee1275/ieee1275.c: Move ...
41231 * kern/ieee1275.c: ... to here. All users updated. Change all
41232 parameter structs to use new type `grub_ieee1275_cell_t'.
41233 * term/powerpc/ieee1275/ofconsole.c: Move ...
41234 * term/ieee1275/ofconsole.c: ... to here. All users updated.
41235 * disk/powerpc/ieee1275/ofdisk.c: Move ...
41236 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
41237 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
41238 to return int.
41239 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
41240 Remove unused prototypes. All users updated.
41241 * include/grub/powerpc/ieee1275/console.h: Removed.
41242 * include/grub/powerpc/ieee1275/ieee1275.h: Define
41243 `grub_ieee1275_cell_t'.
41244 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
41245 Cast comparisons with -1 to the correct type.
41246 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
41247 type to match `grub_ieee1275_entry_fn'.
41248
8b5f3938 412492005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
41250
41251 * DISTLIST: Added util/i386/pc/grub-probefs.c.
41252
41253 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
41254 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
41255 partmap/sun.c.
41256 (grub_probefs_SOURCES): New variable.
41257
41258 * util/i386/pc/grub-probefs.c: New file.
41259
41260 * util/i386/pc/grub-setup.c (main): Call
41261 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
41262 grub_hfs_init and grub_jfs_init to initialize the system. Call
41263 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
41264 grub_pc_partition_map_fini to finish the system.
41265
ea409713 412662005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
41267
41268 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
41269 function.
41270 (grub_multiboot_load_elf32): Likewise.
41271 (grub_multiboot_is_elf64): Likewise.
41272 (grub_multiboot_load_elf64): Likewise.
41273 (grub_multiboot_load_elf): Likewise.
41274 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
41275 an ELF32 or ELF64 file.
41276 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
41277
41278 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
41279 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
41280 NULL before calling FS->LABEL.
41281 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
41282 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
41283 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
41284 before calling FS->LABEL.
41285
141a288b 412862005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
41287
41288 * util/i386/pc/grub-install.in (datadir): New variable.
41289 (libdir): Removed.
41290 (pkgdatadir): New variable.
41291 (pkglibdir): Removed.
41292
0d5f8a54 412932005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
41294
41295 * DISTLIST: Added util/i386/pc/grub-install.in.
41296
41297 * util/i386/pc/grub-install.in: New file.
41298
41299 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
41300 (grub_install_SOURCES): Likewise.
41301
41302 * genmk.rb: Added support for scripts.
41303 (Script): New class.
41304 (scripts): New variable.
41305
41306 * Makefile.in (install-local): Install sbin_SCRIPTS by
41307 INSTALL_SCRIPT.
41308 (uninstall): Remove sbin_SCRIPTS.
41309
41310 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
41311 device, try to get a GRUB device by
41312 grub_util_biosdisk_get_grub_dev.
41313 Free DEST_DEV.
41314
41315 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
41316 description for --device-map.
41317
5f968e1e 413182005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
41319
41320 Change the semantics of variable hooks. They now return strings
41321 instead of error values.
f19dbdb7 41322
5f968e1e 41323 * util/i386/pc/grub-setup.c: Include grub/env.h.
41324 (setup): Use grub_device_set_root instead of grub_env_set.
41325
41326 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
41327 grub_env_get instead of grub_device_set_root and
41328 grub_device_get_root, respectively.
41329
41330 * kern/main.c (grub_env_write_root): New function.
41331 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
41332 grub_env_set instead of grub_device_set_root.
41333
41334 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
41335 many variables.
41336 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
41337 rather than calling ENV->WRITE_HOOK afterwards.
41338 (grub_env_get): Return the result of ENV->READ_HOOK rather than
41339 passing a pointer of a pointer.
41340 (grub_register_variable_hook): Change the types of "read_hook" and
41341 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
41342 respectively.
41343 Allocate the default empty string on the heap, because this string
41344 may be freed later.
41345
41346 * kern/device.c: Include grub/env.h.
41347 (grub_device_set_root): Removed.
41348 (grub_device_get_root): Likewise.
41349 (grub_device_open): Use grub_env_get instead of
41350 grub_device_get_root.
41351
41352 * include/grub/env.h (grub_env_read_hook_t): New type.
41353 (grub_env_write_hook_t): Likewise.
41354 (grub_env_var): Change the types of "read_hook" and "write_hook"
41355 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
41356 (grub_register_variable_hook): Likewise.
41357
41358 * include/grub/device.h (grub_device_set_root): Removed.
41359 (grub_device_set_root): Likewise.
41360
41361 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
41362 make sure that DIRNAME terminates with '/', so that
41363 grub_fat_find_dir will fail if PATH is not a directory.
41364
41365 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
41366 from DIRNAME.
41367 Use the qualifier auto for print_files and print_files_long.
41368 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
41369 as a regular file.
41370 Put a newline only if there is no error.
41371 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
41372 used.
41373
896f0afd 413742005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
41375
41376 * kern/partition.c (grub_partition_probe): Initialize PART to
41377 NULL. Otherwise, when no partition map is registered, this returns
41378 a garbage.
41379
b28b81b2 413802005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
41381
41382 * partmap/apple.c (apple_partition_map_iterate): Check if POS
41383 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
41384 valid.
41385
5f3607e0 413862005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
41387
41388 * commands/ls.c (grub_ls_list_disks): Print the filesystem
41389 information on each device, if it does not have partitions. Print
41390 "Device" instead of "Disk", because this function is not specific
41391 to disk devices.
41392
41393 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
41394 static to ensure that it is put on the memory rather than a
41395 register.
41396
502c87e8 413972005-07-17 Yoshinori Okuji <okuji@enbug.org>
41398
41399 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
41400 (grub_cat_init): Likewise.
41401 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
41402 (options): Likewise.
41403 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
41404 (grub_configfile_init): Likewise.
41405 * font/manager.c (GRUB_MOD_INIT): Likewise.
41406 * commands/help.c (GRUB_MOD_INIT): Likewise.
41407 (grub_help_init): Likewise.
41408 * normal/command.c (grub_command_init): Likewise.
41409 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
41410 * disk/loopback.c (grub_loop_init): Likewise.
41411 (GRUB_MOD_INIT): Likewise.
41412 * commands/ls.c (grub_ls_init): Likewise.
41413 (GRUB_MOD_INIT): Likewise.
41414 (options): Likewise.
41415 * commands/boot.c (grub_boot_init): Likewise.
41416 (GRUB_MOD_INIT): Likewise.
41417 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
41418 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
41419 (GRUB_MOD_INIT): Likewise.
41420 * commands/cmp.c (grub_cmp_init): Likewise.
41421 (GRUB_MOD_INIT): Likewise.
41422
41423 * normal/arg.c: Use <> instead of "" to include header files.
41424 (SHORT_ARG_HELP): New macro.
41425 (SHORT_ARG_USAGE): Likewise.
41426 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
41427 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
41428 descriptions.
41429 (find_short): Check if C is 'h' or 'u' explicitly.
41430 (grub_arg_show_help): Use space characters instead of tabs. Treat
41431 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
41432 are shown with --help and --usage only if they are not used for
41433 the command itself.
41434 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
41435 'h' and 'u'.
41436
41437 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
41438 const into "longarg". Change the type of "shortarg" to int.
41439
f806d18e 414402005-07-17 Yoshinori Okuji <okuji@enbug.org>
41441
41442 * boot/i386/pc/boot.S (boot_drive_check): New label.
41443
41444 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
41445 macro.
41446
41447 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
41448 which do not pass a boot drive correctly. Copied from GRUB Legacy.
41449
e293232b 414502005-07-17 Yoshinori Okuji <okuji@enbug.org>
41451
41452 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
41453 When turning off Gate A20, skip the check and return immediately,
41454 because this is not fatal usually.
41455
ebedfd00 414562005-07-17 Yoshinori Okuji <okuji@enbug.org>
41457
41458 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
41459 be 0x7C00 instead of 0x8000.
41460
41461 * boot/i386/pc/pxeboot.S: Rewritten.
41462
41463 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
41464 EXT_C.
41465 (gate_a20_check_state): Read a byte from 0x108000. Invert the
41466 result.
41467
654fc59f 414682005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
41469
41470 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
41471 robustness. This routine now supports a BIOS call and System
41472 Control Port A to modify the gate A20.
41473
41474 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41475 Increased to 0x440.
41476
09f9923f 414772005-07-12 Hollis Blanchard <hollis@penguinppc.org>
41478
41479 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
41480 device path and resulting ihandle.
41481 (grub_ofdisk_close): dprintf the ihandle being closed.
41482 (grub_ofdisk_read): dprintf function parameters.
41483 * kern/mm.c (grub_mm_init_region): Likewise.
41484 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
41485 (grub_linux_boot): dprintf the Linux entry point, initrd address and
41486 size, and boot arguments.
41487 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
41488 before loading into memory.
41489 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
41490 before loading into memory.
41491
7ef504d8 414922005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
41493
41494 * kern/mm.c: Added much documentation.
41495 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
41496 8, set to 5 instead of 8.
41497
e0f050c2 414982005-07-10 Yoshinori Okuji <okuji@enbug.org>
41499
41500 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
41501
41502 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
41503 (grub_mkdevicemap_SOURCES): New variable.
41504
41505 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
41506 lib/device.c of GRUB Legacy.
41507
7224189a 415082005-07-10 Yoshinori Okuji <okuji@enbug.org>
41509
41510 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
41511 instead of PATH is NULL.
41512
68c864eb 415132005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
41514
41515 * commands/cmp.c (BUFFER_SIZE): New macro.
41516 (grub_cmd_cmp): Close the right file at the right time. Compare
41517 only data just read. Don't report files of different size as
41518 identical. Dynamically allocate buffers. Move variable
41519 declarations at the beginning of function.
41520
e6f3e614 415212005-07-09 Yoshinori Okuji <okuji@enbug.org>
41522
41523 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
41524 reverse.
41525
f8f1559a 415262004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
41527
41528 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
41529 when backspace is pressed at beginning of line.
41530
39c9d41d 415312005-07-03 Yoshinori Okuji <okuji@enbug.org>
41532
41533 * DISTLIST: Added genfslist.sh.
41534
41535 * normal/main.c (fs_module_list): New variable.
41536 (autoload_fs_module): New function.
41537 (read_fs_list): Likewise.
41538 (grub_normal_execute): Call read_fs_list.
41539
41540 * kern/fs.c (grub_fs_autoload_hook): New variable.
41541 (grub_fs_probe): Added support for auto-loading.
41542
41543 * include/grub/normal.h (struct grub_fs_module_list): New struct.
41544 (grub_fs_module_list_t): New type.
41545
41546 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
41547 (grub_fs_autoload_hook): New prototype.
41548
41549 * genfslist.sh: New file.
f19dbdb7 41550
39c9d41d 41551 * genmk.rb: Added a rule to generate a filesystem list.
41552
121c1d83 415532005-06-30 Marco Gerards <metgerards@student.han.nl>
41554
41555 * configure.ac: Fix the test for cross-compiling.
41556
41557 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
41558 define GRUB_UTIL anymore.
41559
41560 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
41561 so this function works on other systems than just big endian.
41562 (load_modules): Likewise.
41563 (add_segments): Likewise.
41564
e75d76e1 415652005-06-23 Hollis Blanchard <hollis@penguinppc.org>
41566
41567 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
41568 contains `l' modifier, get a long from va_arg().
41569
50b5a0a7 415702005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
41571
41572 * kern/mm.c (grub_free): If the next free block which is being
41573 merged is the first free block, set the first block to the block
41574 being freed.
41575 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
41576
89371b20 415772005-05-08 Hollis Blanchard <hollis@penguinppc.org>
41578
41579 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
41580 `grub_ieee1275_chosen'.
41581
168d6e58 415822005-05-08 Hollis Blanchard <hollis@penguinppc.org>
41583
41584 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
41585 (grub_ieee1275_chosen): New variable.
41586 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
41587 `chosen'.
41588 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
41589 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
41590 Rename first argument to `phandle' for consistency.
41591 (grub_ieee1275_get_property_length): Likewise.
41592 (grub_ieee1275_next_property): Likewise. Change type of first argument
41593 to grub_ieee1275_phandle_t.
41594 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
41595 Move export next to declaration.
41596 (grub_ieee1275_chosen): New variable.
41597 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
41598 Correct cosmetic typo.
41599 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
41600 `grub_ieee1275_chosen'.
41601 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
41602 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
41603 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
41604 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
41605 `grub_ieee1275_chosen'.
41606
ca5baa3f 416072005-05-10 Hollis Blanchard <hollis@penguinppc.org>
41608
41609 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
41610 /chosen/bootargs.
41611 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
41612 /chosen/bootargs as "variable=value" pairs.
41613
708b345f 416142005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
41615
41616 * include/grub/misc.h (grub_dprintf): New macro.
41617 (grub_real_dprintf): New prototype.
41618 (grub_strword): Likewise.
41619 (grub_iswordseparator): Likewise.
41620 * kern/misc.c (grub_real_dprintf): New function.
41621 (grub_strword): Likewise.
41622 (grub_iswordseparator): Likewise.
41623
f4c5e67c 416242005-04-30 Hollis Blanchard <hollis@penguinppc.org>
41625
41626 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
41627 (roundup): Remove macro.
41628 (grub_ieee1275_flags): Make static.
41629 (grub_ieee1275_realmode): Remove.
41630 (grub_ieee1275_test_flag): New function.
41631 (grub_ieee1275_set_flag): Likewise.
41632 (find_options): Rename to `grub_ieee1275_find_options'; update
41633 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
41634 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
41635 (cmain): New prototype.
41636 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
41637 `grub_ieee1275_flags' directly.
41638 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
41639 machine/biosdisk.h.
41640 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
41641 Don't include grub/machine/init.h.
41642 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
41643 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
41644 Remove prototype.
41645 (grub_ieee1275_realmode): Likewise.
41646 (grub_ieee1275_flag): New enum.
41647 (grub_ieee1275_test_flag): New prototype.
41648 (grub_ieee1275_set_flag): New prototype.
41649 * include/grub/powerpc/ieee1275/init.h: Remove file.
41650 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
41651 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
41652 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
41653 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
41654 comment.
41655 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
41656 `grub_ieee1275_test_flag'.
41657 (grub_ieee1275_encode_devname): Likewise.
41658
ed16607e 416592005-04-21 Hollis Blanchard <hollis@penguinppc.org>
41660
41661 * include/grub/powerpc/ieee1275/ieee1275.h
41662 (grub_ieee1275_encode_devname): New prototype.
41663 (grub_ieee1275_get_filename): Likewise.
41664 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
41665 function.
41666 (grub_set_prefix): Likewise.
41667 (grub_machine_init): Call grub_set_prefix.
41668 * kern/powerpc/ieee1275/openfw.c: Fix typos.
41669 (grub_parse_type): New enum.
41670 (grub_ieee1275_get_devargs): New function.
41671 (grub_ieee1275_get_devname): Likewise.
41672 (grub_ieee1275_parse_args): Likewise.
41673 (grub_ieee1275_get_filename): Likewise.
41674 (grub_ieee1275_encode_devname): Likewise.
41675
be369920 416762005-03-30 Marco Gerards <metgerards@student.han.nl>
41677
41678 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
41679 `grub_loader_unset'.
41680
a5ce3a4a 416812005-03-26 Hollis Blanchard <hollis@penguinppc.org>
41682
41683 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
41684 instead of grub_ieee1275_interpret.
41685 (grub_halt_init): New function.
41686 (grub_halt_fini): Likewise.
41687 (GRUB_MOD_INIT): Correct message grammar.
41688 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
41689 instead of grub_ieee1275_interpret.
41690 (grub_reboot_init): New function.
41691 (grub_reboot_fini): Likewise.
41692 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
41693 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
41694 util/i386/pc/misc.c with commands/ieee1275/halt.c,
41695 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
41696 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
41697 function.
41698 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
41699 Add prototype.
41700 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
41701 prototype.
41702 (grub_halt): Likewise.
41703 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
41704 (cmain): Remove __attribute__((unused)).
41705 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
41706 (grub_heap_len): Likewise.
41707 (grub_machine_fini): New function.
41708 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
41709 (grub_halt): Likewise.
41710 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
41711 function.
41712 * util/powerpc/ieee1275/misc.c: New file.
41713
0058f771 417142005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
41715
41716 * DISTLIST: New file.
41717 * gendistlist.sh: Likewise.
f19dbdb7 41718
0058f771 41719 * Makefile.in (COMMON_DISTFILES): Removed.
41720 (BOOT_DISTFILES): Likewise.
41721 (CONF_DISTFILES): Likewise.
41722 (DISK_DISTFILES): Likewise.
41723 (FS_DISTFILES): Likewise.
41724 (INCLUDE_DISTFILES): Likewise.
41725 (KERN_DISTFILES): Likewise.
41726 (LOADER_DISTFILES): Likewise.
41727 (TERM_DISTFILES): Likewise.
41728 (UTIL_DISTFILES): Likewise.
41729 (DISTFILES): Likewise.
41730 (uninstall): Uninstall files in $(pkgdata_DATA).
41731 (DISTLIST): New target.
41732 (distdir): Use the contents of the file DISTLIST to get a list of
41733 distributed files.
41734
46b3b8a5 417352005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
41736
41737 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
41738 descriptor. This is ported from GRUB Legacy.
41739
41740 * gencmdlist.sh: Added an extra semicolon to make it work with
41741 old sed versions. Reported by Robert Bihlmeyer
41742 <robbe@orcus.priv.at>.
41743
5822ff87 417442005-03-08 Yoshinori Okuji <okuji@enbug.org>
41745
41746 Automatic loading of commands is supported.
f19dbdb7 41747
5822ff87 41748 * normal/main.c (read_command_list): New function.
41749 (grub_normal_execute): Call read_command_list.
41750
41751 * normal/command.c (grub_register_command): Return zero or CMD.
41752 Allocate CMD->NAME from the heap.
41753 Initialize CMD->MODULE_NAME to zero.
41754 Find the same name as well. If the same command is found and it is
41755 a dummy command, overwrite members. If it is not a dummy command,
41756 return zero.
41757 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
41758 (grub_command_find): If a dummy command is found, load a module
41759 and retry to find a command only once.
41760
41761 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
41762 make sure that each command is loaded.
41763
41764 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
41765 macro.
41766 (struct grub_command): Remove const from the member `name'.
41767 Add a new member `module_name'.
41768 (grub_register_command): Return grub_command_t.
41769
41770 * commands/help.c (grub_cmd_help): Call grub_command_find to make
41771 sure that each command is loaded.
41772
41773 * genmk.rb (PModule::rule): Specify a module name without the
41774 suffix ".mod" to gencmdlist.sh.
41775
7b1f4b57 417762005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
41777
41778 * gencmdlist.sh: New file.
f19dbdb7 41779
7b1f4b57 41780 * genmk.rb (PModule::rule): Generate a rule for a command list.
41781 Clean command.lst.
41782 Generate command.lst from $(COMMANDFILES).
41783
41784 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
41785 (DATA): Added $(pkgdata_DATA).
41786 (install-local): Install files in $(pkgdata_DATA).
41787
062aaf39 417882005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
41789
41790 * term/i386/pc/vga.c (debug_command): Removed.
41791 (GRUB_MOD_INIT): Do not register the command "debug".
41792
41793 From Hollis Blanchard:
41794 * commands/configfile.c: New file.
41795 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41796 commands/configfile.c.
41797 (pkgdata_MODULES): Added configfile.mod.
41798 (configfile_mod_SOURCES): New variable.
41799 (configfile_mod_CFLAGS): Likewise.
41800 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41801 commands/configfile.c.
41802 (pkgdata_MODULES): Added configfile.mod.
41803 (configfile_mod_SOURCES): New variable.
41804 (configfile_mod_CFLAGS): Likewise.
41805 * util/grub-emu.c (main): Call grub_configfile_init and
41806 grub_configfile_fini.
41807 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
41808 prototype.
41809 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 41810
cee01aa6 418112005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
41812
41813 * normal/arg.c (grub_arg_show_help): Do not show the bug report
41814 address.
41815
41816 * commands/help.c (grub_cmd_help): Do not print newlines after
41817 the last command in print_command_help.
41818
93f3a1d8 418192005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
41820
41821 * commands/default.h: New file.
41822 * commands/timeout.h: Likewise.
41823 * normal/context.c: Likewise.
f19dbdb7 41824
93f3a1d8 41825 * util/misc.c: Do not include sys/times.h.
41826 Include sys/time.h and grub/machine/time.h.
41827 (grub_get_rtc): Rewritten with gettimeofday.
41828
41829 * util/grub-emu.c (main): Call grub_default_init and
41830 grub_timeout_init before grub_normal_init, and call
41831 grub_timeout_fini and grub_default_fini after grub_main.
41832
41833 * util/console.c (grub_ncurses_checkkey): Return the read
41834 character or -1.
41835
41836 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
41837 timeouts.
41838
41839 * normal/main.c (read_config_file): Push MENU. If this fails,
41840 print an error and wait for a user input.
41841 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
41842 If a menu is empty or an error occurs, pop MENU.
41843 (grub_normal_execute): Pop and free MENU after grub_menu_run
41844 returns.
41845
41846 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
41847
41848 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
41849 include time.h.
41850 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
41851 without GRUB_UTIL.
41852 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
41853 time.h.
41854 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
41855 without GRUB_UTIL.
41856
41857 * include/grub/normal.h (struct grub_menu_list): New struct.
41858 (grub_menu_list_t): New type.
41859 (struct grub_context): New struct.
41860 (grub_context_t): New type.
41861 (grub_register_command): Got rid of EXPORT_FUNC.
41862 (grub_unregister_command): Likewise.
41863 (grub_context_get): New prototype.
41864 (grub_context_get_current_menu): Likewise.
41865 (grub_context_push_menu): Likewise.
41866 (grub_context_pop_menu): Likewise.
41867 [GRUB_UTIL] (grub_default_init): Likewise.
41868 [GRUB_UTIL] (grub_default_fini): Likewise.
41869 [GRUB_UTIL] (grub_timeout_init): Likewise.
41870 [GRUB_UTIL] (grub_timeout_fini): Likewise.
41871
41872 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
41873 commands/timeout.c and normal/context.c.
41874 (pkgdata_MODULES): Added default.mod and timeout.mod.
41875 (normal_mod_SOURCES): Added normal/context.c.
41876 (default_mod_SOURCES): New variable.
41877 (default_mod_CFLAGS): Likewise.
41878 (timeout_mod_SOURCES): Likewise.
41879 (timeout_mod_CFLAGS): Likewise.
41880 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
41881 conf/i386-pc.rmk.
41882 (pkgdata_MODULES): Added default.mod and timeout.mod.
41883 (normal_mod_SOURCES): Added normal/context.c.
41884 (default_mod_SOURCES): New variable.
41885 (default_mod_CFLAGS): Likewise.
41886 (timeout_mod_SOURCES): Likewise.
41887 (timeout_mod_CFLAGS): Likewise.
41888
41889 * Makefile.in (all-local): Added $(MKFILES).
41890
4ed2e1dd 418912005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
41892
41893 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
41894 (grub_emu_SOURCES): Likewise.
41895 (pkgdata_MODULES): Add `sun.mod'.
41896 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
41897 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41898 `partmap/sun.c'.
41899 (pkgdata_MODULES): Add `sun.mod'.
41900 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
41901 * include/grub/partition.h (grub_sun_partition_map_init): New
41902 prototype.
41903 (grub_sun_partition_map_fini): Likewise.
41904 * partmap/sun.c: New file.
41905 * util/grub-emu.c (main): Initialize and de-initialize the sun
41906 partitionmap support.
41907
4d4e372e 419082005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
41909
41910 This implements an Emacs-like menu entry editor.
f19dbdb7 41911
4d4e372e 41912 * normal/menu_entry.c: New file.
f19dbdb7 41913
4d4e372e 41914 * util/console.c (grub_ncurses_putchar): Translate some Unicode
41915 characters to ASCII.
41916 (saved_char): New variable.
41917 (grub_ncurses_checkkey): Rewritten completely.
41918 (grub_ncurses_getkey): Likewise.
41919 (grub_ncurses_init): Call raw instead of cbreak.
41920
41921 * normal/menu.c (print_entry): Do not put a space.
41922 (init_page): Renamed to ...
41923 (grub_menu_init_page): ... this. All callers changed.
41924 (edit_menu_entry): Removed.
41925 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
41926
41927 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
41928
41929 * kern/misc.c (grub_vprintf): Call grub_refresh.
41930
41931 * normal/menu.c (DISP_LEFT): Renamed to ...
41932 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
41933 * normal/menu.c (DISP_UP): Renamed to ...
41934 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
41935 * normal/menu.c (DISP_RIGHT): Renamed to ...
41936 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
41937 * normal/menu.c (DISP_DOWN): Renamed to ...
41938 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
41939 * normal/menu.c (DISP_HLINE): Renamed to ...
41940 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
41941 * normal/menu.c (DISP_VLINE): Renamed to ...
41942 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
41943 * normal/menu.c (DISP_UL): Renamed to ...
41944 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
41945 * normal/menu.c (DISP_UR): Renamed to ...
41946 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
41947 * normal/menu.c (DISP_LL): Renamed to ...
41948 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
41949 * normal/menu.c (DISP_LR): Renamed to ...
41950 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
41951 * normal/menu.c (TERM_WIDTH): Renamed to ...
41952 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
41953 * normal/menu.c (TERM_HEIGHT): Renamed to ...
41954 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
41955 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
41956 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
41957 * normal/menu.c (TERM_MARGIN): Renamed to ...
41958 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
41959 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
41960 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
41961 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
41962 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
41963 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
41964 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
41965 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
41966 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
41967 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
41968 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
41969 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
41970 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
41971 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
41972 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
41973 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
41974 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
41975 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
41976 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
41977 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
41978 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
41979 All callers changed.
41980
41981 * include/grub/normal.h: New prototype.
41982
41983 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41984 normal/menu_entry.c.
41985 (normal_mod_SOURCES): Likewise.
41986 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41987 (normal_mod_SOURCES): Likewise.
41988
e6b92c8a 419892005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
41990
41991 * include/grub/normal.h (grub_halt_init): New prototype.
41992 (grub_halt_fini): Likewise.
41993 (grub_reboot_init): Likewise.
41994 (grub_reboot_fini): Likewise.
41995
41996 * util/grub-emu.c: Include signal.h.
41997 (main_env): New global variable.
41998 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
41999 catch C-c.
42000 (grub_machine_fini): New function.
42001 (main): Call grub_halt_init and grub_reboot_init before
42002 grub_main, and grub_reboot_fini and grub_halt_fini after it.
42003 Call setjmp with MAIN_ENV to go back afterwards.
42004 Call grub_machine_fini right before return.
42005
42006 * include/grub/util/misc.h: Include setjmp.h.
42007 (main_env): New prototype.
42008
42009 * include/grub/kernel.h (grub_machine_fini): New prototype.
42010 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
42011 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
42012
42013 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
42014 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
42015 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 42016
e6b92c8a 42017 * util/i386/pc/misc.c: New file.
f19dbdb7 42018
e6b92c8a 42019 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42020 util/i386/pc/misc.c, commands/i386/pc/halt.c and
42021 commands/i386/pc/reboot.c.
42022
c642636f 420232005-02-14 Guillem Jover <guillem@hadrons.org>
42024
42025 * include/grub/dl.h (grub_dl_check_header): New prototype.
42026 (grub_arch_dl_check_header): Change return type to grub_err_t,
42027 remove size parameter and export function. Update all callers.
42028 * kern/dl.c (grub_dl_check_header): New function.
42029 (grub_dl_load_core): Use `grub_dl_check_header' instead of
42030 `grub_arch_dl_check_header'. Check ELF type. Check if sections
42031 are inside the core.
42032 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
42033 independent ELF header checks.
42034 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42035 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
42036 `grub_dl_check_header' instead of explicit checks. Check for the
42037 ELF type.
42038 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
42039 `grub_dl_check_header' instead of explicit checks. Remove arch
42040 specific ELF header checks.
42041
e6b92c8a 42042 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
42043 argument SIZE.
42044
5eabe94b 420452005-02-13 Hollis Blanchard <hollis@penguinppc.org>
42046
42047 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
42048 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
42049
1b14a681 420502005-02-12 Hollis Blanchard <hollis@penguinppc.org>
42051
42052 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 42053 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 42054 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 42055 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 42056 * partmap/amiga.c (amiga_partition_map_iterate): Return
42057 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
42058 * partmap/apple.c (apple_partition_map_iterate): Likewise.
42059
aca108aa 420602005-02-01 Guillem Jover <guillem@hadrons.org>
42061
42062 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
42063 help info.
42064
c9f9c556 420652005-01-31 Marco Gerards <metgerards@student.han.nl>
42066
42067 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
42068 Removed prototype.
42069 (grub_rescue_cmd_linux): New prototype.
42070 (grub_rescue_cmd_initrd): Likewise.
42071 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
42072 `bi_rec'.
42073 (grub_linux_release_mem): Release the memory for the initrd.
42074 (grub_load_linux): Renamed from this...
42075 (grub_rescue_cmd_linux): ...To this. Changed all callers.
42076 Changed `entry' not to be static. Loop over memory regions to
42077 find another one when the default fails.
42078 (grub_rescue_cmd_initrd): New function.
42079 (grub_linux_init): Remove function.
42080 (grub_linux_fini): Likewise.
42081 (GRUB_MOD_INIT): Register `initrd'.
42082 (GRUB_MOD_FINI): Unregister `initrd'.
42083 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
42084 Function removed.
42085 (grub_linux_normal_fini): Likewise.
42086 (GRUB_MOD_INIT): Register `initrd'.
42087 (GRUB_MOD_FINI): Unregister `initrd'.
42088
990cf3aa 420892005-01-31 Marco Gerards <metgerards@student.han.nl>
42090
42091 * commands/help.c: New file.
42092 * normal/arg.c (show_help): Renamed to...
42093 (grub_arg_show_help): ... this.
42094 * commands/i386/pc/halt.c: New file.
42095 * commands/i386/pc/reboot.c: Likewise.
42096 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
42097 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
42098 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
42099 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
42100 variables.
42101 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42102 `commands/help.c'.
42103 (pkgdata_MODULES): Add `help.mod'.
42104 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
42105 * grub/i386/pc/init.h (grub_reboot): New prototype.
42106 (grub_halt): Likewise.
42107 * include/grub/normal.h (grub_arg_show_help): New prototype.
42108 (grub_help_init): Likewise.
42109 (grub_help_fini): Likewise.
42110 * util/grub-emu.c (main): Initialize and deinitialize the help
42111 command.
42112
42113 * normal/cmdline.c (grub_cmdline_get): Doc fix.
42114
42115 * normal/command.c (grub_command_init): Fixed the description of
42116 the `set' and `unset' commands.
42117
421182005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 42119
42120 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
42121 function.
42122 * commands/ieee1275/halt.c: New file.
42123 * commands/ieee1275/reboot.c: Likewise.
42124 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
42125 `__attribute__ ((unused))'. Some GCS related fixed.
42126 (grub_suspend_init) [GRUB_UTIL]: Function removed.
42127 (grub_suspend_fini): Likewise.
42128 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
42129 and `halt.mod'.
42130 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
42131 (halt_mod_CFLAGS): New variables.
42132 * include/grub/powerpc/ieee1275/ieee1275.h
42133 (grub_ieee1275_interpret): New prototype.
42134
1ab09cc7 421352005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
42136
42137 * include/grub/misc.h (memmove): New prototype.
42138 (memcpy): Likewise.
42139
8b8cbdb2 421402005-01-22 Hollis Blanchard <hollis@penguinppc.org>
42141
42142 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
42143 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
42144
e3741a27 421452005-01-22 Marco Gerards <metgerards@student.han.nl>
42146
42147 * kern/misc.c (grub_strndup): Function rewritten.
42148
776bd780 421492005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
42150
42151 * normal/menu.c (TERM_WIDTH): Macro redefined.
42152 (TERM_TOP_BORDER_Y): Likewise.
42153 (draw_border): Replaced while-loop by a for-loop. Make the number
42154 of lines consistent with the number of lines displayed in
42155 print_entries. Added a margin below the rectangle.
42156 (print_entry): Make the entry fit in the rectangle.
42157 (print_entries): Display the scroll arrows next to the right
42158 border.
42159
78026bce 421602005-01-21 Marco Gerards <metgerards@student.han.nl>
42161
42162 * fs/minix.c (grub_minix_find_file): Reserve more space for
42163 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
42164 `grub_strncpy' to copy `path' into it.
42165
67bbaf0f 421662005-01-21 Marco Gerards <metgerards@student.han.nl>
42167
42168 Add the loopback device, a device via which files can be accessed
42169 as devices.
f19dbdb7 42170
67bbaf0f 42171 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
42172 (pkgdata_MODULES): Add loopback.mod.
42173 (loopback_mod_SOURCES): New variable.
42174 (loopback_mod_CFLAGS): Likewise.
42175 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42176 `disk/loopback.c'.
42177 (pkgdata_MODULES): Add loopback.mod.
42178 (loopback_mod_SOURCES): New variable.
42179 (loopback_mod_CFLAGS): Likewise.
42180 * disk/loopback.c: new file.
42181 * include/grub/normal.h (grub_loop_init): New prototype.
42182 (grub_loop_fini): New prototype.
42183 * util/grub-emu.c (main): Initialize and de-initialize loopback
42184 support.
42185 * include/grub/disk.h (grub_disk_dev_id): Add
42186 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
42187
6f1c18bd 421882005-01-20 Hollis Blanchard <hollis@penguinppc.org>
42189
42190 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
42191 function.
42192 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
42193 (suspend_mod_SOURCES): New variable.
42194 (suspend_mod_CFLAGS): Likewise.
42195 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
42196 New prototype.
42197 * commands/ieee1275/suspend.c: New file.
42198
b38551da 421992005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42200
42201 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 42202 ((unused))' to `__attribute__ ((used))'.
b38551da 42203 (GRUB_MOD_FINI): Likewise.
42204 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
42205 * genmk.rb (PModule): Assign space to common symbols when linking
42206 modules.
42207
777aff39 422082005-01-20 Marco Gerards <metgerards@student.han.nl>
42209
42210 * include/grub/mm.h (grub_mm_init_region): Change the type of the
42211 `unsigned' arguments to `grub_size_t'.
42212 (grub_malloc): Likewise.
42213 (grub_realloc): Likewise.
42214 (grub_memalign): Likewise.
42215 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
42216 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42217 * util/misc.c (grub_malloc): Likewise.
42218 (grub_realloc): Likewise.
42219 * kern/mm.c (get_header_from_pointer): Change the casts to
42220 `unsigned' into a cast to `grub_size_t'.
42221
42222 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
42223 point to `currnode' when `currnode' is changed.
42224
42225 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
42226 Schottelius <nico-linux@schottelius.org>.
42227
d0ff18e1 422282005-01-09 Hollis Blanchard <hollis@penguinppc.org>
42229
42230 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
42231 (note_path): Remove variable.
42232 (GRUB_IEEE1275_NOTE_NAME): New macro.
42233 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
42234 (grub_ieee1275_note_hdr): New structure.
42235 (grub_ieee1275_note_desc): Likewise.
42236 (grub_ieee1275_note): Likewise.
42237 (load_note): Remove `dir' argument. All callers updated. Remove
42238 `note_img' and `path'. Do not load a file from `note_path'.
42239 Initialize a struct grub_ieee1275_note and write that to `out'.
42240 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
42241
4ca7004c 422422005-01-05 Marco Gerards <metgerards@student.han.nl>
42243
42244 * util/misc.c (grub_util_read_image): Revert last change. It
42245 called `grub_util_read_at', which seeks from the beginning of the
42246 file.
42247
0b412211 422482005-01-04 Hollis Blanchard <hollis@penguinppc.org>
42249
42250 * TODO: Add note about endianness in grub-mkimage.
42251 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
42252 section.
42253 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
42254 (grub_mkimage_SOURCES): New target.
42255 * include/grub/kernel.h (grub_start_addr): Remove variable.
42256 (grub_end_addr): Likewise.
42257 (grub_total_module_size): Likewise.
42258 (grub_kernel_image_size): Likewise.
42259 (GRUB_MODULE_MAGIC): New constant.
42260 (grub_module_info): New structure.
42261 (grub_arch_modules_addr): New prototype.
42262 (grub_get_end_addr): Remove prototype.
42263 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
42264 * include/grub/powerpc/ieee1275/kernel.h: New file.
42265 * include/grub/util/misc.h (grub_util_get_fp_size): New
42266 prototype.
42267 (grub_util_read_at): Likewise.
42268 (grub_util_write_image_at): Likewise.
42269 * kern/main.c (grub_get_end_addr): Remove function.
42270 (grub_load_modules): Call grub_arch_modules_addr instead of using
42271 grub_end_addr. Look for a grub_module_info struct in memory. Use
42272 the grub_module_info fields instead of calling grub_get_end_addr
42273 as loop conditions. Move grub_add_unused_region code here.
42274 (grub_add_unused_region): Remove function.
42275 * kern/i386/pc/init.c: Include grub/cache.h.
42276 (grub_machine_init): Remove call to grub_get_end_addr. Remove
42277 one call to add_mem_region.
42278 (grub_arch_modules_addr): New function.
42279 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
42280 (grub_total_module_size): Likewise.
42281 Include grub/machine/kernel.h.
42282 (grub_arch_modules_addr): New function.
42283 * util/grub-emu.c (grub_end_addr): Remove variable.
42284 (grub_total_module_size): Likewise.
42285 (grub_arch_modules_addr): New function.
42286 * util/misc.c: Include unistd.h.
42287 (grub_util_get_fp_size): New function.
42288 (grub_util_read_at): Likewise.
42289 (grub_util_write_image_at): Likewise.
42290 (grub_util_read_image): Call grub_util_read_at.
42291 (grub_util_write_image): Call grub_util_write_image_at.
42292 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
42293 additional memory in kernel_img for a struct grub_module_info.
42294 Fill in that grub_module_info.
42295 * util/powerpc/ieee1275/grub-mkimage.c: New file.
42296
458786f8 422972005-01-03 Hollis Blanchard <hollis@penguinppc.org>
42298
42299 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
42300 New function.
42301 * include/grub/powerpc/ieee1275/ieee1275.h
42302 (grub_ieee1275_milliseconds): New prototype.
42303 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
42304 Change to 1000.
42305 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
42306 grub_ieee1275_milliseconds.
42307
ac507d1b 423082005-01-03 Hollis Blanchard <hollis@penguinppc.org>
42309
42310 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
42311 variable.
42312 (find_options): New function.
42313 (cmain): Call find_options.
42314 * include/grub/powerpc/ieee1275/ieee1275.h
42315 (grub_ieee1275_realmode): New extern variable.
42316 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
42317 grub_map if grub_ieee1275_realmode is false.
42318
6b8fd1c4 423192004-12-29 Marco Gerards <metgerards@student.han.nl>
42320
42321 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
42322 lines are inserted and make it work like readline. Reported by
42323 Vincent Pelletier <subdino2004@yahoo.fr>.
42324
8514a1e0 423252004-12-28 Marco Gerards <metgerards@student.han.nl>
42326
42327 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
42328
42329 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
42330 `kern/powerpc/cache.S'.
42331
924b6140 423322004-12-27 Marco Gerards <metgerards@student.han.nl>
42333
42334 * genmk.rb: Handle the `Program' class in the main loop. Written
42335 by Johan Rydberg <jrydberg@gnu.org>.
42336 (Program): New class.
42337 (programs): New variable.
42338 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
42339 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
42340 instead of "grub/kernel.h". Include <grub/machine/init.h>.
42341 (help_arch): Function removed.
42342 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
42343 `powerpc/libgcc.h' and `loader.h'.
42344 (pkgdata_PROGRAMS): New variable.
42345 (sbin_UTILITIES): Variable removed.
42346 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
42347 (grubof_SOURCES): Variable re-defined so it only includes the
42348 core functionality.
42349 (grubof_CFLAGS): Remove `-DGRUBOF'.
42350 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
42351 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
42352 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
42353 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
42354 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
42355 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
42356 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
42357 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
42358 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
42359 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
42360 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42361 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
42362 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
42363 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
42364 (pc_mod_CFLAGS): New variables.
42365 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
42366 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
42367 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
42368 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
42369 Moved from here...
42370 * include/grub/i386/pc/init.h (grub_os_area_addr)
42371 (rub_os_area_size): ... to here.
42372 * include/grub/powerpc/ieee1275/ieee1275.h
42373 (grub_ieee1275_entry_fn): Export symbol.
42374 * include/grub/powerpc/ieee1275/init.h: New file.
42375 * include/grub/powerpc/libgcc.h: Likewise.
42376 * include/grub/cache.h: Likewise.
42377 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
42378 <hollis@penguinppc.org>.
42379 * kern/dl.c: Include <grub/cache.h>.
42380 (grub_dl_flush_cache): New function.
42381 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
42382 for this module.
42383 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
42384 (grub_console_init): Removed prototypes.
42385 (grub_machine_init): Don't initialize the modules anymore.
42386 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
42387 static.
42388 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
42389 Macro undef removed.
42390 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
42391 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
42392 relocation `R_PPC_REL32'. Return an error when the relocation is
42393 unknown.
42394 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
42395 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
42396 * util/misc.c (grub_arch_sync_caches): Likewise.
42397
e4b47e0c 423982004-12-19 Marco Gerards <metgerards@student.han.nl>
42399
42400 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
42401 `symlist.c', add `grubof_symlist.c'.
42402 (symlist.c): Variable removed.
42403 (grubof_HEADERS): Variable added.
42404 (grubof_symlist.c): New target.
42405 (kernel_syms.lst): Use `grubof_HEADERS' instead of
42406 `kernel_img_HEADERS'.
42407 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
42408 * kern/powerpc/dl.c: New file.
42409 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
42410 Function removed.
42411 (grub_arch_dl_relocate_symbols): Likewise.
42412 (grub_register_exported_symbols): Likewise.
42413
4ceb3636 424142004-12-13 Marco Gerards <metgerards@student.han.nl>
42415
42416 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
42417 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
42418 to fail instead. Reported by Vincent Pelletier
42419 <subdino2004@yahoo.fr>.
42420
42421 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
42422 it is not allocated. Reported by Vincent Pelletier
42423 <subdino2004@yahoo.fr>.
42424
42425 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
42426 output so the output looks better.
f19dbdb7 42427
3f1578fe 424282004-12-04 Marco Gerards <metgerards@student.han.nl>
42429
42430 Modulize the partition map support and add support for the amiga
42431 partition map.
f19dbdb7 42432
3f1578fe 42433 * commands/ls.c: Include <grub/partition.h> instead of
42434 <grub/machine/partition.h>.
42435 * kern/disk.c: Likewise.
42436 * kern/rescue.c: Likewise.
42437 * loader/i386/pc/chainloader.c: Likewise.
42438 * normal/cmdline.c: Likewise.
42439 * kern/powerpc/ieee1275/init.c: Likewise.
42440 (grub_machine_init): Call `grub_pc_partition_map_init',
42441 `grub_amiga_partition_map_init' and
42442 `grub_apple_partition_map_init'.
42443 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
42444 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
42445 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
42446 `partition.h' and `pc_partition.h'.
42447 (grub_setup_SOURCES): Remove
42448 `disk/i386/pc/partition.c'. Add `kern/partition.c',
42449 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
42450 (grub_emu_SOURCES): Likewise.
42451 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
42452 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
42453 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
42454 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
42455 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
42456 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
42457 (grubof_SOURCES): Likewise.
42458 * disk/i386/pc/partition.c: File removed.
42459 * disk/powerpc/ieee1275/partition.c: Likewise.
42460 * include/grub/powerpc/ieee1275/partition.h: Likewise.
42461 * include/grub/i386/pc/partition.h: Likewise.
42462 * kern/partition.c: New file.
42463 * partmap/amiga.c: Likewise.
42464 * partmap/apple.c: Likewise.
42465 * partmap/pc.c: Likewise.
42466 * include/grub/partition.h: Likewise..
42467 * include/grub/pc_partition.h: Likewise.
42468 * util/grub-emu.c: Include <grub/partition.h> instead of
42469 <grub/machine/partition.h>.
42470 (main): Call `grub_pc_partition_map_init',
42471 `grub_amiga_partition_map_init' and
42472 `grub_apple_partition_map_init' and deinitialize afterwards.
42473 * util/i386/pc/biosdisk.c: Include `#include
42474 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
42475 `<grub/machine/partition.h>'.
42476 * util/i386/pc/grub-setup.c: Likewise.
42477 * util/i386/pc/biosdisk.c: Likewise.
42478 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
42479 partition information in case of a PC partition.
42480 * util/i386/pc/grub-setup.c: Include `#include
42481 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
42482 `<grub/machine/partition.h>'.
42483 (setup): Only access the PC specific partition information in case
42484 of a PC partition.
42485
0ef4ced9 424862004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 42487
0ef4ced9 42488 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
42489 (grub_longjmp): Likewise.
42490 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
42491 20.
42492 * normal/powerpc/setjmp.S: New file.
42493 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
42494 `normal/powerpc/setjmp.S'.
42495 (grubof_CFLAGS): Add `-DGRUBOF'.
42496 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
42497 [GRUB_UTIL && !GRUBOF].
f19dbdb7 42498
19950e29 424992004-11-16 Marco Gerards <metgerards@student.han.nl>
42500
42501 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
42502 property named `name'. Correctly handle the error returned by
42503 `grub_ieee1275_finddevice' if a device can not be opened.
42504
a2fea427 425052004-11-02 Hollis Blanchard <hollis@penguinppc.org>
42506
42507 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
42508 `actual' for negativity.
42509 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
42510 kern/fshelp.c.
42511
41ea0ea3 425122004-11-01 Marco Gerards <metgerards@student.han.nl>
42513
42514 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
42515 (PAGE_OFFSET): New macro.
42516 (CRTC_ADDR_PORT): Likewise.
42517 (CRTC_DATA_PORT): Likewise.
42518 (START_ADDR_HIGH_REGISTER): Likewise.
42519 (START_ADDR_LOW_REGISTER): Likewise.
42520 (GRAPHICS_ADDR_PORT): Likewise.
42521 (GRAPHICS_DATA_PORT): Likewise.
42522 (READ_MAP_REGISTER): Likewise.
42523 (INPUT_STATUS1_REGISTER): Likewise.
42524 (INPUT_STATUS1_VERTR_BIT): Likewise.
42525 (page): New variable.
42526 (wait_vretrace): New function.
42527 (set_read_map): Likewise.
42528 (set_start_address): Likewise.
42529 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
42530 the right page.
42531 (check_vga_mem): Take the page into account.
42532 (write_char): Likewise.
42533 (write_cursor): Likewise.
42534 (scroll_up): Likewise. Copy the page to the page that is not
42535 shown and switch between both pages.
42536 (grub_vga_putchar): Fix off by one error.
42537 (grub_vga_cls): Wait for the vertical retrace. Take the page into
42538 account.
42539
ad0bd20b 425402004-11-01 Marco Gerards <metgerards@student.han.nl>
42541
42542 Add support for iso9660 (including rockridge).
f19dbdb7 42543
ad0bd20b 42544 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
42545 (iso9660_mod_SOURCES): New variable.
42546 (iso9660_mod_CFLAGS): Likewise.
42547 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
42548 * include/grub/fs.h (grub_iso9660_init): New prototype.
42549 * util/grub-emu.c (main): Call `grub_iso9660_init'.
42550 * fs/iso9660.c: New file.
42551
42552 * include/grub/misc.h (grub_strncat): New prototype.
42553 * kern/misc.c (grub_strncat): New function.
f19dbdb7 42554
ad0bd20b 42555 * fs/hfs.c (grub_hfs_mount): Translate the error
42556 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
42557 * fs/jfs.c (grub_jfs_mount): Likewise.
42558 * fs/ufs.c (grub_ufs_mount): Likewise.
42559
a5477a59 425602004-10-28 Hollis Blanchard <hollis@penguinppc.org>
42561
42562 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
42563 which initialized BAT registers.
42564 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
42565 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
42566 Move from here...
42567 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
42568 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
42569 ... to here.
42570 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
42571 (grub_mapclaim): Likewise.
42572 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
42573 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
42574 hand.
42575
9304c1f8 425762004-10-19 Hollis Blanchard <hollis@penguinppc.org>
42577
42578 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
42579 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
42580 -ffreestanding and -msoft-float.
42581
86f4ae25 425822004-10-15 Hollis Blanchard <hollis@penguinppc.org>
42583
42584 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
42585 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
42586 set in grub_ieee1275_flags.
42587
38912228 425882004-10-14 Hollis Blanchard <hollis@penguinppc.org>
42589
42590 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
42591 prototype.
42592 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
42593 grub_console_init first.
42594 Change the memory range used for grub_ieee1275_claim and
42595 grub_mm_init_region.
42596 Print an error message if the claim fails.
42597 Include <grub/misc.h>.
42598
d1923dc8 425992004-10-13 Hollis Blanchard <hollis@penguinppc.org>
42600
42601 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
42602 Call grub_children_iterate for device nodes of type `scsi',
42603 `ide', or `ata'.
42604 (grub_ofdisk_open): Remove manual device alias resolution.
42605 Fix memory leak when device cannot be opened.
f19dbdb7 42606 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 42607 (grub_children_iterate): New prototype.
42608 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
42609 New function.
42610 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
42611 Return -1 if args.size was -1.
42612
4512e4f3 426132004-10-11 Hollis Blanchard <hollis@penguinppc.org>
42614
42615 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
42616 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
42617 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
42618 Open Firmware's memory for it; claim memory from _start to _end.
42619 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
42620 (_end): New extern.
42621 (_start): Zero BSS from __bss_start to _end.
42622 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
42623 New extern.
42624 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
42625
4d61feb0 426262004-10-11 Hollis Blanchard <hollis@penguinppc.org>
42627
ad0bd20b 42628 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
42629 -1 if args.base was -1.
4d61feb0 42630
026fa2f9 426312004-10-08 Hollis Blanchard <hollis@penguinppc.org>
42632
42633 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
42634 escape sequence instead of a literal ^L. Also call
42635 grub_ofconsole_gotoxy.
42636
9f2220ef 426372004-10-03 Hollis Blanchard <hollis@penguinppc.org>
42638
42639 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
42640 void * arguments to grub_addr_t. All callers updated. Also make
42641 the `result' argument optional.
42642 (grub_ieee1275_release): change void * arguments to grub_addr_t.
42643 All callers updated.
42644
8a572cd7 426452004-09-22 Hollis Blanchard <hollis@penguinppc.org>
42646
42647 * commands/ls.c (grub_ls_list_files): Use the string following the
42648 initial ')', if present, as the filesystem path.
42649 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
42650
42651 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
42652
18aa81f2 426532004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
42654
42655 Make the source code of the menu interface more readable.
f19dbdb7 42656
18aa81f2 42657 * normal/menu.c: Include grub/mm.h.
42658 (TERM_WIDTH): New macro.
42659 (TERM_HEIGHT): Likewise.
42660 (TERM_INFO_HEIGHT): Likewise.
42661 (TERM_MARGIN): Likewise.
42662 (TERM_SCROLL_WIDTH): Likewise.
42663 (TERM_TOP_BORDER_Y): Likewise.
42664 (TERM_LEFT_BORDER_X): Likewise.
42665 (TERM_BORDER_WIDTH): Likewise.
42666 (TERM_MESSAGE_HEIGHT): Likewise.
42667 (TERM_BORDER_HEIGHT): Likewise.
42668 (TERM_NUM_ENTRIES): Likewise.
42669 (TERM_FIRST_ENTRY_Y): Likewise.
42670 (TERM_ENTRY_WIDTH): Likewise.
42671 (TERM_CURSOR_X): Likewise.
42672 (draw_border): Use macros instead of magic numbers.
42673 (print_entry): Likewise.
42674 (print_entries): Likewise.
42675 (run_menu): Likewise. Also, handle the key 'e'.
42676 (run_menu_entry): Ignore empty command lines.
42677 (print_message): Added a new argument EDIT. If EDIT is true,
42678 print a different message.
42679 (init_page): Likewise.
42680 (edit_menu_entry): New function. Not implemented yet.
42681
b47efe30 426822004-09-17 Marco Gerards <metgerards@student.han.nl>
42683
42684 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
42685 can be loaded from normal mode.
f19dbdb7 42686
b47efe30 42687 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
42688 `multiboot.mod'.
42689 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
42690 (multiboot_mod_CFLAGS): New variables.
42691 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 42692 * loader/i386/pc/multiboot_normal.c: Likewise.
42693
b47efe30 42694 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
42695 attribute `unused'.
f19dbdb7 42696
b47efe30 42697 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
42698 `fdiro' to read the mode information from instead of `diro'.
42699
42700 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
42701 looking up a symlink.
42702
42703 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
42704 macro.
42705 * normal/command.c (grub_command_execute): Don't parse the
42706 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
42707 flags of the command.
42708
42709 * normal/menu.c (grub_menu_run): Fix typo.
42710
da75ac71 427112004-09-14 Hollis Blanchard <hollis@penguinppc.org>
42712
42713 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
42714
42715 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
42716 `y + 1' instead of `y - 1'.
42717
42718 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 42719
062b24c2 427202004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
42721
42722 From Hollis Blanchard <hollis@penguinppc.org>:
42723 * kern/misc.c (memmove): New alias for grub_memmove.
42724 (memcmp): New alias for grub_memcmp.
42725 (memset): New alias for grub_memset.
f19dbdb7 42726 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 42727 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 42728 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 42729 (grub_ieee1275_get_property): Likewise.
f19dbdb7 42730
8ddad845 427312004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
42732
42733 Added normal mode command `chainloader' as module chain.mod, which
42734 depends on normal.mod and _chain.mod.
f19dbdb7 42735
8ddad845 42736 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
42737 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
42738 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
42739 Deleted prototype.
42740 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
42741 but arguments parsing moved to ...
42742 (grub_chainloader_cmd): ... here. New function.
42743 * include/grub/i386/pc/chainloader.h: New file.
42744 * loader/i386/pc/chainloader_normal.c: Likewise.
42745
2c1f4ce3 427462004-09-11 Marco Gerards <metgerards@student.han.nl>
42747
42748 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
42749 (grub_mkimage_LDFLAGS): Likewise.
42750 (grub_emu_SOURCES): Likewise.
42751 (kernel_img_HEADERS): Added fshelp.h.
42752 * fs/ext2.c: Include <grub/fshelp.h>.
42753 (FILETYPE_REG): New macro.
42754 (FILETYPE_INO_REG): Likewise.
42755 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
42756 Changed all users.
42757 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
42758 all users.
42759 (grub_fshelp_node): New struct.
42760 (grub_ext2_data): Added member `diropen'. Changed member `inode'
42761 to a pointer.
42762 (grub_ext2_get_file_block): Removed function.
42763 (grub_ext2_read_block): New function.
42764 (grub_ext2_read_file): Replaced parameter `data' by `node'.
42765 This function was written.
42766 (grub_ext2_mount): Read the root inode. Create a diropen struct.
42767 (grub_ext2_find_file): Removed function.
42768 (grub_ext2_read_symlink): New function.
42769 (grub_ext2_iterate_dir): Likewise.
42770 (grub_ext2_open): Rewritten.
42771 (grub_ext2_dir): Rewritten.
42772 * include/grub/fshelp.h: New file.
42773 * fs/fshelp.c: Likewise.
42774
3c52136a 427752004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
42776
42777 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
42778 (print_message): Add a missing newline.
42779 (run_menu): Added timeout support.
42780 (run_menu_entry): New local function.
42781 (grub_menu_run): Added support for booting.
42782
42783 * kern/loader.c (grub_loader_is_loaded): New function.
42784
42785 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
42786 (grub_get_rtc): Exported.
42787
42788 * include/grub/i386/pc/time.h: Include grub/symbol.h.
42789 (grub_get_rtc): Exported.
42790
42791 * include/grub/normal.h (struct grub_command_list): Remove
42792 constant from the member `command'.
42793
42794 * include/grub/loader.h (grub_loader_is_loaded): Declared.
42795
42796 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
42797
42798 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
42799
aa033560 428002004-08-28 Marco Gerards <metgerards@student.han.nl>
42801
42802 Add support for the JFS filesystem.
42803
42804 * fs/jfs.c: New file.
42805 * include/grub/fs.h (grub_jfs_init): New prototype.
42806 (grub_jfs_fini): New prototype.
42807 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
42808 (grub_emu_SOURCES): Likewise.
42809 (pkgdata_MODULES): Add jfs.mod.
42810 (jfs_mod_SOURCES): New variable.
42811 (jfs_mod_CFLAGS): Likewise.
42812 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
42813 (grubof_SOURCES): Likewise.
42814 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
42815
42816 * fs/fat.c (grub_fat_find_dir): Convert the filename little
42817 endian to the host endian.
42818 (grub_fat_utf16_to_utf8): Move function from there...
42819 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 42820 the endianness of the source string anymore.
aa033560 42821 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
42822
94bc45af 428232004-08-24 Marco Gerards <metgerards@student.han.nl>
42824
42825 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
42826 (grub_boot_fini) [GRUB_UTIL]: Likewise.
42827 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
42828 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 42829
94bc45af 42830 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
42831 (grub_hfs_iterate_dir): Make the function static. Add prototypes
42832 for `node_found' and `it_dir'.
42833 (grub_hfs_dir): Add prototype for `dir_hook'.
42834
42835 * fs/minix.c (grub_minix_get_file_block): Add prototype for
42836 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
42837 and `indir32' to silence a gcc warning.
42838
42839 * include/grub/fs.h (grub_hfs_init): New prototype.
42840 (grub_hfs_fini): Likewise.
f19dbdb7 42841
42842
97543f08 428432004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
42844
42845 Each disk device has its own id now. This is useful to make use
42846 of multiple disk devices.
f19dbdb7 42847
97543f08 42848 * include/grub/disk.h (grub_disk_dev_id): New enum.
42849 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
42850 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
42851
42852 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
42853 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
42854
42855 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
42856 GRUB_DISK_DEVICE_OFDISK_ID as an id.
42857
42858 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
42859 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
42860
42861 * include/grub/disk.h (struct grub_disk_dev): Added a new member
42862 "id" which is used by the cache manager.
42863
42864 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
42865 of just "GRUB".
42866
64372eb4 428672004-08-18 Marco Gerards <metgerards@student.han.nl>
42868
42869 * fs/hfs.c: New file.
42870 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
42871 (grub_emu_SOURCES): Likewise.
42872 (pkgdata_MODULES): Add hfs.mod.
42873 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
42874 (grubof_SOURCES): Likewise.
42875 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
42876
42877 * include/grub/misc.h (grub_strncasecmp): Add prototype.
42878 * kern/misc.c (grub_strncasecmp): Add function.
42879
cc61b58f 428802004-08-14 Marco Gerards <metgerards@student.han.nl>
42881
42882 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
42883 with parentheses.
42884
42885 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
42886 (grub_ext2_dir): In case the directory entry type is unknown, read
42887 it from the inode.
42888
0ef123f6 428892004-08-02 Peter Bruin <pjbruin@dds.nl>
42890
42891 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
42892 grub_load_linux instead of grub_rescue_cmd_linux as second
42893 argument of grub_rescue_register_command.
42894
42895 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
42896
a447c5df 428972004-07-27 Marco Gerards <metgerards@student.han.nl>
42898
42899 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
42900 function.
42901 * commands/boot.c: Remove the check for `GRUB_UTIL'.
42902 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
42903 `loader/powerpc/ieee1275/linux.c',
42904 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
42905 * include/grub/powerpc/ieee1275/ieee1275.h
42906 (grub_ieee1275_release): New prototype.
42907 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
42908 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
42909 normal, boot, linux and linux_normal.
42910 * loader/powerpc/ieee1275/linux.c: New file.
42911 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
42912
5a9e3546 429132004-07-12 Marco Gerards <metgerards@student.han.nl>
42914
42915 * normal/arg.c (grub_arg_parse): Correct error handling after
42916 reallocating the argumentlist (check if `argl' is not null instead
42917 of checking if `args' is not null).
42918 * kern/mm.c (grub_realloc): Return the same pointer when using the
42919 same region, instead of returning the header address.
42920
e15199cb 429212004-07-11 Marco Gerards <metgerards@student.han.nl>
42922
42923 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
42924 one block instead of two when looking for the initial partition.
42925 (grub_partition_probe): Initialize the local variable `p' with 0.
42926 Use base 10 for the grub_strtoul call.
42927 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
42928 need for one local variable.
42929 (grub_strtoul): Don't add the new value to `num', instead of that
42930 just assign it.
42931
020616c2 429322004-07-11 Marco Gerards <metgerards@student.han.nl>
42933
42934 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
42935 (pxeboot_img_SOURCES): New variable.
42936 (pxeboot_img_ASFLAGS): Likewise.
42937 (pxeboot_img_LDFLAGS): Likewise.
42938 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
42939 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
42940 <lode_leroy@hotmail.com>.
42941
6c51eb64 429422004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
42943
42944 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
42945 there was no input.
42946
cfb12aff 429472004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
42948
42949 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
42950 the history buffer logic.
42951
6eabba74 429522004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
42953
42954 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
42955 (FILETYPE_INO_SYMLINK): New macros.
42956 (grub_ext2_find_file): Check if the node is a directory using the
42957 inode stat information instead of using the filetype in the
42958 dirent. Exclude the first character of an absolute symlink.
42959 (grub_ext2_dir): Mask out the filetype part of the mode member of
42960 the inode.
42961
66e19ef8 429622004-05-24 Marco Gerards <metgerards@student.han.nl>
42963
42964 Add support for UFS version 1 and 2. Add support for the minix
42965 filesystem version 1 and 2, both the variants with 14 and 30 long
42966 filenames.
f19dbdb7 42967
66e19ef8 42968 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
42969 fs/minix.c.
42970 (grub_emu_SOURCES): Likewise.
42971 (pkgdata_MODULES): Add ufs.mod and minix.mod.
42972 (ufs_mod_SOURCES): New variable.
42973 (ufs_mod_CFLAGS): Likewise.
42974 (minix_mod_SOURCES): Likewise.
42975 (minix_mod_CFLAGS): Likewise.
42976 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
42977 fs/minix.c.
42978 (grubof_SOURCES): Likewise.
42979 * fs/ufs.c: New file.
42980 * fs/minix.c: New file.
42981 * include/grub/fs.h (grub_ufs_init): New prototype.
42982 (grub_ufs_fini): Likewise.
42983 (grub_minix_init): Likewise.
42984 (grub_minix_fini): Likewise.
42985 * util/grub-emu.c (main): Initialize and deinitialize UFS and
42986 minix fs.
42987
cc2e748a 429882004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
42989
42990 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
42991 commands/ls.c, commands/terminal.c, commands/boot.c,
42992 commands/cmp.c and commands/cat.c.
42993 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
42994
42995 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
42996 "env.h"
42997
4b13b216 429982004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
42999
43000 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
43001 and grub_, respectively. Because the conversion is trivial and
43002 mechanical, I omit the details here. Please refer to the CVS
43003 if you need more information.
43004
6a142551 430052004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43006
43007 * include/pupa: Renamed to ...
43008 * include/grub: ... this.
43009 * util/i386/pc/pupa-mkimage.c: Renamed to ...
43010 * util/i386/pc/grub-mkimage.c: ... this.
43011 * util/i386/pc/pupa-setup.c: Renamed to ...
43012 * util/i386/pc/grub-setup.c: ... this.
43013 * util/pupa-emu.c: Renamed to ...
43014 * util/grub-emu.c: ... this.
43015
e56cdf21 430162004-03-29 Marco Gerards <metgerards@student.han.nl>
43017
43018 Add support for the newworld apple macintosh (PPC). This has been
43019 tested on the powerbook 2000 only. It only adds support for
43020 generic ieee1275 functions, console and disk support. This should
43021 be easy to port to other architectures with support for Open
43022 Firmware.
f19dbdb7 43023
e56cdf21 43024 * configure.ac: Accept the powerpc as host_cpu. In the case of
43025 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
43026 specific tests are only executed while building for the i386.
43027 Inverse test for crosscompile.
43028 * genmk.rb (Utility): Allow assembler files.
43029 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
43030 * conf/powerpc-ieee1275.rmk: New file.
43031 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
43032 * disk/powerpc/ieee1275/partition.c: Likewise.
43033 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
43034 * include/pupa/powerpc/ieee1275/console.h: Likewise.
43035 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
43036 * include/pupa/powerpc/ieee1275/time.h: Likewise.
43037 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
43038 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
43039 * include/pupa/powerpc/ieee1275/loader.h
43040 * include/pupa/powerpc/setjmp.h: Likewise.
43041 * include/pupa/powerpc/types.h: Likewise.
43042 * kern/powerpc/ieee1275/init.c: Likewise.
43043 * kern/powerpc/ieee1275/openfw.c: Likewise.
43044 * term/powerpc/ieee1275/ofconsole.c: Likewise.
43045
43046 These files were written by Johan Rydberg
43047 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 43048
e56cdf21 43049 * boot/powerpc/ieee1275/cmain.c: New file.
43050 * boot/powerpc/ieee1275/crt0.S: Likewise.
43051 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
43052 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
43053
8c8cc205 430542004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
43055
43056 * Makefile.in: Update copyright.
43057 * genmodsrc.sh: Likewise.
43058 * gensymlist.sh: Likewise.
43059 * term/i386/pc/vga.c: Indent correctly.
43060
43061 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
43062 bugreporting address.
43063 * util/i386/pc/pupa-setup.c (usage): Likewise,
43064 (main): Call pupa_ext2_init and pupa_ext2_fini.
43065
f19dbdb7 43066 * fs/fat.c (log2): Renamed to ...
8c8cc205 43067 (fat_log2): ... this.
43068 All callers changed.
43069 * kern/misc.c (memcpy): Alias to pupa_memmove.
43070 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
43071 lvalue cast.
43072 * util/console.c (pupa_ncurses_fini): Return 0.
43073
43074 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
43075 Move fail label here.
43076 [__GNU__]: Don't warn when using stat.
43077 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
43078 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
43079 long int. Use strtol instead of strtoul.
f19dbdb7 43080
db1771cf 430812004-03-14 Marco Gerards <metgerards@student.han.nl>
43082
43083 * commands/boot.c: New file.
43084 * commands/cat.c: Likewise.
43085 * commands/cmp.c: Likewise.
43086 * commands/ls.c: Likewise.
43087 * commands/terminal.c: Likewise.
43088 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
43089 (pupa_register_command): Changed interface to match the new
43090 argument parser.
43091 (pupa_command_execute): Changed (almost rewritten) so it uses
43092 pupa_split_command. Added support for setting variables using the
43093 syntax `foo=bar'.
43094 (rescue_command): Changed to work with the new argument parser.
43095 (terminal_command): Moved from here to commands/terminal.c.
43096 (set_command): New function.
43097 (unset_command): New function.
43098 (insmod_command): New function.
43099 (rmmod_command): New function.
43100 (lsmod_command): New function.
43101 (pupa_command_init): Don't initialize the command terminal
43102 anymore. Initialize the commands set, unset, insmod, rmmod and
43103 lsmod.
43104 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
43105 (kernel_img_HEADERS): Add arg.h and env.h.
43106 (pupa_mkimage_LDFLAGS): Add kern/env.c.
43107 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
43108 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
43109 normal/arg.c.
43110 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
43111 terminal.mod.
43112 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
43113 (boot_mod_SOURCES): New variable.
43114 (terminal_mod_SOURCES): Likewise.
43115 (ls_mod_SOURCES): Likewise.
43116 (cmp_mod_SOURCES): Likewise.
43117 (cat_mod_SOURCES): Likewise.
43118
43119 * normal/arg.c: New file.
43120 * kern/env.c: Likewise.
43121 * include/pupa/arg.h: Likewise.
43122 * include/pupa/env.h: Likewise.
43123 * font/manager.c (font_command): Changed to match argument parsing
43124 interface changes.
43125 (PUPA_MOD_INIT): Likewise.
43126 * hello/hello.c (pupa_cmd_hello): Likewise.
43127 (PUPA_MOD_INIT): Likewise.
43128 * include/pupa/disk.h: Include <pupa/device.h>.
43129 (pupa_print_partinfo): New prototype.
43130 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
43131 (pupa_dl_get_prefix): Likewise.
43132 * include/pupa/misc.h: Include <pupa/err.h>.
43133 (pupa_isgraph): New prototype.
43134 (pupa_isdigit): Likewise.
43135 (pupa_split_cmdline): Likewise.
43136 * include/pupa/normal.h: Include <pupa/arg.h>.
43137 (pupa_command): Changed the prototype of the member `func' to
43138 match the argument parsing interface. Added member `options'.
43139 (pupa_register_command): Updated to match function.
43140 (pupa_arg_parse): New prototype.
43141 (pupa_hello_init) [PUPA_UTIL]: New prototype.
43142 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
43143 (pupa_ls_init) [PUPA_UTIL]: Likewise.
43144 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
43145 (pupa_cat_init) [PUPA_UTIL]: Likewise.
43146 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
43147 (pupa_boot_init) [PUPA_UTIL]: Likewise.
43148 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
43149 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
43150 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
43151 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
43152 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
43153 * kern/disk.c: Include <pupa/file.h>.
43154 (pupa_print_partinfo): New function.
43155 * kern/dl.c: Include <pupa/env.h>.
43156 (pupa_dl_dir): Variable removed.
43157 (pupa_dl_load): Use the environment variable `prefix' instead of
43158 the variable pupa_dl_dir.
43159 (pupa_dl_set_prefix): Function removed.
43160 (pupa_dl_get_prefix): Likewise.
43161 * kern/i386/pc/init.c: Include <pupa/env.h>.
43162 (pupa_machine_init): Use the environment variable `prefix' instead of
43163 using pupa_dl_set_prefix to set the prefix.
43164 * kern/main.c: Include <pupa/env.h>.
43165 (pupa_set_root_dev): Use the environment variable `prefix' instead of
43166 using pupa_dl_get_prefix to get the prefix.
43167 * kern/misc.c: Include <pupa/env.h>.
43168 (pupa_isdigit): New function.
43169 (pupa_isgraph): Likewise.
43170 (pupa_ftoa): Likewise.
43171 (pupa_vsprintf): Added support for printing values of the type
43172 `double'. Make it possible to format variable output when using
43173 formatting like `%1.2%f'.
43174 (pupa_split_cmdline): New function.
43175 * kern/rescue.c: Include <pupa/env.h>.
43176 (next_word): Removed function.
43177 (pupa_rescue_cmd_prefix): Likewise.
43178 (pupa_rescue_cmd_set): New function.
43179 (pupa_rescue_cmd_unset): New function.
43180 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
43181 split the command line instead of splitting it here. Added
43182 support for setting variables using the syntax `foo=bar'. Don't
43183 initialize the prefix command anymore. Initialized the set and
43184 unset commands.
43185 * normal/cmdline.c: Include <pupa/env.h>.
43186 (pupa_tab_complete): Added prototypes for print_simple_completion,
43187 print_partition_completion, add_completion, iterate_commands,
43188 iterate_dev, iterate_part and iterate_dir. Moved code to print
43189 partition information from here to kern/disk.c.
fe6b695a 43190 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 43191 * normal/main.c: Include <pupa/env.h>.
43192 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
43193 instead of using pupa_dl_get_prefix to get the prefix.
43194 * term/i386/pc/vga.c: Include <pupa/arg.h>.
43195 (check_vga_mem): Cast pointers to `void *' to silence a gcc
43196 warning.
43197 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
43198 (pupa_vga_setcolor): Declare unused variables with `__attribute__
43199 ((unused))' to silence a gcc warning.
43200 (pupa_vga_setcolor): Likewise.
43201 (debug_command): Changed to match argument parsing
43202 interface changes.
43203 * util/pupa-emu.c: Include <pupa/env.h>.
43204 (options): Added 0's for unused fields to silence a gcc warning.
43205 (argp): Likewise.
43206 (main): Use the environment variable `prefix' instead of using
43207 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
43208 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
43209 and terminal.
43210
43211 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
43212 * util/misc.c: Include <malloc.h>.
43213 (pupa_malloc): Rewritten so errors are correctly reported.
43214 (pupa_realloc): Likewise.
43215 (pupa_memalign): Likewise.
43216 (pupa_mm_init_region): Declare unused variables with
43217 `__attribute__ ((unused))' to silence a gcc warning.
43218 * normal/i386/setjmp.S: Remove tab at the end of the file to
43219 silence a gcc warning.
43220 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
43221 variables with `__attribute__ ((unused))' to silence a gcc
43222 warning.
43223 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
43224 local variable i unsigned to silence a gcc warning.
43225
43226 * kern/term.c: Include <pupa/misc.h>.
43227 (pupa_more_lines): New variable.
43228 (pupa_more): Likewise.
43229 (pupa_putcode): When the pager is active pause at the end of every
43230 screen.
43231 (pupa_set_more): New function.
43232 * include/pupa/term.h (pupa_set_more): New prototype.
43233
43234
3b1139cb 432352004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
43236
43237 Now this project is GRUB 2 rather than PUPA. The location of
43238 the CVS repository was moved to GRUB's.
f19dbdb7 43239
3b1139cb 43240 * configure.ac: Use bug-grub as the reporting address.
43241 Use GRUB instead of PUPA.
43242 Change the version number to 1.90.
43243
8367695c 432442004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
43245
43246 * genkernsyms.sh: Updated copyright information.
43247 * genmk.rb: Likewise.
43248 * genmodsrc.sh: Likewise.
43249 * gensymlist.sh: Likewise.
43250 * boot/i386/pc/boot.S: Likewise.
43251 * boot/i386/pc/diskboot.S: Likewise.
43252 * disk/i386/pc/biosdisk.c: Likewise.
43253 * disk/i386/pc/partition.c: Likewise.
43254 * font/manager.c: Likewise.
43255 * fs/ext2.c: Likewise.
43256 * fs/fat.c: Likewise.
43257 * include/pupa/boot.h: Likewise.
43258 * include/pupa/device.h: Likewise.
43259 * include/pupa/disk.h: Likewise.
43260 * include/pupa/dl.h: Likewise.
43261 * include/pupa/elf.h: Likewise.
43262 * include/pupa/err.h: Likewise.
43263 * include/pupa/file.h: Likewise.
43264 * include/pupa/font.h: Likewise.
43265 * include/pupa/fs.h: Likewise.
43266 * include/pupa/kernel.h: Likewise.
43267 * include/pupa/loader.h: Likewise.
43268 * include/pupa/misc.h: Likewise.
43269 * include/pupa/mm.h: Likewise.
43270 * include/pupa/net.h: Likewise.
43271 * include/pupa/normal.h: Likewise.
43272 * include/pupa/rescue.h: Likewise.
43273 * include/pupa/setjmp.h: Likewise.
43274 * include/pupa/symbol.h: Likewise.
43275 * include/pupa/term.h: Likewise.
43276 * include/pupa/types.h: Likewise.
43277 * include/pupa/i386/setjmp.h: Likewise.
43278 * include/pupa/i386/types.h: Likewise.
43279 * include/pupa/i386/pc/biosdisk.h: Likewise.
43280 * include/pupa/i386/pc/boot.h: Likewise.
43281 * include/pupa/i386/pc/console.h: Likewise.
43282 * include/pupa/i386/pc/init.h: Likewise.
43283 * include/pupa/i386/pc/kernel.h: Likewise.
43284 * include/pupa/i386/pc/linux.h: Likewise.
43285 * include/pupa/i386/pc/loader.h: Likewise.
43286 * include/pupa/i386/pc/memory.h: Likewise.
43287 * include/pupa/i386/pc/multiboot.h: Likewise.
43288 * include/pupa/i386/pc/partition.h: Likewise.
43289 * include/pupa/i386/pc/time.h: Likewise.
43290 * include/pupa/i386/pc/vga.h: Likewise.
43291 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
43292 * include/pupa/util/getroot.h: Likewise.
43293 * include/pupa/util/misc.h: Likewise.
43294 * include/pupa/util/resolve.h: Likewise.
43295 * kern/device.c: Likewise.
43296 * kern/disk.c: Likewise.
43297 * kern/dl.c: Likewise.
43298 * kern/err.c: Likewise.
43299 * kern/file.c: Likewise.
43300 * kern/fs.c: Likewise.
43301 * kern/loader.c: Likewise.
43302 * kern/main.c: Likewise.
43303 * kern/misc.c: Likewise.
43304 * kern/mm.c: Likewise.
43305 * kern/rescue.c: Likewise.
43306 * kern/term.c: Likewise.
43307 * kern/i386/dl.c: Likewise.
43308 * kern/i386/pc/init.c: Likewise.
43309 * kern/i386/pc/lzo1x.S: Likewise.
43310 * kern/i386/pc/startup.S: Likewise.
43311 * loader/i386/pc/chainloader.c: Likewise.
43312 * loader/i386/pc/linux.c: Likewise.
43313 * loader/i386/pc/multiboot.c: Likewise.
43314 * normal/cmdline.c: Likewise.
43315 * normal/command.c: Likewise.
43316 * normal/main.c: Likewise.
43317 * normal/menu.c: Likewise.
43318 * normal/i386/setjmp.S: Likewise.
43319 * term/i386/pc/console.c: Likewise.
43320 * term/i386/pc/vga.c: Likewise.
43321 * util/console.c: Likewise.
43322 * util/genmoddep.c: Likewise.
43323 * util/misc.c: Likewise.
43324 * util/pupa-emu.c: Likewise.
43325 * util/resolve.c: Likewise.
43326 * util/unifont2pff.rb: Likewise.
43327 * util/i386/pc/biosdisk.c: Likewise.
43328 * util/i386/pc/getroot.c: Likewise.
43329 * util/i386/pc/pupa-mkimage.c: Likewise.
43330 * util/i386/pc/pupa-setup.c: Likewise.
43331
e6eced71 433322004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
43333
43334 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
43335 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
43336 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
43337 reading and reset it after reading.
43338 (pupa_ext2_close): Return PUPA_ERR_NONE.
43339
43340 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
43341 Correct value.
43342 (struct linux_kernel_header): Add kernel_version and
43343 initrd_addr_max.
43344 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
43345 pupa_file_read succeeds.
43346 (pupa_rescue_cmd_initrd): Implement.
43347
5aded270 433482003-12-03 Marco Gerards <metgerards@student.han.nl>
43349
43350 * fs/ext2.c (pupa_ext2_label): New function.
43351 (pupa_ext2_fs): Added label.
43352 * fs/fat.c (pupa_fat_label): New function.
43353 (pupa_fat_fs): Added label.
43354 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
43355
43356 * kern/misc.c (pupa_strndup): New function.
43357 * include/pupa/misc.h (pupa_strndup): New prototype.
43358
43359 * include/pupa/normal.h: Include <pupa/err.h>.
43360 (pupa_set_history): New prototype.
43361 (pupa_iterate_commands): New prototype.
43362 * normal/cmdline.c: Include <pupa/machine/partition.h>,
43363 <pupa/disk.h>, <pupa/file.h>.
43364 (hist_size): New variable.
43365 (hist_lines): Likewise.
43366 (hist_end): Likewise.
43367 (hist_used): Likewise.
43368 (pupa_set_history): New function.
43369 (pupa_history_get): Likewise.
43370 (pupa_history_add): Likewise.
43371 (pupa_history_replace): Likewise.
43372 (pupa_tab_complete): Likewise.
43373 (pupa_cmdline_run): Added tab completion and history buffer. Tab
43374 completion shows partitionnames while completing partitions, this
43375 feature was suggested by Jeff Bailey.
43376 * normal/command.c (pupa_iterate_commands): New function.
43377 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
43378 (pupa_normal_init): Initialize history buffer.
43379 (PUPA_MOD_INIT): Likewise.
43380 (pupa_normal_fini): Free the history buffer.
43381 (PUPA_MOD_FINI): Likewise.
43382
43383 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
43384 key.
43385
43386 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
43387 * configure.ac [i386]: Check for regparam bug.
43388 (NESTED_FUNC_ATTR) [! i386]: Defined.
43389
1f7315a3 433902003-11-17 Marco Gerards <metgerards@student.han.nl>
43391
43392 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
43393 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
43394 (pupa_emu_SOURCES): New variable.
43395 (pupa_emu_LDFLAGS): Likewise.
43396 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
43397 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
43398 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
43399 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
43400 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
43401 (pupa_jmp_buf): New typedef.
43402 (pupa_setjmp) [PUPA_UTIL]: New macro.
43403 (pupa_longjmp) [PUPA_UTIL]: Likewise.
43404 * include/pupa/term.h (struct pupa_term): New member `refresh'.
43405 (pupa_refresh): New prototype.
43406 * include/pupa/util/getroot.h: New file.
43407 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
43408 it.
43409 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
43410 (pupa_rescue_cmd_cat): Likewise.
43411 (pupa_rescue_cmd_ls): Likewise.
43412 (pupa_rescue_cmd_testload): Likewise.
43413 (pupa_rescue_cmd_lsmod): Likewise.
43414 * normal/cmdline.c (pupa_cmdline_get): Likewise.
43415 * normal/menu.c (run_menu): Likewise.
43416 * kern/term.c (pupa_cls): Likewise.
43417 (pupa_refresh): New function.
43418 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
43419 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
43420 * util/console.c: New file.
f19dbdb7 43421
1f7315a3 43422 * util/i386/pc/getroot.c: New file.
43423 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
43424 (pupa_putchar): New function.
43425 (pupa_refresh): Likewise.
43426 (xgetcwd): Function moved to ...
43427 (strip_extra_slashes): Likewise.
43428 (get_prefix): Likewise.
f19dbdb7 43429 * util/i386/pc/getroot.c: ... here.
1f7315a3 43430 (find_root_device): Function moved and renamed to...
43431 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
43432 Changed all callers.
43433 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
43434 and renamed to...
43435 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
43436 Changed all callers.
43437 * util/misc.c (pupa_memalign): New function.
43438 (pupa_mm_init_region): Likewise.
43439 (pupa_register_exported_symbols): Likewise.
43440 (pupa_putchar): Function removed.
43441 * util/pupa-emu.c: New file.
43442
9a5c1ade 434432003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
43444
43445 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
43446 (_multiboot_mod_SOURCES): New variable.
43447 (_multiboot_mod_CFLAGS): Likewise.
43448 * loader/i386/pc/multiboot.c: New file.
43449 * include/pupa/i386/pc/multiboot.h: Likewise.
43450 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
43451 (pupa_multiboot_real_boot): New function.
43452 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
43453 (pupa_multiboot_real_boot): New prototype.
43454 (pupa_rescue_cmd_multiboot): Likewise
43455 (pupa_rescue_cmd_module): Likewise.
43456
43457 * kern/loader.c (pupa_loader_set): Continue when
43458 pupa_loader_unload_func() fails.
43459 (pupa_loader_unset): New function.
43460 * include/pupa/loader.h (pupa_loader_unset): New prototype.
43461
43462 * kern/misc.c (pupa_stpcpy): New function.
43463 * include/pupa/misc.h (pupa_stpcpy): New prototype.
43464
8e72a9c0 434652003-11-12 Marco Gerards <metgerards@student.han.nl>
43466
43467 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
43468 for available extensions.
43469
43470 * include/pupa/i386/pc/time.h: New file.
43471 * kern/disk.c: Include <pupa/machine/time.h>.
43472 (PUPA_CACHE_TIMEOUT): New macro.
43473 (pupa_last_time): New variable.
43474 (pupa_disk_open): Flush the cache when there was a timeout.
43475 (pupa_disk_close): Reset the timer.
43476 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
43477 pupa_currticks.
43478 * util/misc.c: Include <sys/times.h>
43479 (pupa_get_rtc): New function.
43480
c4adbd32 434812003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
43482
43483 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
43484 as blocks.
43485 (pupa_ext2_get_file_block): Use blocks member.
43486
43487 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
43488 first block. Return -1 instead of pupa_errno on error.
43489
bfd30f06 434902003-10-27 Marco Gerards <metgerards@student.han.nl>
43491
43492 * README: In the pupa-mkimage example use _chain instead of chain
43493 and ext2 instead of fat.
43494 * TODO: Replace ext2fs with jfs as an example. Add an item for
43495 adding journal playback for ext2fs.
43496 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
43497 (pkgdata_MODULES): Added ext2.mod.
43498 (ext2_mod_SOURCES): New variable.
43499 (ext2_mod_CFLAGS): Likewise.
43500 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
43501 * include/pupa/misc.h (pupa_strncpy): New prototype.
43502 (pupa_strcat): Likewise.
43503 (pupa_strncmp): Likewise.
43504 * kern/misc.c (pupa_strcat): Enable function.
43505 (pupa_strncpy): New function.
43506 (pupa_strncmp): Likewise.
43507 * fs/ext2.c: New file.
f19dbdb7 43508
bfd30f06 43509 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
43510 when the read failed before retrying.
43511 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
43512 (_FILE_OFFSET_BITS): Likewise.
43513 * configure.ac: Added AC_SYS_LARGEFILE.
43514
98d15063 435152003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
43516
43517 * genmk.rb (PModule#rule): Make sure to get only symbol names
43518 from the output of nm.
59cad637 43519 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 43520
18d9c7cd 435212003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
43522
43523 I forgot to check in these changes for a long time. This adds
43524 incomplete support for VGA console, and this is still very
43525 buggy. Also, a lot of consideration is required for I18N,
43526 UNICODE, and VGA font issues. Therefore, assume that this is
43527 such that "better than nothing".
f19dbdb7 43528
18d9c7cd 43529 * font/manager.c: New file.
43530 * include/pupa/font.h: Likewise.
43531 * include/pupa/i386/pc/vga.h: Likewise.
43532 * term/i386/pc/vga.c: Likewise.
43533 * util/unifont2pff.rb: Likewise.
43534
43535 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
43536 (pkgdata_MODULES): Added vga.mod and font.mod.
43537 (vga_mod_SOURCES): New variables.
43538 (vga_mod_CFLAGS): Likewise.
43539 (font_mod_SOURCES): Likewise.
43540 (font_mod_CFLAGS): Likewise.
43541
43542 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
43543
43544 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 43545 (struct pupa_term): Added init and fini.
18d9c7cd 43546 Changed the argument of putchar to pupa_uint32_t.
43547
43548 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
43549 (pupa_console_real_putchar): New prototype.
43550 (pupa_console_putchar): Removed.
43551 (pupa_console_checkkey): Exported.
43552 (pupa_console_getkey): Likewise.
43553
43554 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
43555 characters.
43556
43557 * kern/term.c (pupa_term_set_current): Rewritten.
43558 (pupa_putchar): Likewise.
43559 (pupa_putcode): New function.
43560
43561 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
43562 (pupa_console_real_putchar): ... this.
43563 (pupa_vga_set_mode): New function.
43564 (pupa_vga_get_font): Likewise.
43565
43566 * normal/command.c: Include pupa/term.h.
43567 (terminal_command): New function.
43568 (pupa_command_init): Register the command "terminal".
43569
43570 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
43571 (DISP_UP): Likewise.
43572 (DISP_RIGHT): Likewise.
43573 (DISP_DOWN): Likewise.
43574 (DISP_HLINE): Likewise.
43575 (DISP_VLINE): Likewise.
43576 (DISP_UL): Likewise.
43577 (DISP_UR): Likewise.
43578 (DISP_LL): Likewise.
43579 (DISP_LR): Likewise.
43580
43581 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 43582
977329f5 435832003-02-08 NIIBE Yutaka <gniibe@m17n.org>
43584
43585 * util/resolve.c (pupa_util_resolve_dependencies): BUG
43586 FIX. Reverse the path_list.
43587
43588 * include/pupa/normal.h: Export pupa_register_command and
43589 pupa_unregister_command.
43590
43591 * hello/hello.c (pupa_cmd_hello): New module.
43592 * conf/i386-pc.rmk: Added hello.mod.
43593
1f5ab428 435942003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
43595
43596 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 43597
1f5ab428 43598 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
43599 (compress_kernel): New variable.
43600 (generate_image): Heavily modified to support compressing a
43601 large part of the core image.
43602
43603 * util/misc.c (pupa_util_read_image): Fix a file descriptor
43604 leak.
43605 (pupa_util_load_image): New function.
43606
43607 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
43608 (pupa_compressed_size): New variable.
43609 (codestart): Enable Gate A20 here.
43610 Decompress the compressed part of the core image.
43611 Rearrange the code to put functions and variables which are
43612 required for initialization in the non-compressed part.
43613 Include lzo1x.S.
43614
43615 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
43616 here.
43617
43618 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
43619
f19dbdb7 43620 * include/pupa/i386/pc/kernel.h
1f5ab428 43621 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
43622 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
43623 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
43624 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
43625 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
43626
43627 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
43628
43629 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
43630 (Utility#rule): Likewise.
43631
43632 * configure.ac: Check if LZO is available.
43633
ce5bf700 436342003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
43635
43636 * include/pupa/normal.h: New file.
43637 * include/pupa/setjmp.h: Likewise.
43638 * include/pupa/i386/setjmp.h: Likewise.
43639 * normal/cmdline.c: Likewise.
43640 * normal/command.c: Likewise.
43641 * normal/main.c: Likewise.
43642 * normal/menu.c: Likewise.
43643 * normal/i386/setjmp.S: Likewise.
f19dbdb7 43644
ce5bf700 43645 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
43646 (pupa_rescue_cmd_initrd): Likewise.
43647
43648 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
43649 Likewise.
43650
43651 * kern/i386/pc/startup.S (translation_table): New variable.
43652 (translate_keycode): New function.
43653 (pupa_console_getkey): Call translate_keycode.
43654
43655 * kern/rescue.c (attempt_normal_mode): New function.
43656 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
43657 it failed, print a message.
43658
43659 * kern/mm.c (pupa_real_malloc): Print more information when a
43660 free magic is broken.
43661 (pupa_free): If the first free header is not free actually, set
43662 it to P.
43663
43664 * kern/main.c (pupa_load_normal_mode): Just load the module
43665 "normal".
43666 (pupa_main): Don't print the message
43667 "Entering into rescue mode..." here.
43668
43669 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
43670 Declared.
43671 (pupa_rescue_cmd_initrd): Likewise.
43672 (pupa_rescue_cmd_initrd): Likewise.
43673
43674 * include/pupa/symbol.h (FUNCTION): Specify the type.
43675 (VARIABLE): Likewise.
43676
43677 * include/pupa/err.h (pupa_err_t): Added
43678 PUPA_ERR_UNKNOWN_COMMAND.
43679
43680 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
43681 (pupa_dl_get_prefix): Likewise.
43682
43683 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
43684 Added _chain.mod and _linux.mod instead of chain.mod and
43685 linux.mod.
43686 (chain_mod_SOURCES): Renamed to ...
43687 (_chain_mod_SOURCES): ... this.
43688 (chain_mod_CFLAGS): Renamed to ...
43689 (_chain_mod_CFLAGS): ... this.
43690 (linux_mod_SOURCES): Renamed to ...
43691 (_linux_mod_SOURCES): ... this.
43692 (linux_mod_CFLAGS): Renamed to ...
43693 (_linux_mod_CFLAGS): ... this.
43694 (normal_mod_SOURCES): New variable.
43695 (normal_mod_CFLAGS): Likewise.
43696 (normal_mod_ASFLAGS): Likewise.
43697
436982003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
43699
43700 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
43701 possible.
43702
fe6b695a 43703 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 43704 recursively.
43705 (pupa_dl_unref): Unrefer depending modules recursively.
43706 Don't call pupa_dl_unload implicitly, because PUPA can crash if
43707 a module is unloaded before one depending on that module is
43708 unloaded.
43709 (pupa_dl_unload): Unload depending modules explicitly,
43710 if possible.
43711
c04da074 437122003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
43713
43714 * include/pupa/i386/pc/linux.h: New file.
43715 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 43716
c04da074 43717 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
43718 Removed.
43719 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
43720 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
43721 of PUPA_CHAINLOADER_BOOT_SECTOR.
43722
43723 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
43724 (pupa_linux_prot_size): New variable.
43725 (pupa_linux_tmp_addr): Likewise.
43726 (pupa_linux_real_addr): Likewise.
43727 (pupa_linux_boot_zimage): New function.
43728 (pupa_linux_boot_bzimage): Likewise.
43729
43730 * kern/i386/pc/init.c (struct mem_region): New structure.
43731 (MAX_REGIONS): New macro.
43732 (mem_regions): New variable.
43733 (num_regions): Likewise.
43734 (pupa_os_area_addr): Likewise.
43735 (pupa_os_area_size): Likewise.
43736 (pupa_lower_mem): Likewise.
43737 (pupa_upper_mem): Likewise.
43738 (add_mem_region): New function.
43739 (compact_mem_regions): Likewise.
43740 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
43741 the size of the conventional memory and that of so-called upper
43742 memory (before the first memory hole).
43743 Instead of adding each found region to free memory, use
43744 add_mem_region and add them after removing overlaps.
43745 Also, add only 1/4 of the upper memory to free memory. The rest
43746 is used for loading OS images. Maybe this is ad hoc, but this
43747 makes it much easier to relocate OS images when booting.
43748
43749 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
43750 (pupa_enter_rescue_mode): Don't register initrd and module.
43751
43752 * kern/mm.c: Include pupa/dl.h.
43753
43754 * kern/main.c: Include pupa/file.h and pupa/device.h.
43755
43756 * kern/loader.c (pupa_loader_load_module_func): Removed.
43757 (pupa_loader_load_module): Likewise.
43758
43759 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
43760 ``.o''.
43761
43762 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
43763 (pupa_linux_tmp_addr): Likewise.
43764 (pupa_linux_real_addr): Likewise.
43765 (pupa_linux_boot_zimage): Likewise.
43766 (pupa_linux_boot_bzimage): Likewise.
43767
43768 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
43769 (pupa_upper_mem): Likewise.
43770 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
43771 module is too dangerous.
43772
43773 * include/pupa/loader.h (pupa_os_area_addr): Declared.
43774 (pupa_os_area_size): Likewise.
43775 (pupa_loader_set): Remove the first argument. Loader doesn't
43776 manage modules or initrd any longer.
43777 (pupa_loader_load_module): Removed.
43778
43779 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
43780 (linux_mod_SOURCES): New variable.
43781 (linux_mod_CFLAGS): Likewise.
43782
a13f9237 437832003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
43784
43785 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
43786 the length of a blocklist correctly.
43787
43788 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
43789 Use ioctl only if the OS file is a block device.
43790 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
43791 not very useful for normal files.
43792
43793 * kern/main.c (pupa_set_root_dev): New function.
43794 (pupa_load_normal_mode): Likewise.
43795 (pupa_main): Call those above.
43796
43797 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
43798 pupa_uint16_t.
43799
43800 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
43801
a5ffe966 438022003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
43803
43804 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
43805 (setup): Configure the installed partition information and the
43806 dl prefix.
43807
43808 * loader/i386/pc/chainloader.c (my_mod): New variable.
43809 (pupa_chainloader_unload): New function.
43810 (pupa_rescue_cmd_chainloader): Refer itself.
43811 (PUPA_MOD_INIT): Save its own module in MY_MOD.
43812
43813 * kern/i386/pc/startup.S (install_partition): Removed.
43814 (version_string): Likewise.
43815 (config_file): Likewise.
43816 (pupa_install_dos_part): New variable.
43817 (pupa_install_bsd_part): Likewise.
43818 (pupa_prefix): Likewise.
43819 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
43820
43821 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
43822 and pupa/misc.h.
43823 (make_install_device): New function.
43824 (pupa_machine_init): Set the dl prefix.
43825
43826 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
43827 (buf): Renamed to ...
43828 (linebuf): ... this.
43829 (pupa_rescue_cmd_prefix): New function.
43830 (pupa_rescue_cmd_insmod): Likewise.
43831 (pupa_rescue_cmd_rmmod): Likewise.
43832 (pupa_rescue_cmd_lsmod): Likewise.
43833 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
43834 rmmod and lsmod.
43835
43836 * kern/mm.c (pupa_memalign): If failed even after invalidating
43837 disk caches, unload unneeded modules and retry.
43838
43839 * kern/misc.c (pupa_memmove): New function.
43840 (pupa_memcpy): Removed.
43841 (pupa_strcpy): New function.
43842 (pupa_itoa): Made static.
43843
43844 * kern/dl.c (pupa_dl_iterate): New function.
43845 (pupa_dl_ref): Likewise.
43846 (pupa_dl_unref): Likewise.
43847 (pupa_dl_unload): Return if succeeded or not.
43848 (pupa_dl_unload_unneeded): New function.
43849 (pupa_dl_unload_all): Likewise.
43850 (pupa_dl_init): Renamed to ...
43851 (pupa_dl_set_prefix): ... this.
43852 (pupa_dl_get_prefix): New function.
43853
43854 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
43855 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
43856 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
43857 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
43858 (pupa_install_dos_part): Declared.
43859 (pupa_install_bsd_part): Likewise.
43860 (pupa_prefix): Likewise.
43861 (pupa_boot_drive): Likewise.
43862
43863 * include/pupa/types.h: Fix a typo.
43864
43865 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
43866 pupa_memmove.
43867 (pupa_memmove): Declared.
43868 (pupa_strcpy): Likewise.
43869
43870 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
43871 pupa_mod_init takes one argument, its own module.
43872 (pupa_dl_unload_unneeded): Declared.
43873 (pupa_dl_unload_all): Likewise.
43874 (pupa_dl_ref): Likewise.
43875 (pupa_dl_unref): Likewise.
43876 (pupa_dl_iterate): Likewise.
43877 (pupa_dl_init): Renamed to ...
43878 (pupa_dl_set_prefix): ... this.
43879 (pupa_dl_get_prefix): Declared.
43880
43881 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 43882 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 43883 unloaded.
43884 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
43885 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
43886
43887 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
43888 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
43889
012d7999 438902003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
43891
43892 * util/i386/pc/pupa-setup.c (setup): Define the internal
43893 function find_first_partition_start at the top level, because GCC
43894 3.0.x cannot compile internal functions in deeper scopes
43895 correctly.
43896 (find_root_device): Use lstat instead of stat.
43897 Don't follow symbolic links.
43898 Fix the path-constructing code.
43899
43900 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
43901 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
43902 by a BLKGETSIZE ioctl first, because block devices don't fill
43903 the member st_mode of the structure stat on Linux.
43904 [__linux__] (linux_find_partition): Use a temporary buffer
43905 REAL_DEV for the working space. Copy it to DEV before returning.
43906 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
43907 buffer cache consistent.
43908 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
43909 strncmp. The previous value was merely wrong.
43910 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
43911
43912 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
43913 FAT size is 12. The previous value was merely wrong.
43914
43915 * kern/main.c (pupa_main): Don't split the starting message from
43916 newlines.
43917
43918 * kern/term.c (pupa_putchar): Put CR after LF instead of before
43919 LF, because BIOS goes crazy about character attributes in this
43920 case.
43921
1cc73a62 439222003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
43923
43924 * include/i386/pc/util/biosdisk.h: New file.
43925 * util/i386/pc/biosdisk.c: Likewise.
43926 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 43927
1cc73a62 43928 * Makefile.in (INCLUDE_DISTFILES): Added
43929 include/pupa/i386/pc/util/biosdisk.h.
43930 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
43931 directory util/i386/pc.
43932 (install-local): Added a rule for sbin_UTILITIES.
43933 (uninstall): Likewise.
43934
43935 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
43936
43937 * util/misc.c (xrealloc): New function.
43938 (pupa_malloc): Likewise.
43939 (pupa_free): Likewise.
43940 (pupa_realloc): Likewise.
43941 (pupa_stop): Likewise.
43942 (pupa_putchar): Likewise.
43943
43944 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
43945
43946 * include/pupa/util/misc.h (xrealloc): Declared.
43947
43948 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
43949 macro.
43950 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
43951 (PUPA_BOOT_MACHINE_BPB_END): ... this.
43952
43953 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
43954 [PUPA_UTIL] (pupa_fat_fini): Likewise.
43955
43956 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
43957 way should be implemented.
43958 [PUPA_UTIL] (pupa_fat_fini): Likewise.
43959
43960 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
43961 the size of NAME for safety.
43962 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
43963 0x88.
43964
43965 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
43966 (pupa_setup_SOURCES): Likewise.
43967
43968 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
43969
08b70fe8 439702002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
43971
43972 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
43973 bunch of pushl's from pusha, because this destroys the return
43974 value.
43975
62ddcc8f 439762002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
43977
43978 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
43979 This means that any missing prototypes could be fatal. Also, you
43980 must take care when writing assembly code. See the comments at
43981 the beginning of startup.S, for more details.
f19dbdb7 43982
62ddcc8f 43983 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
43984 compilation mechanism.
43985 (pupa_chainloader_real_boot): Likewise.
43986 (pupa_biosdisk_rw_int13_extensions): Likewise.
43987 (pupa_biosdisk_rw_standard): Likewise.
43988 (pupa_biosdisk_check_int13_extensions): Likewise.
43989 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
43990 (pupa_biosdisk_get_diskinfo_standard): Likewise.
43991 (pupa_get_memsize): Likewise.
43992 (pupa_get_mmap_entry): Likewise.
43993 (pupa_console_putchar): Likewise.
43994 (pupa_console_setcursor): Likewise.
43995 (pupa_getrtsecs): Use pushl instead of push.
43996
43997 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
43998 memory instead of the stack for a mmap entry, because some
43999 BIOSes may ignore the maximum size and overflow.
44000
44001 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
44002
44003 * genmk.rb (PModule#rule): Compile automatically generated
44004 sources with module-specific CFLAGS as well as other sources.
44005
9962ed99 440062002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44007
44008 * configure.ac: Check ld.
44009 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
44010 respectively, before checking endianness and sizes.
44011
44012 * Makefile.in (LD): New variable.
f19dbdb7 44013
abdfc3c5 440142002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44015
44016 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
44017
6a161fa9 440182002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44019
44020 * Changelog: New file.
44021