]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
[grub2.git] / ChangeLog
CommitLineData
d2d58d0a
VS
12012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
4 starts with control character.
5
0382d9bb
VS
62012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
9 overflow.
10 (grub_gdb_outbuf): Likewise.
11
d83ff9f9
VS
122012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
13
14 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
15 zero terminator. Fixes a crash.
16
2282da4a
VS
172012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
20 beyond 4 GiB.
21 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
22 images independently of preffered adderss field.
23
0ae4f0bd
VS
242012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
25
26 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
27 * grub-core/commands/regexp.c: Likewise.
28 * grub-core/loader/i386/linux.c: Likewise.
29 * grub-core/partmap/msdos.c: Likewise.
30 * grub-core/script/execute.c: Likewise.
31 * grub-core/term/gfxterm.c: Likewise.
32
546fbe9b
VS
332012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
34
35 Add variable parsing in $"..." and fix several mismatches with bash.
36
37 * Makefile.util.def (grub_script_gettext): New test.
38 * grub-core/script/execute.c (parse_string): New function.
39 (gettext_append): Likewise.
40 (grub_script_arglist_to_argv): Use gettext_append.
41 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
42 * tests/grub_script_gettext.in: New file.
43
9fdb2d7b
VS
442012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
45
46 Fix handling of leading spaces in scripts.
47
48 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
49 spaces.
50 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
51 other than skipping \r. All users updated.
52 * tests/grub_script_echo1.in: Add space-related tests.
53 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
54
1a1ac4f6
VS
552012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
56
57 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
58
b63d89b6
VS
592012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
60
61 * configure.ac: Bump up the version to beta2.
62
17f38c0f
VS
632012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
64
65 Fix gettext reload bugs (e.g. inability to disable gettext
66 once enabled).
67
68 * grub-core/gettext/gettext.c: Encapsulate all static variables in
69 main_context and secondary_context. All functions updated.
70 (grub_gettext_translate): Rename to ...
71 (grub_gettext_translate_real): ... this. Return NULL on failed
72 translate.
73 (grub_gettext_translate): Handle secondary context.
74 (grub_gettext_delete_list): Close file and zero-out the context.
75 (grub_mofile_open): Don't call grub_gettext_delete_list.
76 Don't close file.
77 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
78 if locale="" to avoid pointless error message.
79 (grub_gettext_env_write_lang): Update lang even if load fails.
80 Handle secondary context.
81 (grub_gettext_reread_prefix): New function.
82 (read_main): Likewise.
83 (read_secondary): Likewise.
84 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
85 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
86 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
87 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
88
8e56f870
VS
892012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
90
91 * configure.ac: Decrease warning level to avoid spurious warnings and
92 to be able to compile with GCC 4.2.
93 * Makefile.util.def: Remove -Wno-error=logical-op.
94
82f6d455
WB
952012-03-10 William Bittner <william.bittner@gmail.com>
96
97 * util/import_unicode.py: Add missing brackets around string for
98 python 3 support.
99
1ecd61a4
VS
1002012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
101
102 Fix efi chainloader on network root.
103
104 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
105 network devices.
106 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
107 New function.
108
14361ee8
VS
1092012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
110
111 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
112 unused show_text member.
113 * docs/grub.texi: Document "text" property.
114
922aabf3
VS
1152012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
116
117 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
118 in dprintf.
119
ec316771
VS
1202012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
121
122 Fix IMSM handling on Fedora.
123
124 * util/getroot.c (grub_util_is_imsm): New function.
125 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
126
0f021838
VS
1272012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
128
129 * Makefile.am: Strip gold section.
130 * conf/Makefile.common: Likewise.
131 * gentpl.py: Likewise.
132 * grub-core/Makefile.core.def: Likewise.
133 * grub-core/genmod.sh.in: Likewise.
134
1039c8eb
VS
1352012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
136
137 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
138 * util/grub.d/20_linux_xen.in: Likewise.
139 Based on Debian patch.
140
6dd412cd
VS
1412012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
142
143 * util/grub.d/10_linux.in: Fix syntax error resulting in
144 Richard Laager's patch.
145 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
146
3fd8bae5
VS
1472012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
148
149 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
150 dependencies.
151
7eea1671
RL
1522012-03-10 Richard Laager <rlaager@wiktel.com>
153
154 * util/grub.d/10_linux.in: Fix ZFS root passing.
155
e8e0566b
VS
1562012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
157
158 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
159 * grub-core/commands/xnu_uuid.c: Likewise.
160 * grub-core/loader/efi/appleloader.c: Likewise.
161 * grub-core/script/execute.c: Likewise.
162 * grub-core/script/main.c: Likewise.
163 * util/grub-mkfont.c: Likewise.
164
1acc5b1f
VS
1652012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
166
167 * util/grub-mkfont.c (options): Use more appropriate "select" that
168 "set" for face index.
169
35d70620
VS
1702012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
171
172 * util/grub-editenv.c (options): Gettextize command summaries.
173
c9eb96b5
VS
1742012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
175
176 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
177 "out of memory" error messagge.
178
1f493136
VS
1792012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
180
181 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
182 of diskfilter for diskfilter on diskfilter support.
183
6d790129
VS
1842012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
185
186 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
187
005f46c9
VS
1882012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
189
190 * util/grub-install.in: Check for themes/starfield/theme.txt and not
191 themes/starfield.
192
c8f778a0
VS
1932012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
194
195 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
196
de1e64eb
VS
1972012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
198
199 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
200
c6d54211
VS
2012012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
202
203 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
204 of error message.
205
dd390777
VS
2062012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
207
208 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
209
5fd1c522
VS
2102012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
211
212 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
213 message.
c6d54211 214 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 215
fae01f6c
VS
2162012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
217
218 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
219 Gettextize.
220 * util/grub-mount.c (options): Likewise.
221
292fdaff
VS
2222012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
223
224 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
225 gettextize.
226 * grub-core/commands/search_wrap.c (options): Likewise.
227
ecdbae77
VS
2282012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
229
230 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
231
52bfedfa
VS
2322012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
233
234 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
235 size calculation.
236 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
237 none is known.
238
55b20e58
VS
2392012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
240
241 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
242 "temporary" since it's used in identifier and is limited in space.
243
fda9d101
VS
2442012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
245
246 * po/POTFILES.in: Regenerate. Include *.h since they contain
247 translatable strings as well.
248
6a0295e2
VS
2492012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
250
251 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
252 byte-swap on big-endian.
253 Reported by: Lennart Sorensen
254
807fb77c
VS
2552012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
256
257 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
258 (allocate_pages): Improve dprintf.
259 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
260 code32_start. Fill code32_start and kernel_alignment in params.
261 (grub_cmd_initrd): Use prot_init_space.
262
61ac50ba
VS
2632012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
264
265 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
266
abdd26dd
VS
2672012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
268
269 * util/grub-install.in: Add missing dot at the end of sentence.
270
6e69da9c
VS
2712012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
272
273 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
274 * grub-core/commands/videotest.c: Likewise.
275 * grub-core/loader/i386/linux.c: Likewise.
276
4a929343
VS
2772012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
278
279 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
280 sentence.
281 Reported by: Milo Casagrande.
282
bb51c6c6
VS
2832012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
284
285 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
286 * grub-core/commands/gptsync.c: Likewise.
287 * grub-core/commands/hashsum.c: Likewise.
288 * grub-core/commands/i386/pc/sendkey.c: Likewise.
289 * grub-core/commands/legacycfg.c: Likewise.
290 * grub-core/io/gzio.c: Likewise.
291 * grub-core/net/net.c: Likewise.
292 * grub-core/term/gfxterm.c: Likewise.
293 * grub-core/term/terminfo.c: Likewise.
294 * grub-core/tests/test_blockarg.c: Likewise.
295 * grub-core/video/video.c: Likewise.
296 * util/grub-install.in: Likewise.
297 * util/grub-mkfont.c: Likewise.
298
b2b149cb
VS
2992012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
300
301 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
302
c7c080ad
VS
3032012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 306 Reported by: David Prévot.
c7c080ad 307
f2e243c0
VS
3082012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
309
310 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
311 description.
312
09963c76
VS
3132012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
314
315 * util/grub-script-check.c (main): Fix a syntax error message which was
316 unclear.
317
a50514a8
VS
3182012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
319
320 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
321
4650daec
VS
3222012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
323
324 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
325 messages.
326
3272012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
328
329 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
330 without argument.
331 * util/grub-mount.c (options): Likewise.
332
bbc5a342
VS
3332012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
334
335 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
336
ef292a87
VS
3372012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
338
339 * grub-core/net/http.c: Add TRANSLATORS comments.
340 * grub-core/normal/cmdline.c: Likewise.
341 * grub-core/normal/misc.c: Likewise.
342 * grub-core/partmap/msdos.c: Likewise.
343 * grub-core/parttool/msdospart.c: Likewise.
344 * grub-core/script/execute.c: Likewise.
345 * grub-core/script/main.c: Likewise.
346 * grub-core/term/terminfo.c: Likewise.
347 * grub-core/video/bitmap.c: Likewise.
348 * util/grub-install.in: Likewise.
349 * util/grub-mkimage.c: Likewise.
350 * util/grub-mklayout.c: Likewise.
351 * util/grub-setup.c: Likewise.
352
0fc19bd0
VS
3532012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
354
355 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
356 with similar messages in grub-fstest.
357
d95862ef
VS
3582012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
359
360 * util/grub-install.in: Unify "option requires an argument" message
361 with similar messages in other files.
362 * util/grub-mkconfig.in: Likewise.
363
b7308f90
VS
3642012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
365
366 * util/grub-set-default.in: Replace printf with gettext_printf (the
367 string in in question is already translated from grub-reboot)
368
559dc587
VS
3692012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
370
371 * configure.ac: Bump up the version to beta1.
372
1a11761f
VS
3732012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
374
375 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
376 case when min_align = 0.
377
24539abd
VS
3782012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
379
380 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
381 and fix a case when line_start overflows.
382
32bd735b
VS
3832012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * util/grub-reboot.in (usage): Mention id posibility.
386 * util/grub-set-default.in (usage): Likewise.
387
1a2fd1e6
VS
3882012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
389
390 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
391 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
392 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
393 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
394 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
395 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
396 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
397
90eeab76
VS
3982012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
399
400 * grub-core/commands/menuentry.c (options): Remove
401 GRUB_ARG_OPTION_REPEATABLE.
402 Reported by: Andreas Vogel
403
5ad1be82
AV
4042012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
405
406 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
407
cb055286
HE
4082012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
409
410 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
411 error.
412
93b1cd79
VS
4132012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
414
415 Use sort -V by the idea of Georgi Georgiev.
416
417 * util/grub-mkconfig_lib.in (version_sort): New function.
418 (version_test_numeric): Use version_sort.
419
0cdc126c
VS
4202012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
421
422 Use submenus in grub-mkconfig.
423
424 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
425 * util/grub-mkconfig_lib.in (grub_quote): New function.
426 (gettext_printf): Use gettext and not gettext_quoted to fix several
427 messages.
428 * util/grub.d/10_hurd.in: Use submenus.
429 * util/grub.d/10_kfreebsd.in: Likewise.
430 * util/grub.d/10_linux.in: Likewise.
431 * util/grub.d/10_netbsd.in: Likewise.
432 * util/grub.d/20_linux_xen.in: Likewise.
433 * util/grub.d/30_os-prober.in: Likewise.
434 * util/grub.d/10_illumos.in: Add missing quoting.
435 * util/grub.d/10_windows.in: Likewise.
436
d9bef9bc
VS
4372012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
438
439 Fix menu title instability bug.
440
441 * grub-core/commands/menuentry.c (options): New option --id.
442 (grub_normal_add_menu_entry): New argument id. All users updated.
443 (grub_cmd_menuentry): Handle --id.
444 (grub_menu_init): Accept unknown arguments.
445 * grub-core/normal/main.c (features): Add feature_menuentry_id and
446 feature_menuentry_options.
447 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
448 saved_entry.
449 (get_entry_number): Match with id as well.
450 * include/grub/menu.h (grub_menu_entry): New member id.
451 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
452 * util/grub.d/00_header.in: Define menuentry_id_option.
453 * util/grub.d/10_hurd.in: Define id.
454 * util/grub.d/10_illumos.in: Likewise.
455 * util/grub.d/10_kfreebsd.in: Likewise.
456 * util/grub.d/10_linux.in: Likewise.
457 * util/grub.d/10_netbsd.in: Likewise.
458 * util/grub.d/10_windows.in: Likewise.
459 * util/grub.d/20_linux_xen.in: Likewise.
460 * util/grub.d/30_os-prober.in: Likewise.
461
4622012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
463
464 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
465 "scope" with "body".
466
7c8d0ce7
VS
4672012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
470 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
471 prot_size and prot_file_size.
472
49de079b
VS
4732012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
474
475 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
476 All users updated. If easily=1 require raid-5/-6 to be full.
477 (is_node_readable): Likewise.
478 (scan_devices): Scan incomplete but readable LVs at the end.
479 (grub_diskfilter_memberlist): Pull missing devices.
480 (insert_array): Skip scanning until device is complete or scan is
481 done otherwise.
482 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
483 check.
484 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
485 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
486
aff05d45
MG
4872012-03-03 Matthew Garrett <mjg@redhat.com>
4882012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
489
490 Avoid EFI boot services when loading Linux.
491
492 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
493 avoid_efi_bootservices. All users updated.
494 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
495 argument avoid_efi_bootservices. All users updated.
496 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
497 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
498 align, min_align, relocatable, prefered_address. All users updated.
499 Allocate avoiding boot services if kernel is relocatable.
500 (grub_cmd_linux): Check if kernel is relocatable.
501 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
502 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
503 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
504 avoid_efi_boot_services.
505 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
506 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
507 (linux_kernel_params): Likewise.
508
3935dde2
MG
5092012-03-03 Matthew Garrett <mjg@redhat.com>
5102012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
511
512 Use EDID on EFI.
513
514 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
515 datasize_out.
516 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
517 modes. Set gop_handle.
518 (grub_video_gop_get_edid): New function.
519 (grub_gop_get_preferred_mode): Likewise.
520 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
521 (grub_video_efi_gop_adapter): Set .get_edid.
522 * include/grub/efi/edid.h: New file.
523 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
524
32107ec0
VS
5252012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
526
527 * util/grub-install.in: Load efivars unconditionally.
528
e70a2c50
VS
5292012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
530
531 * po/Rules-piglatin: Change suffix from .po-update-en to
532 .po-update-en-piglatin.
533
8f9cace1
VS
5342012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
535
536 Add a pig farm.
537
538 * po/piglatin.sed: New file.
539 * po/en@piglatin.header: Likewise.
540 * po/Rules-piglatin: Likewise.
541 * po/README: Add en@piglatin to autogenerated languages.
542
8f95d002
VS
5432012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
544
545 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
546 "Command for ...".
547 * grub-core/commands/hdparm.c (options): Use "Display" rather than
548 "Check" since we don't check anything.
549 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
550 is 64-bit one.
551 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
552 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
553 (grub_md_sha512_real): Likewise.
554
805a8dcc
VS
5552012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
556
557 * grub-core/commands/gptsync.c: Fix typographic quoting.
558 * grub-core/commands/ieee1275/suspend.c: Likewise.
559 * grub-core/commands/parttool.c: Likewise.
560 * grub-core/commands/search_wrap.c: Likewise.
561 * grub-core/commands/videoinfo.c: Likewise.
562 * grub-core/gfxmenu/gui_label.c: Likewise.
563 * grub-core/hello/hello.c: Likewise.
564 * grub-core/kern/emu/main.c: Likewise.
565 * grub-core/net/net.c: Likewise.
566 * grub-core/normal/menu.c: Likewise.
567 * grub-core/normal/menu_text.c: Likewise.
568 * grub-core/normal/misc.c: Likewise.
569 * util/grub-editenv.c: Likewise.
570 * util/grub-install.in: Likewise.
571 * util/grub-kbdcomp.in: Likewise.
572 * util/grub-mkconfig.in: Likewise.
573 * util/grub-mknetdir.in: Likewise.
574 * util/grub-mkrescue.in: Likewise.
575 * util/grub-mkstandalone.in: Likewise.
576 * util/grub-reboot.in: Likewise.
577 * util/grub-set-default.in: Likewise.
578 * util/grub-setup.c: Likewise.
579 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
580
40211ab8
VS
5812012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
582
583 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
584 * grub-core/commands/keystatus.c: Likewise.
585 * grub-core/commands/loadenv.c: Likewise.
586 * grub-core/commands/probe.c: Likewise.
587 * grub-core/commands/regexp.c: Likewise.
588 * grub-core/commands/true.c: Likewise.
589 * grub-core/commands/videoinfo.c: Likewise.
590 * grub-core/disk/cryptodisk.c: Likewise.
591 * grub-core/disk/ldm.c: Likewise.
592 * grub-core/disk/loopback.c: Likewise.
593 * grub-core/disk/luks.c: Likewise.
594 * grub-core/fs/zfs/zfsinfo.c: Likewise.
595 * grub-core/kern/disk.c: Likewise.
596 * grub-core/kern/emu/hostdisk.c: Likewise.
597
0c7d99c7
VS
5982012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
601 * util/grub-install.in: Add missing quote in the comment.
602
e7d2559b
VS
6032012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
604
605 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
606 * grub-core/commands/lsmmap.c: Likewise.
607 * grub-core/commands/minicmd.c: Likewise.
608 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
609 * grub-core/commands/regexp.c: Likewise.
610 * grub-core/gdb/gdb.c: Likewise.
611 * grub-core/term/gfxterm.c: Likewise.
612 * util/grub-mkconfig.in: Likewise.
613 * util/grub-mkfont.c: Likewise.
614 * util/grub-mklayout.c: Likewise.
615 * util/grub-mknetdir.in: Likewise.
616 * util/grub-mkrescue.in: Likewise.
617 * util/grub.d/30_os-prober.in: Likewise.
618
49ce9e50
VS
6192012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
620
621 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
622 with "Direct color" and "Packed" with "Packed pixel".
623 (grub_cmd_videoinfo): Simplify legend.
624
e4b791fa
VS
6252012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
626
627 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
628 absolutely unclear error message.
629
fd1265cb
VS
6302012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * util/grub-mkstandalone.in: Remove confusing leftover print.
633
8822a8a0
VS
6342012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
635
636 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
637 comments.
638 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
639 (GRUB_MOD_INIT): Likewise.
640 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
641 VGA mode.
642 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
643 comments.
644 * util/grub-install.in (usage): Likewise.
645 Spell ID in whole letters.
646 Add missing ending dot.
647 Quote variables.
648 * util/grub-reboot.in: Fix capitalisation.
649 * util/grub-set-default.in: Likewise.
650
937fd0cc
VS
6512012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
652
653 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
654 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
655 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
656 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
657 Disable -Werror for -Wdeprecated-declarations.
658 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
659 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
660 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
661 (grub_util_get_grub_dev): Make luks handling dependent on
662 HAVE_DEVICE_MAPPER and not __linux__.
663 (get_win32_path): Fix format security.
664 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
665 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
666 Don't try grub_find_zpool_from_dir.
667 (grub_make_system_path_relative_to_its_root) [!__linux__]:
668 #ifdef-out paresdir.
669
1bab1ae3
VS
6702012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
671
672 * util/grub-pe2elf.c (usage): Add missing noreturn.
673 (write_section_data): Rename name to shname to avoid shadowing.
674 (write_symbol_table): Rename name to symname to avoid shadowing.
675 Fix write_reloc_section call.
676
ef023e42
VS
6772012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
678
679 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
680 to ensure that it's after the last byte of .text.
681
48afcb75
VS
6822012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * util/ieee1275/ofpath.c (my_isdigit): New function.
685 (trailing_digits): Use my_isdigit.
686 (strip_trailing_digits): Likewise.
687
88d51eff
VS
6882012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
689
690 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
691 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
692
17edc2ba
VS
6932012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * grub-core/kern/i386/pc/startup.S: Define __start.
696
ad5518d7
VS
6972012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
698
699 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
700 strip already transforms he format.
701
9e95e1bf
VS
7022012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
703
704 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
705
9cc3ee5c
VS
7062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
707
708 * util/grub-install.in: Add missing gettext init.
709 * util/grub-kbdcomp.in: Likewise.
710 * util/grub-mkconfig.in: Likewise.
711 * util/grub-mknetdir.in: Likewise.
712 * util/grub-mkrescue.in: Likewise.
713 * util/grub-mkstandalone.in: Likewise.
714 * util/grub-reboot.in: Likewise.
715 * util/grub-set-default.in: Likewise.
716 * util/grub.d/00_header.in: Likewise.
717 * util/grub.d/10_hurd.in: Likewise.
718 * util/grub.d/10_windows.in: Likewise.
719 * util/grub.d/30_os-prober.in: Likewise.
720 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
721
49e08a06
VS
7222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
723
724 * po/Rules-swiss: Fix header comment.
725
3809cb41
AV
7262012-02-29 Andreas Vogel <anvoit>
727
728 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
729 resulted in leak of arguments.
730
fa6ec573
VS
7312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
732
733 * grub-core/boot/i386/pc/startup_raw.S: Use separate
734 reed_solomon_size const definition instead of computing it since
735 Apple assembler doesn't support the later.
736
22899b9c
VS
7372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
738
739 * gentpl.py (kernel): Rewrite Apple part.
740
a132afc3
VS
7412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
742
743 * include/grub/kernel.h (FOR_MODULES): Check module magic.
744
9d742bd4
VS
7452012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
746
747 * util/grub-mkimagexx.c (locate_sections): Support non-standard
748 ELF section gap.
749 (load_image): Likewise.
750
f04a9a21
VS
7512012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
752
753 * configure.ac: Fix a typo in previous commit.
754
46cf439c
VS
7552012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
756
757 Don't add -Wl,-N on Apple platform.
758
759 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
760 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
761
c4c48c54
VS
7622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
763
764 * grub-core/Makefile.core.def (lzma_decompress): Use
765 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
766
31a12124
VS
7672012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
768
769 * grub-core/genmod.sh.in: Rewrite the Apple part.
770
4f3aa1af
VS
7712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
772
773 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
774 comparison.
775
7bd8b0c7
VS
7762012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
777
778 * acinclude.m4 (grub_CHECK_PIC): New test.
779 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
780
97304d7c
VS
7812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
782
783 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
784 to avoid the warning.
785
fb883812
VS
7862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
789 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
790 after. All users updated.
791
a121c964
VS
7922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
793
794 Use the common size routine in hostfs so we can read disks as well.
795
796 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
797 (grub_util_get_fd_size): ... this. Return size in bytes.
798 All users updated.
799 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
800 grub_util_get_fd_size.
801
c66d6410
VS
8022012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
803
804 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
805 Add blocksize retrieval.
806
dfc8aeb0
VS
8072012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * configure.ac: Restore CFLAGS after efiemu check.
810
403e25a5
VS
8112012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
812
813 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
814 Apple bug.
815
382775d1
VS
8162012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
819
6fd4e6e4
VS
8202012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
821
822 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
823 (grub_cmd_halt): Likewise.
824
bea359d6
VS
8252012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
828 for local arithmetics.
829 Break %sp init into 2 instructions.
830 Add 0 byte at the end.
831
32eb6ee1
VS
8322012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
833
834 * grub-core/disk/diskfilter.c (read_segment): Initialise err
835 before loops.
836
e8377389
VS
8372012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
838
839 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
840 for context.
841
8cb17de7
VS
8422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
843
844 * grub-core/disk/ldm.c (make_vg): Init part.name.
845 (grub_ldm_detect): Silence spurious warning.
846 (grub_util_is_ldm): Likewise.
847
595717e6
VS
8482012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
849
850 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
851 sane value to avoid a spurious warning.
852
c4b7e588
VS
8532012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
854
855 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
856 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
857
59824957
VS
8582012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
859
860 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
861 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
862
70115b99
VS
8632012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
864
865 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
866 hardcoding the relevant info.
867
56733740
VS
8682012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
869
870 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
871 missing const qualifiers.
872 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
873
43481481
VS
8742012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
875
876 * util/getroot.c [__APPLE__]: Add missing includes.
877 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
878
3cb38f01
VS
8792012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
880
881 * util/grub-mkimage.c (generate_image): Silence spurious warning.
882
d9dbf11e
VS
8832012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
884
885 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
886 avoid conflicts.
887
0c42a45d
VS
8882012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
889
890 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
891
46c34eb0
VS
8922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
893
894 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
895 and grub_file_close call.
896
99ce1597
VS
8972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
898
899 Add LZSS Mach-O support (needed for new xnu kernelcache).
900
901 * grub-core/Makefile.core.def (xnu): Add file lzss.c
902 * grub-core/loader/lzss.c: New file.
903 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
904 on Mach-O open failure.
905 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
906 Don't free cmdsXX in uncompressedXX is set.
907 (grub_macho_file): Init new fields.
908 New argument is_64bit. All users updated.
909 Handle compressed. Error out if no suitable architecture is found.
910 Don't close file.
911 (grub_macho_open): New argument is_64bit. All users updated.
912 * grub-core/loader/macho32.c: Add defines for new fields.
913 * grub-core/loader/macho64.c: Likewise.
914 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
915 (grub_macho_parse): Handle compressed.
916 Defer actual processing if compressed.
917 (grub_macho_cmds_iterate): Decompress if compressed. New argument
918 "filename". All users updated.
919 (grub_macho_size): New argument "filename". All users updated.
920 (grub_macho_get_entry_point): Likewise.
921 (grub_macho_load): Handle compressed.
922 * include/grub/macho.h (grub_macho_lzss_header): New struct.
923 (GRUB_MACHO_LZSS_OFFSET): New define.
924 (grub_decompress_lzss): New proto.
925 * include/grub/machoload.h (grub_macho_file): New fields to handle
926 compressed.
927 (grub_macho_contains_macho64): Remove proto.
928 (grub_macho_contains_macho32): Likewise.
929 * util/grub.d/30_os-prober.in: Use kernel cache if available.
930
ebd17d6f
VS
9312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
932
933 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
934
2702b4e4
VS
9352012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
936
937 Fix make dist.
938
939 * Makefile.am (starfield_theme_files): New var.
940 (starfield_DATA): Use starfield_theme_files.
941 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
942 Add bootcheck-related files.
943 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
944 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
945 and font_char_metrics.txt.
946 * grub-core/Makefile.core.def (kernel): Update extra_dist.
947 (setjmp): Add lib/ia64/longjmp.S.
948 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
949 * po/POTFILES.in: Regenerate.
950 * po/Rules-swiss: use DISTFILES.common.extra2 and not
951 DISTFILES.common.extra1.
952 * util/devicemap.c: Removed.
953 * grub-core/lib/i386/relocator_backward.S: Likewise.
954 * util/import_gcry.py: Remove unused files. Add extra_dist for
955 ChangeLog.
956
cf1adfdf
VS
9572012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
958
959 * grub-core/gettext/gettext.c (grub_mofile_open): Call
960 grub_gettext_delete_list before changing grub_gettext_max to avoid
961 running out of array bounds.
962
9632012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
964
965 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
966 grub_vga_text_init/grub_vga_text_fini.
967
cf1adfdf 9682012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
969
970 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
971
541d92e9
VS
9722012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
973
974 * configure.ac: Bump to 2.00~beta0.
975
7931dddf
VS
9762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
977
978 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
979 missing initialisation.
980
f1b16fa3
VS
9812012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
982
983 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
984
83ddae23
VS
9852012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
986
987 Support v2 xnu boot arguments.
988
989 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
990 New argument fsbfreq_out.
991 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
992 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
993 be used.
994 * grub-core/loader/machoXX.c (grub_macho_load): New argument
995 darwin_version.
996 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
997 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
998 (grub_xnu_boot_params): Rename to ...
999 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
1000 (grub_xnu_boot_params_v2): New struct.
1001
dc693fe6
VS
10022012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
1005 zeroing of CRC field before computing CRC.
1006
5a6e39c2
VS
10072012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1008
1009 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
1010 Change order of allocations to decrease fragmentation.
1011
6c21f5d7
VS
10122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
1015
cfe456dc
CW
10162012-02-27 Colin Watson <cjwatson@ubuntu.com>
1017
1018 Use write-combining MTRR to speed up video with buggy BIOSes.
1019
1020 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
1021 (cpuid): New define.
1022 (rdmsr): Likewise.
1023 (wrmsr): Likewise.
1024 (mtrr_base): Likewise.
1025 (mtrr_mask): Likewise.
1026 (grub_vbe_enable_mtrr_entry): New function.
1027 (grub_vbe_enable_mtrr): Likewise.
1028 (grub_vbe_disable_mtrr): Likewise.
1029 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
1030 control off to BIOS.
1031 (grub_video_vbe_init): Fill mtrr.
1032 (grub_video_vbe_fini): Disable mtrr.
1033 (grub_video_vbe_get_info_and_fini): Likewise.
1034 (grub_video_vbe_setup): Enable mtrr.
1035
e3c78337
CW
10362012-02-27 Colin Watson <cjwatson@ubuntu.com>
1037
1038 * include/grub/partition.h (grub_partition_map): Change prototype of
1039 embed to take a maximum value for nsectors.
1040 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
1041 * include/grub/fs.h (grub_fs): Likewise.
1042 * grub-core/partmap/msdos.c (embed_signatures): New array.
1043 (pc_partition_map_embed): Check for and avoid sectors matching any
1044 of the signatures in embed_signatures, up to max_nsectors.
1045 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
1046 returned sector map to max_nsectors.
1047 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
1048 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
1049 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
1050 * util/grub-setup.c (setup): Allow for the embedding area being
1051 split into multiple blocklists. Tell dest_partmap->embed the
1052 maximum number of sectors we care about.
1053
10542012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1055
1056 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
1057 Specify blocklist_install and reserver_first_sector for all fs.
1058 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
1059 blocklists.
1060
984b973f
VS
10612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1062
1063 * util/grub-install.in: Clarify strings.
1064 Fix source dir check.
1065
f122e0d6
RL
10662012-02-27 Richard Laager <rlaager@wiktel.com>
1067
1068 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
1069 "zfs" and "fuse.zfs" as synonyms.
1070
071114bb
VS
10712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1072
1073 * configure.ac: Put platform and target_cpu substitutions back since
1074 they are used for directories.
1075
817e6abc
RL
10762012-02-27 Richard Laager <rlaager@wiktel.com>
10772012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 * util/grub.d/10_linux.in: Add ZFS-related arguments.
1080 * util/grub.d/20_linux_xen.in: Likewise.
1081
897b7419
RL
10822012-02-27 Richard Laager <rlaager@wiktel.com>
1083
1084 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
1085 with full paths.
1086
a414bd15
RL
10872012-02-27 Richard Laager <rlaager@wiktel.com>
1088
1089 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
1090 unescape.
1091
30ac48c4
VS
10922012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 Don't use insecure popen in getroot.
1095
1096 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
1097 (exec_pipe): ... here.
1098 (find_root_devices_from_poolname): Use exec_pipe.
1099
53f13848
VS
11002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 Remove platform and target_cpu replacement.
1103
1104 * configure.ac: Remove platform and target_cpu substitutions.
1105 * tests/util/grub-shell.in: Use modinfo.
1106 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
1107 explicitly.
1108
90cb2803
VS
11092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1110
1111 Autodetect platform in grub-install but allow override.
1112
1113 * util/grub-install.in: Autodetect platform. Support --target and
1114 --directory. Read platform from modinfo.sh.
1115
b9136427
VS
11162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 Support btrfs multi-volume probe.
1119
1120 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
1121 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
1122 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
1123 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
1124 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
1125 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
1126 grub_find_root_devices_from_btrfs if on btrfs.
1127
c36e5cd1
VS
11282012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 Remove any awareness of *.c util files about target.
1131
1132 * Makefile.util.def (grub-setup): Split to ...
1133 (grub-bios-setup): ... and this.
1134 (grub-sparc64-setup): ... and this.
1135 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
1136 * docs/man/grub-setup.h2m: Split into ...
1137 * docs/man/grub-sparc64-setup.h2m: ... this.
1138 * docs/man/grub-bios-setup.h2m: ... and this.
1139 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
1140 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
1141 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
1142 (grub_target_addr_t): Remove.
1143 (grub_target_size_t): Remove.
1144 (grub_target_ssize_t): Remove.
1145 * util/grub-install.in: Use new grub-*-setup.
1146 * util/grub-mkimagexx.c (Elf_Word): New define.
1147 (Elf_Half): Likewise.
1148 (Elf_Section): Likewise.
1149 (ELF_ST_TYPE): Likewise.
1150 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
1151 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
1152
584b2f8a
VS
11532012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1154
1155 Replace grub_target_addr with more appropriate types.
1156
1157 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
1158 grub_target_addr with grub_addr.
1159 * grub-core/commands/iorw.c (grub_cmd_read): Replace
1160 grub_target_addr with grub_port.
1161 (grub_cmd_write): Likewise.
1162 * grub-core/commands/memrw.c (grub_cmd_read): Replace
1163 grub_target_addr with grub_addr.
1164 (grub_cmd_write): Likewise.
1165 * grub-core/video/efi_uga.c (find_line_len): Likewise.
1166
5a0dc6fb
VS
11672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
1170 const qualifier for vendor_guid.
1171
786aff6e
VS
11722012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
1175 const qualifier.
1176 (efiemu_memequal): Likewise.
1177 (find_variable): Likewise.
1178
49017b17
VS
11792012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 Fix missing console prototype on qemu-mips.
1182
1183 * include/grub/mips/qemu_mips/console.h: New file.
1184
c5988629
MG
11852012-02-27 Matthew Garrett <mjg@redhat.com>
11862012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1187
1188 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
1189 * include/grub/efi/efi.h: Likewise.
1190 * include/grub/efi/api.h: Add guid for EFI-specified variables.
1191 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
1192 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
1193 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
1194 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
1195 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
1196
e33f8d69
MG
11972012-02-27 Matthew Garrett <mjg@redhat.com>
1198
1199 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
1200
fb312cd9
VS
12012012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1202
1203 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
1204 error.
1205
7134247c
VS
12062012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1207
1208 * configure.ac: Remove inappropriate use of program_transform_name
1209 on grubdir and bootdir but allow explicit specification of those
1210 variables.
1211
6a313124
VS
12122012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1213
1214 * util/grub-mknetdir.in (grub_prefix): Removed.
1215 (subdir): Use @bootdirname@ and @grubdirname@.
1216
2311c5ca
VS
12172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1218
1219 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
1220
7d5d60f7
VS
12212012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1222
1223 * po/POTFILES.in: Regenerated.
1224
8151bc82
VS
12252012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1226
1227 Remove improper use of program_transform_name on pkglibrootdir.
1228
1229 * configure.ac (pkglibrootdir): Removed.
1230 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
1231 * util/grub-mkimage.c: Likewise.
1232
b4a6a533
VS
12332012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1234
1235 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
1236 warning.
1237
668f304f
VS
12382012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * util/grub-install.in: Use file identifier if no UUID is available
1241 or user explicitly prompted for it.
1242
665f2341
NP
12432012-02-27 Navdeep Parhar <nparhar@gmail.com>
1244
1245 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
1246 (freebsd_get_zfs): New function.
1247 (grub_freebsd_boot): Pass zfs UUID.
1248 (grub_cmd_freebsd): Set zfs UUID.
1249
8151bc82 12502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
1251
1252 * conf/Makefile.common (platformdir): Base on pkglibdir and not
1253 pkglibrootdir.
1254
e4c498a1
MG
12552012-02-27 Mike Gilbert <floppym@gentoo.org>
1256
1257 Add configure flag to control libzfs integration.
1258
1259 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
1260
1e9a9a3f
VS
12612012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
1264 device.
1265 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
1266 small devices.
1267
036985b8
VS
12682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 Remove grub_{modname}_init and grub_{modname}_fini. They should never
1271 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
1272 be used on non-modules.
1273
1274 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
1275 Rename to grub_boot_init.
1276 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
1277 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
1278 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
1279 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
1280 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
1281 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
1282 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
1283 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
1284 includes.
1285 (grub_machine_init): Remove empty inits.
1286 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
1287 includes.
1288 (grub_machine_init): Remove empty inits.
1289 * grub-core/term/arc/console.c: Remove explicit proto.
1290 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
1291 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
1292 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1293 grub_at_keyboard_fini.
1294 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
1295 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
1296 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1297 grub_gfxterm_fini.
1298 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
1299 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
1300 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1301 grub_vgatext_fini.
1302 * grub-core/term/ieee1275/console.c: Remove explicit proto.
1303 * grub-core/term/serial.c (GRUB_MOD_INIT)
1304 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
1305 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1306 grub_serial_fini.
1307 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
1308 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
1309 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
1310 grub_terminfo_fini.
1311 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
1312 (GRUB_MOD_FINI): Likewise.
1313 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
1314 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
1315 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1316 grub_video_radeon_fuloong2e_fini.
1317 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
1318 [LOONGSON]: Rename to grub_video_sis315pro_init.
1319 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1320 grub_video_sis315pro_fini.
1321 * grub-core/video/sm712.c (GRUB_MOD_INIT)
1322 [LOONGSON]: Rename to grub_video_sm712_init.
1323 (GRUB_MOD_FINI) [LOONGSON]: Rename to
1324 grub_video_sm712_fini.
1325 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
1326 (grub_at_keyboard_fini): Likewise.
1327 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
1328 Don't declare grub_{modname}_init.
1329 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
1330 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
1331 New proto.
1332 (grub_keylayouts_fini) [!EMU]: Likewise.
1333 * include/grub/serial.h (grub_serial_init) [!EMU]:
1334 New proto.
1335 (grub_serial_fini) [!EMU]: Likewise.
1336 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
1337 New proto.
1338 (grub_terminfo_fini) [!EMU]: Likewise.
1339 * include/grub/video.h (grub_font_init) [!EMU]:
1340 New proto.
1341 (grub_font_fini) [!EMU]: Likewise.
1342 (grub_gfxterm_init) [!EMU]: Likewise.
1343 (grub_gfxterm_fini) [!EMU]: Likewise.
1344 (grub_video_sm712_init) [!EMU]: Likewise.
1345 (grub_video_sm712_fini) [!EMU]: Likewise.
1346 (grub_video_sis315pro_init) [!EMU]: Likewise.
1347 (grub_video_sis315pro_fini) [!EMU]: Likewise.
1348 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
1349 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
1350
d5534665
VS
13512012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1352
1353 Make nand a prefix for nand devices.
1354
1355 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
1356
10133b5f
VS
13572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1358
1359 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
1360 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
1361
8e307a62
VS
13622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1363
1364 * include/grub/env.h (grub_env_find): Remove prototype.
1365 * grub-core/kern/env.c (grub_env_find): Make static.
1366 (grub_env_set): Remove useless set.
1367
a4c65f34
VS
13682012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 * grub-core/kern/i386/realmode.S: Remove useless align.
1371
d87893d5
VS
13722012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 * include/grub/dl.h (grub_dl_load_file): Don't export.
1375
50159add
VS
13762012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
1379 grub_dprintf.
1380
b2582b84
VS
13812012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
1384 grub_errors.
1385 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
1386 not reloading whole superblock but only the part which is really needed.
1387 Remove useless grub_errors.
1388 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
1389 grub_errors.
1390
e2a83395
VS
13912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1392
1393 Don't export grub_get_rtc.
1394
1395 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
1396 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
1397
e7d2a906
VS
13982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1399
1400 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
1401
6cf1363b
VS
14022012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1403
1404 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 1405 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 1406
eece3349
VS
14072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 Remove prio_list.
1410
1411 * include/grub/list.h (grub_prio_list): Removed.
1412 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
1413 GRUB_COMMAND_PRIO_MASK.
1414 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
1415 GRUB_COMMAND_FLAG_ACTIVE.
1416 (grub_prio_list_insert): Removed.
1417 (grub_prio_list_remove): Likewise.
1418 (GRUB_AS_PRIO_LIST): Likewise.
1419 (GRUB_AS_PRIO_LIST_P): Likewise.
1420 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
1421 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
1422 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
1423 * grub-core/kern/command.c (grub_register_command_prio): Inline
1424 the prio_list code.
1425 (grub_unregister_command): Likewise.
1426
94f064b4
VS
14272012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1428
1429 Fix interrupt mixup from previous commit.
1430
1431 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
1432 (grub_realidt): New var.
1433 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
1434 Load idt.
1435 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
1436 New declaration.
1437 (grub_relocator16_boot): Set grub_relocator16_idt.
1438 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
1439 (LOCAL(realidt)): ... this.
1440 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
1441 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
1442 (grub_realidt): New variable.
1443
27317084
VS
14442012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
1447 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
1448 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
1449 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
1450 Gettextize.
1451 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
1452 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
1453 * po/POTFILES.in: Regenerate.
1454
47b40053
VS
14552012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1456
1457 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
1458 errors.
1459
2b343101
VS
14602012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
1463 \0.
1464 (add_length): Likewise.
1465
ff27c3dd
LK
14662012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
14672012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
1468
1469 GDB serial and backtrace support.
1470
1471 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
1472 (prot_to_real): Likewise.
1473 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
1474 * grub-core/Makefile.core.def (backtrace): New module.
1475 (gdb): Likewise.
1476 * grub-core/gdb/cstub.c: New file.
1477 * grub-core/gdb/gdb.c: Likewise.
1478 * grub-core/gdb/i386/idt.c: Likewise.
1479 * grub-core/gdb/i386/machdep.S: Likewise.
1480 * grub-core/gdb/i386/signal.c: Likewise.
1481 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 1482 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
1483 * include/grub/backtrace.h: Likewise.
1484 * include/grub/gdb.h: Likewise.
1485 * include/grub/i386/gdb.h: Likewise.
1486
14872012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
1488
1489 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
1490 New function.
1491 (add_length): Likewise.
1492 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
1493 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
1494 proto.
1495 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
1496 __argp_get_display_len.
1497
ff27c3dd 14982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
1499
1500 $"..." support in scripts.
1501
1502 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
1503 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
1504 * grub-core/script/yylex.l: Likewise.
1505 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
1506 value.
1507
ff27c3dd 15082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
1509
1510 * gentpl.py: Remove obsolete pkglib_DATA handling.
1511
ff27c3dd 15122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
1513
1514 Don't transform PACKAGE_TARNAME following a discussion on autoconf
1515 mailing list.
1516
1517 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
1518 * util/grub-kbdcomp.in: Likewise.
1519 * util/grub-mkconfig.in: Likewise.
1520 * util/grub-mkconfig_lib.in: Likewise.
1521 * util/grub-mknetdir.in: Likewise.
1522 * util/grub-mkrescue.in: Likewise.
1523 * util/grub-mkstandalone.in: Likewise.
1524 * util/grub-reboot.in: Likewise.
1525 * util/grub-set-default.in: Likewise.
1526 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
1527
ff27c3dd 15282012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
1529
1530 Remove GRUB_PREFIX.
1531
1532 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
1533 * util/grub.d/00_header.in: Compute prefix in the only place it's still
1534 used for backward compatibility.
1535
ff27c3dd 15362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
1537
1538 Add new all_video module.
1539
1540 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
1541 * grub-core/Makefile.core.def (all_video): New module.
1542 * grub-core/genmoddep.awk: Generate dependency of all_video from
1543 video.lst.
1544 * grub-core/lib/fake_module.c: New file.
1545 * grub-core/normal/main.c (features): Add feature_all_video_module.
1546 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
1547 don't do explicit search again.
47454da5 1548 insmod all_video in load_video if available.
22c7ce85 1549
ff27c3dd 15502012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
1551
1552 Another round of string clarification and adding TRANSLATORS comments.
1553
ff27c3dd 15542012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
1555
1556 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
1557
ff27c3dd 15582012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
1559
1560 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
1561 to grub_ssize_t.
1562 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
1563 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
1564
ff27c3dd 15652012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
1566
1567 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
1568 trailing newline implicitly. All users updated.
1569
ff27c3dd 15702012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
1571
1572 Implement serial on IEEE1275 and EFI.
1573
1574 * docs/grub.texi (Platform-specific limitations): Fix the columen video
1575 on emu. Mention arc and emu as the only platforms without serial
1576 support.
1577 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
1578 ieee1275 platforms.
1579 * grub-core/term/efi/serial.c: New file.
1580 * grub-core/term/ieee1275/serial.c: Likewise.
1581 * grub-core/term/serial.c (grub_serial_find): Disable direct port
1582 specification if no ns8250 driver is available.
1583 (grub_cmd_serial): Likewise.
1584 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
1585 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
1586 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
1587 (grub_efi_parity_type_t): New type.
1588 (grub_efi_stop_bits_t): Likewise.
1589 (grub_efi_serial_io_interface): New struct.
1590 * include/grub/serial.h (grub_serial_port): Make 'broken' field
1591 available for all interfaces.
1592 Add EFI and IEEE1275 fields.
1593 (grub_ofserial_init): New proto.
1594 (grub_efiserial_init): Likeiwse.
1595 * util/grub.d/00_header.in: Don't check for the presence of serial
1596 module.
1597
ff27c3dd 15982012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
1599
1600 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
1601 name as if it was an alias.
1602
114076ef
VS
16032012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 * grub-core/commands/lsacpi.c (options): Fix typo.
1606
6a656b0e
VS
16072012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1608
1609 Convert grub-emu to argp.
1610
1611 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
1612 emu.
1613 * util/argp_common.c: Rename to ...
1614 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
1615 Add missing includes.
1616 * grub-core/kern/emu/main.c: Convert to argp.
1617 * po/POTFILES.in: Regenerate.
1618 * util/grub-install.in (usage): Make first letter lowcase in messages
1619 for uniformity.
1620 * util/grub-setup.c (options): Likewise.
1621
1e3f8ae8
VS
16222012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1623
1624 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
1625 Put back accidently commented-out code.
1626
ed167a80
VS
16272012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
1630 loop check using Brent algorithm.
1631 (grub_hfsplus_btree_search): Likewise.
1632
6753c0ec
VS
16332012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1634
1635 * util/grub-install.in: Fix usage of wrong device for PreP install.
1636
4e27343f
VS
16372012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1638
1639 * conf/Makefile.common (CFLAGS_GNULIB): Add
1640 -Wno-unsafe-loop-optimizations.
1641 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
1642 on tools.
1643 * grub-core/commands/legacycfg.c: Add pragma to skip
1644 -Wunsafe-loop-optimizations.
1645 (check_password_md5_real): Fix loop counter type.
1646 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
1647 reading.
1648 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
1649 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
1650 loop condition.
1651 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
1652 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
1653 * grub-core/net/net.c (grub_net_route_address): Add safety loop
1654 condition.
1655 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
1656 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
1657 avoid possible infinite loops.
1658 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
1659 and -Wunsafe-loop-optimizations.
1660 * grub-core/script/yylex.l: Likewise.
1661 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
1662 (print_glyphs): Avoid infinite loops.
1663 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
1664
697f18b0
GS
16652012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
1666
1667 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
1668 to avoid infinite loop.
1669 (disp_acpi_rsdt_table): Likewise.
1670
274416e8
VS
16712012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1672
1673 * grub-core/font/font.c (grub_font_load): Add support for default
1674 path for fonts ($prefix/fonts).
1675 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
1676 for checking if string is a path.
1677 * grub-core/normal/main.c (features): Add feature_default_font_path.
1678 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
1679 * util/grub.d/00_header.in: Use default directory if possible.
1680 * util/grub-install.in: Install unicode.pf2.
1681
b3e08622
VS
16822012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1683
1684 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
1685 * po/Rules-swiss: New file.
1686 * po/swiss.sed: Likewise.
1687
fe42ce09
VS
16882012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 * grub-core/fs/btrfs.c (find_device): Fix typos.
1691 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
1692 * util/grub-mkrelpath.c (argp_parser): Likewise.
1693 Reported by: Yuri Chornoivan.
1694
72f1d065
DO
16952012-02-23 Dalet Omega <daletomega@gmail.com>
1696
1697 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
1698 for usual informative messages.
1699
c5884973
DO
17002012-02-23 Dalet Omega <daletomega@gmail.com>
1701
1702 Starfield theme.
1703
1704 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
1705 * conf/Makefile.common: Define starfielddir.
1706 * configure.ac: Configure starfield.
1707 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
1708 * themes/starfield/README: Likewise.
1709 * themes/starfield/blob_w.png: Likewise.
1710 * themes/starfield/boot_menu_c.png: Likewise.
1711 * themes/starfield/boot_menu_e.png: Likewise.
1712 * themes/starfield/boot_menu_n.png: Likewise.
1713 * themes/starfield/boot_menu_ne.png: Likewise.
1714 * themes/starfield/boot_menu_nw.png: Likewise.
1715 * themes/starfield/boot_menu_s.png: Likewise.
1716 * themes/starfield/boot_menu_se.png: Likewise.
1717 * themes/starfield/boot_menu_sw.png: Likewise.
1718 * themes/starfield/boot_menu_w.png: Likewise.
1719 * themes/starfield/slider_c.png: Likewise.
1720 * themes/starfield/slider_n.png: Likewise.
1721 * themes/starfield/slider_s.png: Likewise.
1722 * themes/starfield/src/blob_nw.xcf: Likewise.
1723 * themes/starfield/src/bootmenu/: Likewise.
1724 * themes/starfield/src/bootmenu/center.xcf: Likewise.
1725 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
1726 * themes/starfield/src/bootmenu/side.xcf: Likewise.
1727 * themes/starfield/src/slider_c.xcf: Likewise.
1728 * themes/starfield/src/slider_n.xcf: Likewise.
1729 * themes/starfield/src/slider_s.xcf: Likewise.
1730 * themes/starfield/src/terminalbox/: Likewise.
1731 * themes/starfield/src/terminalbox/center.xcf: Likewise.
1732 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
1733 * themes/starfield/src/terminalbox/side.xcf: Likewise.
1734 * themes/starfield/starfield.png: Likewise.
1735 * themes/starfield/terminal_box_c.png: Likewise.
1736 * themes/starfield/terminal_box_e.png: Likewise.
1737 * themes/starfield/terminal_box_n.png: Likewise.
1738 * themes/starfield/terminal_box_ne.png: Likewise.
1739 * themes/starfield/terminal_box_nw.png: Likewise.
1740 * themes/starfield/terminal_box_s.png: Likewise.
1741 * themes/starfield/terminal_box_se.png: Likewise.
1742 * themes/starfield/terminal_box_sw.png: Likewise.
1743 * themes/starfield/terminal_box_w.png: Likewise.
1744 * themes/starfield/theme.txt: Likewise.
1745
17d73325
VS
17462012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * util/grub.d/00_header.in: Add missing export theme.
1749
dbebaf92
VS
17502012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1751
1752 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
1753 already included.
1754 Reported by: Eren D.
1755
3d68bffb
VS
17562012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1757
1758 * conf/Makefile.common (grubdatadir): Removed.
1759 (Makefile.am): Move eveything grubdata to pkgdata.
1760
4b59234d
VS
17612012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1762
1763 * grub-core/commands/acpihalt.c (get_sleep_type):
1764 Remove unused variable.
1765
463dcadc
VS
17662012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1767
1768 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
1769 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
1770 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
1771 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
1772 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
1773 i18n with gettext no-op.
1774 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
1775 GRUB_ACPI_OPCODE_STRING_CONST.
1776 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
1777 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
1778
e5b90c82
VS
17792012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1780
1781 * po/POTFILES.in: Regenerate.
1782
2a704ca9
VS
17832012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1784
1785 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
1786 -Wno-error=missing-noreturn.
1787
84f9d341
VS
17882012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
1791 condition to avoid possibly infinite loops.
1792 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
1793 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
1794
d46683f9
VS
17952012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
1798 condition to avoid possibly infinite loops.
1799
c44866b2
VS
18002012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
1803 on show_error.
1804
96790539
VS
18052012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
1808
1ba7e295
VS
18092012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1810
1811 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
1812
21ffe8f1
VS
18132012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1814
1815 * util/bin2h.c (usage): Add missing attribute noreturn.
1816
0ccb6b3c
VS
18172012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
1820 if the size isn't divisible by 512.
1821
b00d7fb6
VS
18222012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1823
1824 Make list_push and list_remove functions rather than inline functions
1825 to decrease size and avoid aliasing violations.
1826
1827 * include/grub/list.h (grub_list_push): Move to ...
1828 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
1829 * include/grub/list.h (grub_list_remove): Move to ...
1830 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
1831
9d369087
VS
18322012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
1833
1834 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
1835 and -Wunused-result.
1836
af0250d9
VS
18372012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
1840 Reported by: Seth Goldberg
1841
aad32b14
VS
18422012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
1843
1844 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
1845
ac96441c
ST
18462012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
1847
1848 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
1849 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
1850 command line.
1851 * docs/grub.texi (Simple configuration): Document
1852 GRUB_CMDLINE_GNUMACH.
1853
18542012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
1855
1856 * conf/Makefile.common (platform_SCRIPTS): New variable.
1857 (platform_PROGRAMS): Likewise.
1858 * gentpl.py: Mark *,module and *.image for install.
1859 * grub-core/gdb_grub.in: Add a notice of expected environment.
1860 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
1861 (gmodule.pl): Likewise.
1862
ac96441c 18632012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
1864
1865 Replace grub_checkkey with grub_getkey_noblock.
1866
1867 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
1868 (grub_getkey_noblock): ... this. All users updated.
1869
ac96441c 18702012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
1871
1872 * grub-core/kern/emu/console.c: Move to ...
1873 * grub-core/term/emu/console.c: ...here.
1874 (grub_ncurses_getkey): Fix return value if no key is detected.
1875
e51b5666
VS
18762012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
1879 (grub_unit_test_fini): Likewise.
1880 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
1881
18822012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 * include/grub/test.h (GRUB_UNIT_TEST)
1885
d9a62292
VS
18862012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1887
1888 * grub-core/script/execute.c (grub_script_break): Clarify logic.
1889 Better error handling.
1890 (grub_script_return): Likewise.
1891 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
1892
77c9182f
VS
18932012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1894
1895 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
1896 rimplicit redifinition.
1897
edb13cf9
VS
18982012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1899
1900 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
1901 GRUB.
1902
a9e9dc7c
VS
19032012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
1906 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
1907 prompt here.
1908
b4ba8e02
VS
19092012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1910
1911 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
1912 as GRUB_ERR_BUG. Don't malloc if no device is available.
1913
dded5540
VS
19142012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
1917 Mark calling with invalid term as GRUB_ERR_BUG.
1918
0cf69874
VS
19192012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1920
1921 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
1922 packets rather than raising an error.
1923
59bfe502
VS
19242012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1925
1926 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
1927 in if.
1928
db5fc596
VS
19292012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1930
1931 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
1932 diagnostic to dprintf.
1933 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1934
e4b7f404
VS
19352012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
1938 device name.
1939
e7b02f9e
VS
19402012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1941
1942 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
1943 (grub_ntfs_iterate_dir): Likewise.
1944
0331e102
VS
19452012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1946
1947 Efiemu stylistic fixes and gettext.
1948
1949 * grub-core/efiemu/i386/loadcore32.c
1950 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
1951 * grub-core/efiemu/i386/loadcore64.c
1952 (grub_arch_efiemu_relocate_symbols64): Likewise.
1953 * grub-core/efiemu/i386/pc/cfgtables.c
1954 (grub_machine_efiemu_init_tables): Likewise.
1955 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
1956 (grub_efiemu_loadcore_initXX): Add a filename argument.
1957 All users updated.
1958 Improved error message.
1959 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
1960 Add a filename argument.
1961 All users updated.
1962 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
1963 Reclassify double relocation as GRUB_ERR_BUG.
1964
306fc074
VS
19652012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1966
1967 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
1968 handling.
1969
794d8ef2
VS
19702012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1971
1972 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
1973 on partition.
1974
19752012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
1976
1977 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
1978
794d8ef2 19792012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
1980
1981 Improve string. Gettextize.
1982
78dde88e
VS
19832012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1984
1985 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
1986 utils.
1987 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
1988
4786a90f
VS
19892012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
1990
1991 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
1992 [GRUB_UTIL]: New function.
1993 (insert_array) [GRUB_UTIL]: Store partmaps.
1994 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
1995 partmaps.
1996 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
1997 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
1998 (probe_abstraction): Print diskfilter and not raid.
1999 Reported by: Lennart Sorensen
2000
0b6225bd
VS
20012012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2002
2003 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
2004 * util/grub-mkimagexx.c (MASK3): New define.
2005 (add_value_to_slot_20b): Use MASK3.
2006 (add_value_to_slot_21): Likewise.
2007 (relocate_addresses): Fix format specification.
2008 (load_image): Explicitly init symtab_section.
2009
b055f8f6
VS
20102012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2011
2012 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
2013 (grub_util_biosdisk_get_grub_dev): Fix format specification.
2014
b77c2fb7
VS
20152012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2016
2017 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
2018 on powerpc.
2019 Reported by: Lennart Sorensen
2020
e3ec28ab
VS
20212012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
2022
2023 * gentpl.py: Add missing license header.
2024 * docs/grub.texi: Update copyright year.
2025
c8d9ead6
GS
20262012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
2027
2028 Source grub-mkconfig_lib from the build directory at build time.
2029 Suggested by: Vladimir Serbinenko.
2030
2031 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
2032 * util/grub-install.in: Define pkgdatadir if not already set, and source
2033 grub-mkconfig_lib from there.
2034 * util/grub-kbdcomp.in: Likewise.
2035 * util/grub-mkconfig.in: Likewise.
2036 * util/grub-mknetdir.in: Likewise.
2037 * util/grub-mkrescue.in: Likewise.
2038 * util/grub-mkstandalone.in: Likewise.
2039 * util/grub-reboot.in: Likewise.
2040 * util/grub-set-default.in: Likewise.
2041 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2042
ebcecdf1
VS
20432012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2044
2045 Increase warning level.
2046
2047 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
2048 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
2049 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
2050 (TARGET_CFLAGS): Likewise.
2051 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
2052 * grub-core/Makefile.core.def (decompressor_xz): Add
2053 -Wno-unreachable-code.
2054 (normal): Add -Wno-redundant-decls.
2055 (xzio): Add -Wno-unreachable-code.
2056 (lzopio): Add -Wno-redundant-decls -Wno-error.
2057 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
2058 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
2059 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
2060 * grub-core/kern/dl.c: Add exception to -Wcast-align.
2061 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
2062 * grub-core/kern/i386/coreboot/init.c: Add exception to
2063 -Wsuggest-attribute=noreturn.
2064 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
2065 * grub-core/kern/ia64/dl_helper.c: Likewise.
2066 * grub-core/kern/mips/dl.c: Likewise.
2067 * grub-core/kern/sparc64/dl.c: Likewise.
2068 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
2069 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
2070 (memcmp): Likewise.
2071 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
2072 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
2073 * grub-core/loader/mips/linux.c: Likewise.
2074 * grub-core/loader/multiboot_elfxx.c: Likewise.
2075 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
2076 * grub-core/video/sm712.c: Add exception to -Wcast-align.
2077 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
2078 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
2079 fixme.
2080 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
2081 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
2082 Fix prototype.
2083
37bb97fe
VS
20842012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
2087 address.
2088
29a3550b
VS
20892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2090
2091 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
2092 Avoid improper use of strings.
2093 (grub_cmd_legacy_initrdnounzip): Likewise.
2094
dfdffd0d
VS
20952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2096
2097 * include/grub/emu/misc.h (grub_util_warn): Add missing format
2098 attribute.
2099 (grub_util_info): Likewise.
2100 (grub_util_error): Likewise.
2101
102fae4a
VS
21022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
2105 * util/grub-fstest.c (fstest): Likewise.
2106
7e94d044
VS
21072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2108
2109 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
2110 (grub_md_sha512_real): Likewise.
2111 (grub_util_get_geli_uuid): Likewise.
2112 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
2113 (grub_util_biosdisk_open): Fix format specification.
2114 Respect format security.
2115 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
2116 (xrealloc): Likewise.
2117 (xasprintf): Likewise.
2118
5ebd9769
VS
21192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * util/import_gcry.py: Include grub/crypto.h in init.c.
2122
495fc8c1
VS
21232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2124
2125 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
2126 (generate_image): Make prefix a const char *.
2127 Fix format specifications. Respect format security.
2128 Avoid void * arithmetics.
2129 Avoid shadowing.
2130 (argp_parser): Remove unused variable. Respect format security.
2131 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
2132 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
2133 (count_funcs): Remove unused variable.
2134 (relocate_addresses): Fix format specification.
2135 Disable x86-64 with elf32. Remove unused variables.
2136 (add_fixup_entry): Avoid shadowing.
2137 (make_reloc_section): Fix format specification.
2138 Use assert.
2139 (locate_sections): Fix format specifications.
2140 (load_image): Avoid shadowing.
2141
043c2ea3
VS
21422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2143
2144 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
2145 Fix format specifications. Respect format security.
2146 Don't translate already translated grub_errmsg.
2147 (argp_parser): Remove unused variable
2148
3ec65a81
VS
21492012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
2152
a4d9fe4a
VS
21532012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2154
2155 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
2156 (main): Likewise. Use xmalloc. Respect format security.
2157
15b81d49
VS
21582012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2159
2160 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
2161 a const char *.
2162 (argp_parser): Remove unused variable.
2163
31731fc0
VS
21642012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2165
2166 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
2167 (add_pixel): Make static.
2168 (add_font): Likewise.
2169 (write_string_section): Make name and str a const char *.
2170 (write_be16_section): Make name a const char *.
2171 (print_glyphs): Make static.
2172 (write_font_ascii_bitmap): Likewise.
2173 (write_font_width_spec): Likewise.
2174 (write_font_pf2): Likewise.
2175 (argp_parser): Remove unused variable.
2176 Respect format security.
2177 (main): Avoid shadowing. Respect format security.
2178
0809527b
VS
21792012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2180
2181 * util/grub-editenv.c (argp_parser): Make static.
2182 (create_envblk_file): Use xmalloc.
2183 (open_envblk_file): Likewise.
2184 Resepect format security.
2185 (set_variables): Respect format security.
2186
45b0c8b7
VS
21872012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2188
2189 * util/getroot.c (grub_find_device): Respect format security.
2190 (get_mdadm_uuid): Remove unused variable.
2191 (grub_util_pull_device): Dont call gettext on already translated
2192 grub_errmsg.
2193 (find_system_device): Remove unused variable.
2194 (grub_util_get_grub_dev): Likewise.
2195 (grub_make_system_path_relative_to_its_root): Respect format security.
2196
1b024b4e
VS
21972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2198
2199 * util/grub-fstest.c (execute_command): Make first argument
2200 a const char *.
2201 (read_file): Avoid shadowing.
2202 Reuse underlying error message if device open fails.
2203 (cmd_cmp): Respect format security.
2204 (root): Make const char *.
2205 (fstest): Remove args argument and use global copy.
2206 Respect format security.
2207 (argp_parser): Make static.
2208 (main): Make default_root const char *.
2209
5d1d4e28
VS
22102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2211
2212 * util/grub-mount.c (root): Make const char *.
2213 (execute_command): Make first argument a const char *.
2214 (fuse_init): Respect format security.
2215 (argp_parser): Make static. Remove unused variable.
2216 (main): Make default_root a const char *.
2217 Respect format security.
2218
36eb7379
VS
22192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2220
2221 * util/grub-probe.c (probe): Don't call gettext on already translated
2222 grub_errmsg.
2223 Remove unused variables.
2224 (argp_parser): Remove unused variable.
2225
76fb2ea9
VS
22262012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 * util/grub-script-check.c (argp_parser): Remove unused variable.
2229 (main): Rename read to curread to avoid shadowing.
2230
56c98584
VS
22312012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * util/misc.c (grub_util_write_image_at): Fix format specification.
2234 (grub_util_write_image): Likewise.
2235 (grub_script_execute_argument_to_string): Removed (unused).
2236 (grub_script_execute_menuentry): Likewise.
2237 (grub_putchar): Likewise.
2238
164ebb48
VS
22392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2240
2241 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
2242 (FUNCTION) [GRUB_UTIL]: Likewise.
2243 (VARIABLE) [GRUB_UTIL]: Likewise.
2244
44318d61
VS
22452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2246
2247 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
2248 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
2249
31a26002
VS
22502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2251
2252 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
2253 buffer.
2254
22552012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2256
2257 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
2258 (LzmaEnc_SaveState): Removed (unused).
2259 (LzmaEnc_RestoreState): Likewise.
2260 (LzmaEnc_InitPriceTables): Made static.
2261 (LzmaEnc_Construct): Likewise.
2262 (LzmaEnc_FreeLits): Likewise.
2263 (LzmaEnc_Destruct): Likewise.
2264 (LzmaEnc_Init): Likewise.
2265 (LzmaEnc_InitPrices): Likewise.
2266 (LzmaEnc_Finish): Likewise.
2267 (LzmaEnc_PrepareForLzma2): Removed (unused).
2268 (LzmaEnc_MemPrepare): Likewise.
2269 (LzmaEnc_GetNumAvailableBytes): Likewise.
2270 (LzmaEnc_GetCurBuf): Likewise.
2271 (LzmaEnc_CodeOneMemBlock): Likewise.
2272
6fa67967
VS
22732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
2276 (grub_util_ldm_embed): Likewise.
2277
9a7428e6
VS
22782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2279
2280 * util/grub-editenv.c (print_var): Rename name to varname to
2281 avoid shadowing.
2282 (main): Rename index to curindex to avoid shadowing.
31a26002 2283 Make filename a const char *.
9a7428e6 2284
4f96abd1
VS
22852012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2286
2287 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
2288 to arg_getline to avoid shadowing.
2289
44d10dad
VS
22902012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2291
2292 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
2293 disk_ to avoid shadowing.
2294
340ba63e
VS
22952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
2298 curindex to avoid shadowing.
2299 Make static.
2300 (MatchFinder_GetNumAvailableBytes): Make static.
2301
22965bce
VS
23022012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
2305 avoid shadowing.
2306
7b5784d4
VS
23072012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2308
2309 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
2310 argument from encrypt to do_encrypt to avoid shadowing.
2311
6f48ca01
VS
23122012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2313
2314 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
2315 incorrect nesting of #if's.
2316
a4ea2dff
VS
23172012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
2320 checks which are always false on some platforms.
2321 (grub_cmd_lsacpi): Likewise.
2322 * grub-core/kern/misc.c (grub_strtoul): Likewise.
2323 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
2324 Likewise.
2325
def9fc1b
VS
23262012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
2329 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
2330
a67b2a04
VS
23312012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
2334 re_dfa_t to avoid breaking alignment invariants.
2335 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
2336 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
2337
44c6828d
VS
23382012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2339
2340 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
2341 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
2342
bebe0dd0
VS
23432012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2344
2345 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
2346 Fix declaration.
2347
a9cdb3cf
VS
23482012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
2351 conserve alignment invariants.
2352 (grub_ehci_ehcc_read16): Likewise.
2353 (grub_ehci_oper_read32): Likewise.
2354 (grub_ehci_oper_write32): Likewise.
2355 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
2356 Conserve alignment invariants.
2357
ccc3b1b8
VS
23582012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
2361 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
2362 declarations.
2363
987fbd95
VS
23642012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2365
2366 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
2367 Remove unused variable.
2368
0df363f3
VS
23692012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
2372 Remove set in if.
2373
b2c0c4a6
VS
23742012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2375
2376 * include/grub/net.h: Remove double declarations.
2377
690c531f
VS
23782012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2379
2380 Remove "payload" command in ia64 Linux loader since I couldn't
2381 find any evidence of it being used for anything.
2382 Replace "relocate" command with an environment variable
2383
2384 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
2385 fields.
2386 (ia64_boot_payload): Removed.
2387 (last_payload): Likewise.
2388 (RELOCATE_OFF): Likewise.
2389 (RELOCATE_ON): Likewise.
2390 (RELOCATE_FORCE): Likewise.
2391 (relocate): Likewise.
2392 (free_pages): Don't free payloads.
2393 (grub_load_elf64): Use common error messages.
2394 Use "linux_relocate" variable.
2395 Increase the space after boot_params.
2396 (grub_cmd_payload): Removed.
2397 (grub_cmd_relocate): Likewise.
2398 (grub_cmd_fpswa): Improve messages.
2399 (cmd_payload): Removed.
2400 (cmd_relocate): Likewise.
2401 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
2402 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
2403
01783768
VS
24042012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2405
2406 Convert UHCI to DMA framework.
2407
2408 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
2409 (grub_uhci_pci_iter): Fill new members
2410 (grub_alloc_td): Use P2V and V2P functions.
2411 (grub_free_queue): Likewise.
2412 (grub_alloc_qh): Likewise.
2413 (grub_uhci_setup_transfer): Likewise.
2414 (grub_uhci_check_transfer): Likewise.
2415
43206939
VS
24162012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
2419 Remove assignment in if while on it.
2420
571e140e
VS
24212012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 * util/grub-mkstandalone.in: Fix modules directory.
2424
a9d96eeb
VS
24252012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
2428 on i386-pc target.
2429 (argp_parser): Accept "auto" as compression specification.
2430
e4e37e8d
VS
24312012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 Fix `help' with unloaded modules.
2434
2435 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
2436 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
2437 (grub_dyncmd_dispatcher): Small stylistic fix.
2438 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
2439 explicit help is requested.
2440
e1ea3ade
VS
24412012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
2444 Explicitly init restart while on it.
2445
27556881
VS
24462012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2447
2448 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
2449 uninited variable.
2450
d65f6b36
VS
24512012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2452
2453 * util/grub-mknetdir.in: Use . rather than source for POSIX
2454 compatibility.
2455
0a1e473c
VS
24562012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2457
2458 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
2459
ce6647c8
VS
24602012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2461
2462 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
2463 variable.
2464
66747894
VS
24652012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
2468 without quotes.
2469
71645f6e
VS
24702012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2471
2472 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
2473
0e1c1f61
VS
24742012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
2477 iteration of partitions.
2478
9c4b5c13
VS
24792012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
2480
2481 Improve gettext support. Stylistic fixes and error handling fixes while
2482 on it.
2483
215c90cb
VS
24842012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
2487 part. Instead setup the correct stack in RM.
2488 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
2489 for stack.
2490 * include/grub/i386/relocator_private.h: New file.
2491
b5c1f9bf
VS
24922012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2493
2494 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
2495 argument.
2496 * util/grub-fstest.c (options): Add missing DEVICE part.
2497
b525fd83
VS
24982012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2499
2500 Clarify and unify messages.
2501
2502 * grub-core/commands/hashsum.c (options): Unify messages.
2503 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
2504 literal-only message as translatable.
2505 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
2506 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
2507 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
2508 commands.
2509 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
2510 key, not the key used to unlock. Clarify what it's used for.
2511 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
2512 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
2513 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
2514 * util/grub-editenv.c (options): Unify "verbose" message.
2515 * util/grub-fstest.c (read_file): Unify error message.
2516 (fstest): Add quotes around commands.
2517 (options): Unify "verbose" message.
2518 * util/grub-install.in: Add quotes around variable name.
2519 * util/grub-kbdcomp.in: Unify error message.
2520 * util/grub-mkfont.c (main): Likewise.
2521 * util/grub-mkrescue.in: Likewise.
2522 * util/grub-mklayout.c (options): Unify "verbose" message.
2523 * util/grub-mkstandalone.in: Unify help and verbose messages.
2524 * util/grub-mount.c (options): Unify "verbose" message.
2525 * util/grub-probe.c (options): Likewise.
2526 * util/grub-script-check.c (options): Likewise.
2527 * util/grub-setup.c (setup): Unify no-terminator message.
2528 (options): Use DEVICE and not DEV.
2529 Unify "verbose" message.
2530 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
2531
0ae70393
VS
25322012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2533
2534 Improve and unify messages.
2535
2536 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
2537 name. All users updated.
2538 Print filename in error.
2539 (read_device_map): Print filename in error.
2540 * util/getroot.c (grub_guess_root_devices): Print filename in error.
2541 (grub_util_get_os_disk): Likewise.
2542 (grub_util_biosdisk_get_grub_dev): Likewise.
2543 (grub_util_check_block_device): Likewise.
2544 (grub_util_check_char_device): Likewise.
2545 (grub_make_system_path_relative_to_its_root): Likewise.
2546 * util/grub-editenv.c (create_envblk_file): Likewise.
2547 (open_envblk_file): Likewise.
2548 (write_envblk): Likewise.
2549 * util/grub-fstest.c (cmd_cp): Likewise.
2550 (cmd_cat): Likewise.
2551 (cmd_cmp): Likewise.
2552 * util/grub-menulst2cfg.c (main): Likewise.
2553 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
2554 (write_font_width_spec): Likewise.
2555 (write_font_pf2): Likewise.
2556 * util/grub-mkimage.c (generate_image): New argument outname.
2557 All users updated.
2558 Remove unreacheable message.
2559 (options): Unify messages.
2560 (help_filter): Likewise.
2561 * util/grub-mklayout.c (usage): Removed (unused).
2562 (main): Print filename in error.
2563 * util/grub-mkrescue.in: Fix wrong quoting.
2564 * util/grub-setup.c (setup): Print filename in error.
2565 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
2566 (check_sas): Likewise.
2567 * util/misc.c (grub_util_get_fp_size): Removed.
2568 (grub_util_get_image_size): Print filename in error.
2569 (grub_util_read_at): Removed.
2570 (grub_util_read_image): Print filename in error.
2571 (grub_util_load_image): Likewise.
2572 (grub_util_write_image_at): New argument filename. All users updated.
2573 Print filename in error.
2574 (grub_util_write_image): New argument filename. All users updated.
2575 Print filename in error.
2576 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
2577 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
2578
0a96117d
VS
25792012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2580
2581 * grub-core/Makefile.core.def (pxechain): New module.
2582 * grub-core/loader/i386/pc/pxechainloader.c: New file.
2583 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
2584 function.
2585 (grub_pc_net_config_real): Use grub_pxe_get_cached.
2586 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
2587
aca002f7
VS
25882012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2589
2590 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
2591 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
2592 * include/grub/err.h (grub_error_saved): New struct.
2593 (grub_errmsg): Make array size explicit.
2594 * include/grub/misc.h (grub_error_save): New function.
2595 (grub_error_load): Likewise.
2596 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
2597 (grub_error_push): Update `errno' member name.
2598 (grub_error_pop): Likewise
2599 * grub-core/net/tftp.c (tftp_data): New member save_err.
2600 (tftp_receive): Save error.
2601 (tftp_open): Restore error.
2602
a51dab13
VS
26032012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
2606 to real mode down to execute A20-related code in protected mode as
2607 intended.
2608
eb6e6649
GS
26092012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
2610
2611 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
2612 NULL when the argument `level' has an unexpected value.
2613
92cd0f6e
VS
26142012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2615
2616 Move platform-dependent files from $prefix to $prefix/$platform.
2617
2618 * config.h.in (GRUB_TARGET_CPU): New definition.
2619 (GRUB_PLATFORM): Likewise.
2620 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
2621 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
2622 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
2623 * grub-core/kern/dl.c (grub_dl_load): Likewise.
2624 * grub-core/normal/autofs.c (read_fs_list): Likewise.
2625 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
2626 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
2627 * grub-core/normal/term.c (read_terminal_list): Likewise.
2628 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
2629 $prefix/locale.
2630 (grub_gettext_init_ext): Likewise.
2631 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
2632 grub_platform.
2633 * util/grub-install.in: Update directories.
2634 * util/grub-mknetdir.in: Likewise.
2635 * util/grub-mkrescue.in: Likewise.
2636
db606889
VS
26372012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2638
2639 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
2640 grub_error framework. All users updated.
2641
c39992a4
VS
26422012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2643
2644 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
2645 lists (by always binsearching), improve caching (cache strings
2646 used for binsearch, not only results), improve
2647 maintainability (by using more structured binary search) and correct
2648 error handling.
2649
1e5ec32f
VS
26502012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2651
2652 * grub-core/script/execute.c (grub_script_return): Fix warning.
2653
ac576cde
VS
26542012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
2655
2656 * grub-core/script/execute.c (grub_script_return): Fix potential
2657 NULL-dereference.
2658 Reported by: Jim Meyering.
2659
498453f6
VS
26602012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2661
2662 * po/POTFILES.in: Regenerate.
2663 * util/grub-install.in: Gettextize the strings missed in first pass.
2664
8be63f2e
VS
26652012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2666
2667 * Makefile.util.def (grub-mkdevicemap): Removed.
2668 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
2669 * include/grub/util/deviceiter.h: Removed.
2670 * util/deviceiter.c: Likewise.
2671 * util/getroot.c (grub_util_get_os_disk): New function.
2672 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
2673 replacement for EFI.
2674 * util/grub-mkdevicemap.c: Removed.
2675 * util/grub-probe.c (probe): Handle PRINT_DISK.
2676 (argp_parser): Handle -t disk.
2677
8e1e4e39
VS
26782012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2679
2680 * util/grub-mkfont.c: Migrate to argp.
2681 * util/grub-mklayout.c: Likewise.
2682 * util/grub-mkpasswd-pbkdf2.c: Likewise.
2683 * util/grub-mkrelpath.c: Likewise.
2684 * util/grub-probe.c: Likewise.
2685 * util/grub-script-check.c: Likewise.
2686
4459819a
VS
26872012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2688
2689 * util/grub-reboot.in: Add missing datarootdir.
2690 Add missing newline.
2691 * util/grub-set-default.in: Add missing datarootdir.
2692 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
2693 * util/grub-mkrescue.in: Likewise.
2694
f65741c7
VS
26952012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2696
2697 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
2698
c1a33466
VS
26992012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2700
2701 * util/grub-kbdcomp.in: Add decent help and gettextize.
2702 * docs/man/grub-kbdcomp.h2m: New file.
2703
c76899a0
VS
27042012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2705
2706 Migrate grub-mkimage.c to argp.
2707
2708 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
2709 (grub-setup): Likewise.
2710 * util/grub-setup.c (print_version): Move to ...
2711 * util/argp_common.c (print_version): ... here.
2712 * util/grub-setup.c (argp_program_version_hook): Move to ...
2713 * util/argp_common.c (argp_program_version_hook): ... here.
2714 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
2715 safety.
2716 * util/grub-mkimage.c (main): Migrate to argp.
2717
57db0757
VS
27182012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2719
2720 * util/grub-mkrescue.in: Use same message as
2721 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
2722 for better translations.
2723
18534ad9
VS
27242012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
2727 options with generic grub-mkrescue.in with the goal of future
2728 merge.
2729
c84ba308
VS
27302012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2731
2732 * grub-core/kern/mm.c: Add missing include of i18n.h
2733 * grub-core/lib/relocator.c: Likewise.
2734
347998c2
VS
27352012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
2738 error.
2739 (allocate_pages): Check return value.
2740 Replace fatal with error.
2741 (grub_linux_boot): Replace printf with dprintf.
2742 Check find_mmap_size return value.
2743 Replace fatal with error.
2744 Don't call grub_machine_fini.
2745 (grub_load_elf64): Replace printf with dprintf.
2746 (grub_cmd_linux): Likewise.
2747 (grub_cmd_initrd): Likewise.
2748 (grub_cmd_payload): Likewise.
2749
c779226e
VS
27502012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2751
2752 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
2753 message.
2754 * grub-core/video/radeon_fuloong2e.c
2755 (grub_video_radeon_fuloong2e_setup): Likewise.
2756 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
2757 * grub-core/video/video.c (grub_video_set_mode): Don't override
2758 standard out of memory message.
2759
dc87d45a
GS
27602012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2761
2762 NetBSD disk wedge support.
2763
2764 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
2765 [__NetBSD__]: Handle NetBSD disk wedges.
2766 * util/getroot.c (convert_system_partition_to_system_disk)
2767 [__NetBSD__]: Likewise.
2768
055f856f
MW
27692012-02-03 Mark Wooding <mdw@distorted.org.uk>
2770
2771 * util/grub-mkconfig.in: Use umask rather than chmod to create
2772 grub.cfg.new to avoid insecure grub.cfg.
2773
4a9f8346
VS
27742012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2775
2776 * grub-core/commands/ls.c: Gettextize.
2777 * grub-core/commands/setpci.c: Likewise.
2778 * grub-core/commands/videotest.c: Likewise.
2779 * grub-core/disk/geli.c: Likewise.
2780 * grub-core/kern/mm.c: Likewise.
2781 * grub-core/lib/relocator.c: Likewise.
2782 * grub-core/loader/efi/appleloader.c: Likewise.
2783 * grub-core/loader/i386/xnu.c: Likewise.
2784 * grub-core/loader/ia64/efi/linux.c: Likewise.
2785 * grub-core/loader/xnu.c: Likewise.
2786 * grub-core/net/dns.c: Likewise.
2787 * grub-core/net/net.c: Likewise.
2788 * grub-core/script/lexer.c: Likewise.
2789 * grub-core/script/parser.y: Likewise.
2790 * grub-core/script/yylex.l: Likewise.
2791 * util/getroot.c: Likewise.
2792 * util/grub-setup.c: Likewise.
2793
a646a366
VS
27942012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2795
2796 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
2797 number.
2798
54e2be26
VS
27992012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
2802
f7c71e68
VS
28032012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2804
2805 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
2806 macro.
2807 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
2808 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
2809
a32d5c71
VS
28102012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2811
2812 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
2813 * util/grub-install.in: Gettextize.
2814 * util/grub-mkconfig.in: Likewise.
2815 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
2816 if not available.
2817 (grub_warn): Gettextize.
2818 * util/grub-mknetdir.in: Gettextize.
2819 * util/grub-mkrescue.in: Likewise.
2820 * util/grub-mkstandalone.in: Likewise.
2821 * util/grub-reboot.in: Likewise.
2822 * util/grub-set-default.in: Likewise.
2823 * util/grub.d/00_header.in: Likewise.
2824 * util/grub.d/10_hurd.in: Likewise.
2825 * util/grub.d/10_kfreebsd.in: Likewise.
2826 * util/grub.d/10_linux.in: Likewise.
2827 * util/grub.d/10_netbsd.in: Likewise.
2828 * util/grub.d/10_windows.in: Likewise.
2829 * util/grub.d/20_linux_xen.in: Likewise.
2830 * util/grub.d/30_os-prober.in: Likewise.
2831 * po/POTFILES-shell.in: Regenerate.
2832
69edd81a
RL
28332012-02-03 Richard Laager <rlaager@wiktel.com>
2834
2835 * util/grub-mkimage.c (main): Fix format-security warning.
2836 * util/grub-mkrelpath.c (main): Likewise.
2837 * util/grub-probe.c (main): Likewise.
2838
65f08dbf
RL
28392012-02-03 Richard Laager <rlaager@wiktel.com>
2840
2841 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
2842 failure.
2843 Put back lost PRINT_DRIVE.
2844
e9084abe
RL
28452012-02-03 Richard Laager <rlaager@wiktel.com>
2846
2847 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
2848 (grub_guess_root_devices): Replace strlen with sizeof.
2849 Avoid crash.
2850 (find_root_devices_from_poolname): Remove unused variable.
2851 Handle raidzN.
2852
cf5f7ee7
VS
28532012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
2854
2855 Support install on multi-device filesystems.
2856
2857 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
2858 (grub_guess_root_devices): ...this. Return char **. All users updated.
2859 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
2860 Removed.
2861 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
2862 (find_root_devices_from_poolname): ... here.
2863 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
2864 Support zfs-fuse.
2865 (grub_guess_root_device): Rename to ...
2866 (grub_guess_root_devices): ... this. Return char **. All users updated.
2867 * util/grub-install.in: Handle multi-device filesystems.
2868 * util/grub-probe.c (probe). Make device_names a char **. Add delim
2869 argument. All users updated.
2870 Handle multi-device filesystems.
2871 Use 'delim' as separator.
2872 Remove device check to allow filesystems on file.
2873 (main): Support -0 argument. Handle multi-device.
2874 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
2875 Fix a cross-device check while on it.
2876 (arguments): Remove root_dev.
2877 (argp_parser): Remove -r.
2878 (main): Remove root_dev.
2879
2f53a9ed
VS
28802012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2881
2882 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
2883
17e1d934
VS
28842012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2885
2886 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
2887 symbol.
2888 Reported by: NODA, Kai <nodakai>.
2889
d3e3fab5
VS
28902012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 Fix ehci on amd64.
2893
2894 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
2895 pointers.
2896 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
2897 (grub_ehci_setup_qh): Likewise.
2898 (grub_ehci_find_qh): Likewise.
2899 (grub_ehci_transaction): Likewise.
2900 (grub_ehci_setup_transfer): Likewise.
2901 (grub_ehci_check_transfer): Likewise.
2902 (grub_ehci_portstatus): Likewise.
2903 (grub_ehci_detect_dev): Likewise.
2904 (grub_ehci_transfer_controller_data): New field td_last_phys.
2905 (grub_ehci_setup_transfer): Fill td_last_phys.
2906 (grub_ehci_check_transfer): Use td_last_phys.
2907
3008675b
SG
29082012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
2909
2910 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
2911 if no submenu is present.
2912
fc9b5652
AN
29132012-02-01 Aleš Nesrsta <starous@volny.cz>
2914
2915 CBI support.
2916
2917 * include/grub/usb.h (grub_usbms_protocol_t): New values
2918 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
2919 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
2920 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
2921 (grub_usbms_dev): Add subclass, protocol and intrpt.
2922 Remove in_maxsz and out_maxsz.
2923 (grub_usbms_reset): Rename to ...
2924 (grub_usbms_bo_reset): .. this.
2925 (grub_usbms_cbi_cmd): New function.
2926 (grub_usbms_cbi_reset): Likewise.
2927 (grub_usbms_reset): Likewise.
2928 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
2929 (grub_usbms_transfer): Rename to ...
2930 (grub_usbms_transfer_bo): ... this.
2931 (grub_usbms_transfer_cbi): Likewise.
2932 (grub_usbms_transfer): Likewise.
2933
a2b81d53
AN
29342012-02-01 Aleš Nesrsta <starous@volny.cz>
29352012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
2938 the support for the CS5536 modification thereos and few bugfixes.
2939
2940 * grub-core/Makefile.core.def (ehci): New module.
2941 * grub-core/bus/usb/ehci.c: New file.
2942 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
2943 port and hubaddr. All users updated.
2944 Save port and hubaddr into dev structure.
2945 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
2946 define.
2947 * include/grub/pci.h (grub_dma_phys2virt): New function.
2948 (grub_dma_virt2phys): Likewise.
2949 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
2950
b1d51f02
VS
29512012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2952
2953 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
2954 check as some mkfs implementations omit it.
2955
fc694106
VS
29562012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 * docs/grub.texi (Unicode): Mention identifier and space limitations.
2959
6c0920e3
VS
29602012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
2963 Add new member volname2.
2964 (grub_jfs_label): Use volname2 if available.
2965
d1a46f9a
VS
29662012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2967
2968 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
2969 over last_mounted as seen in image generated by mkfs.nilfs2.
2970 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
2971
dec8ed14
VS
29722012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2973
2974 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
2975 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
2976 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
2977
7397c69b
VS
29782012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2979
2980 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
2981 over the sector.
2982
b3fe42ad
VS
29832012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2984
2985 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
2986 subvolume name (by removing a bogus and useless check).
2987
10476bb0
VS
29882012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
2989
2990 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
2991 sizeof while on it.
2992
9c08ad87
VS
29932012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
2994
2995 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
2996 (grub_scsi_read_capacity10): ... this.
2997 (grub_scsi_read_capacity16): New function.
2998 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
2999 0xffffffff.
3000 Fix off-by-one error.
3001 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
3002 64-bit unsigned.
3003 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
3004 (grub_scsi_read_capacity10): ... this.
3005 (grub_scsi_read_capacity_data): Rename to ...
3006 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
3007 (grub_scsi_read_capacity16): New struct.
3008 (grub_scsi_read_capacity16_data): Likewise.
3009 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
3010 grub_scsi_cmd_read_capacity10.
3011 New command grub_scsi_cmd_read_capacity16.
3012
bc8d0f45
VS
30132012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3014
3015 SCSI >2TiB support.
3016
3017 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
3018 (grub_scsi_write16): Likewise.
3019 (grub_scsi_read): Use read16 when necessary.
3020 (grub_scsi_write): Likewise.
3021 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
3022 (grub_scsi_write16): Likewise.
3023 (grub_scsi_cmd_t): Add READ16 and WRITE16.
3024
cc774926
VS
30252012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3026
3027 SCSI write support (for usbms mainly).
3028
3029 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
3030 a const pointer.
3031 (grub_scsi_write): Implement.
3032 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
3033
67639fd7
VS
30342012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
3037 variable.
3038
9079d3ed
VS
30392012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3040
3041 * grub-core/lib/posix_wrap/string.h (memchr): New function.
3042
c6a6f204
VS
30432012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3044
3045 * po/POTFILES.in: Regenerate.
3046
ecbf8cd1
VS
30472012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3048
3049 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
3050 with grub_printf to avoid unnecessary fatal failure.
3051
0b3b3b38
VS
30522012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3053
3054 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
3055 (INT_MAX): Likewise.
3056 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
3057 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
3058 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
3059 (strcpy): Likewise.
3060 (strstr): Likewise.
3061 (strchr): Likewise.
3062 (strncpy): Likewise.
3063 (strcat): Likewise.
3064 (strncat): Likewise.
3065 (strcoll): Likewise.
3066 * include/grub/types.h (GRUB_SHRT_MAX): New define.
3067 (GRUB_INT_MAX): Likewise.
3068
db7337a3
VS
30692012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3070
3071 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
3072 unexpected error.
3073 (optimize_utf8): Likewise.
3074 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
3075
f37c87e1
VS
30762012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 * grub-core/boot/i386/pc/lnxboot.S: Use
3079 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
3080 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
3081 location.
3082 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
3083 definition.
3084 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
3085
63fe43f3
VS
30862012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
3089 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
3090 now to avoid double free.
3091 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
3092 hostdisk.
3093 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
3094 * util/grub-probe.c (escape_of_path): Always return a new copy.
3095 (print_full_name): Escape path.
3096 (probe): Don't call grub_util_devname_to_ofpath on NULL.
3097 Fix hints on abstractions.
3098
ebe2c961
VS
30992012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3100
3101 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
3102 Don't add "root" line if no compatibility hont is available.
3103 Suggested by: Seth Goldberg.
3104
2b5336a2
VS
31052012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3106
3107 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
3108 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
3109 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
3110 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
3111
74310bd8
VS
31122012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
3115
c30582ba
VS
31162012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3117
3118 * util/grub-pe2elf.c (ehdr): Make static.
3119 (shdr): Likewise.
3120 (num_sections): Likewise.
3121 (offset): Likewise.
3122
5f47782c
VS
31232012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 Eliminate ofpath limits and possible overflows.
3126
3127 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
3128 (OF_PATH_MAX): Removed.
3129 (MAX_DISK_CAT): New const.
3130 (find_obppath): Use allocated rather than preallocated buffer.
3131 Return result. Argument of_path removed. All users updated.
3132 Add missing fdstat.
3133 (xrealpath): New function.
3134 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
3135 Allocate rather than use preallocated buffer. All users updated.
3136 (__of_path_common): Use allocated rather than preallocatecd buffer.
3137 Return result. Argument of_path removed. All users updated.
3138 (vendor_is_ATA): Read only needed part form the file.
3139 (check_sas): Allocate depending on contents rather than fixed.
3140 (main) [STANDALONE]: Handle NULL result.
3141
f990cbf9
VS
31422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3143
3144 * grub-core/normal/completion.c (iterate_dev): Close the disk.
3145
9c6e84b8
VS
31462012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3147
3148 Cryptodisk write support.
3149
3150 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
3151 (grub_cryptodisk_decrypt): Moved logic to ...
3152 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
3153 (grub_cryptodisk_write): Implement.
3154 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
3155 (grub_util_fd_write): ... this. Make global.
3156 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
3157
87cf9744
VS
31582012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3159
3160 * include/grub/list.h (grub_list_remove): Don't crash if element is
3161 removed twice.
3162
ca8c0baf
VS
31632012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3164
3165 Rename ofconsole to console.
3166
3167 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
3168 as sysnonym to console.
3169 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
3170 * grub-core/term/ieee1275/console.c: ... this. All users updated.
3171 Rename grub_ofconsole_ to grub_console_. All users updated
3172 (grub_console_term_output): Rename "ofconsole" to "console".
3173 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
3174 as "console".
3175
64c8b8f6
VS
31762012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3177
3178 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
3179 handling.
3180 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
3181 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
3182 GRUB_DISK_DEVICE_FILE_ID.
3183
f6c434d5
VS
31842012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3185
3186 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
3187 and improve performance.
3188
5858b42d
VS
31892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3190
3191 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
3192 missing ieee1275/ prefix on whole disk.
3193
4ed3c26b
VS
31942012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
3197 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
3198
df71143e
VS
31992012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
3202
076e7c0f
VS
32032012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
3204
3205 Merge common RAID and LVM logic to an abstract diskfilter.
3206 Add LDM support using the same framework.
3207
3208 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
3209 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
3210 (libgrubmods): Remove grub-core/disk/raid.c and
3211 grub-core/partmap/gpt.c.
3212 * grub-core/Makefile.core.def (ldm): New module.
3213 (raid): Renamed to diskfilter. All users updated.
3214 * grub-core/disk/raid.c: Moved to ...
3215 * grub-core/disk/diskfilter.c: ... here.
3216 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
3217 (lv_num): New var.
3218 (find_array): Renamed to ...
3219 (find_lv): ... this. Support multi-LV. Skip nameless LVs
3220 (grub_is_array_readable): Renamed to ...
3221 (grub_is_lv_readable): ... this. Support multinode hierarchy.
3222 (insert_array): New argument id.
3223 (is_node_readable): New function.
3224 (scan_device): Rename to ...
3225 (scan_disk): .. this. Restrict to one disk.
3226 (scan_devices): New function.
3227 (grub_diskfilter_iterate): Support multi-LV.
3228 Skip invisible and nameless LVs.
3229 (grub_diskfilter_memberlist): Support multi-LV.
3230 (grub_diskfilter_read_node): New function.
3231 (grub_raid_read): Most of logic moved to ...
3232 (read_segment): ... here
3233 (read_lv): New function.
3234 (grub_diskfilter_get_vg_by_uuid): New function.
3235 (grub_diskfilter_make_raid): Likewise.
3236 * grub-core/disk/ldm.c: New file.
3237 * grub-core/disk/lvm.c (vg_list): Removed.
3238 (lv_count): Likewise.
3239 (scan_depth): Likewise.
3240 (is_lv_readable): Likewise.
3241 (grub_lvm_getvalue): Advance pointer past the number.
3242 (find_lv): Removed.
3243 (do_lvm_scan): Refactored into ...
3244 (grub_lvm_detect): ... this. Support raid.
3245 (grub_lvm_iterate): Removed.
3246 (grub_lvm_memberlist): Likewise.
3247 (grub_lvm_open): Likewise.
3248 (grub_lvm_close): Likewise.
3249 (read_lv): Likewise.
3250 (read_node): Likewise.
3251 (is_node_readable): Likewise.
3252 (is_lv_readable): Likewise.
3253 (grub_lvm_read): Likewise.
3254 (grub_lvm_write): Likewise.
3255 (grub_lvm_dev): Use diskfilter
3256 (GRUB_MOD_INIT): Likewise.
3257 (GRUB_MOD_FINI): Likewise.
3258 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
3259 new interface.
3260 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
3261 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3262 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
3263 grub_diskfilter_read_node.
3264 Fix a bug with xor.
3265 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
3266 grub_diskfilter_read_node.
3267 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
3268 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
3269 (grub_disk_dev_iterate): Move from here...
3270 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
3271 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
3272 Make global.
3273 (grub_hostdisk_find_partition_start): Likewise.
3274 (grub_hostdisk_os_dev_to_grub_drive): New function.
3275 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
3276 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
3277 * util/getroot.c (make_device_name): ... here.
3278 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3279 Move to ...
3280 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
3281 * grub-core/kern/emu/hostdisk.c
3282 (convert_system_partition_to_system_disk): Move to ...
3283 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
3284 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
3285 * util/getroot.c (device_is_wholedisk): ... here.
3286 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
3287 * util/getroot.c (find_system_device): ... here.
3288 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
3289 Move to ...
3290 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
3291 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
3292 Move to ...
3293 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
3294 Handle LDM.
3295 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
3296 Move to ...
3297 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
3298 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
3299 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
3300 DISKFILTER.
3301 * include/grub/raid.h: Renamed to ...
3302 * include/grub/diskfilter.h: ... this.
3303 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
3304 (GRUB_RAID_LAYOUT_*): Make into array.
3305 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
3306 (grub_diskfilter_vg): New struct.
3307 (grub_diskfilter_pv_id): Likewise.
3308 (grub_raid_member): Removed.
3309 (grub_raid_array): Likewise.
3310 (grub_diskfilter_pv): New struct.
3311 (grub_diskfilter_lv): Likewise.
3312 (grub_diskfilter_segment): Likewise.
3313 (grub_diskfilter_node): Likewise.
3314 (grub_diskfilter_get_vg_by_uuid): New proto.
3315 (grub_raid_register): Inline.
3316 (grub_diskfilter_unregister): Likewise.
3317 (grub_diskfilter_make_raid): New proto.
3318 (grub_diskfilter_vg_register): Likewise.
3319 (grub_diskfilter_read_node): Likewise.
3320 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
3321 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
3322 (grub_util_is_ldm): Likewise.
3323 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
3324 (grub_hostdisk_find_partition_start): Likewise.
3325 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
3326 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
3327 New definition.
3328 (grub_gpt_partition_map_iterate): New proto.
3329 * include/grub/lvm.h (grub_lvm_vg): Removed.
3330 (grub_lvm_pv): Likewise.
3331 (grub_lvm_lv): Likewise.
3332 (grub_lvm_segment): Likewise.
3333 (grub_lvm_node): Likewise.
3334 * util/getroot.c [...]
3335 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
3336 (probe_abstraction): Likewise.
3337 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
3338 (main): Remove dead logic.
3339
8a7f9b9c
VS
33402012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
3341
3342 Simplify root device discover and don't fail when trying to open
3343 incorrect devices.
3344
3345 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
3346 function.
3347 (get_diskname_from_path): Likewise.
3348 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
3349 of iterating.
3350
30545b85
VS
33512012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3352
3353 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
3354
28ea58cf
VS
33552012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3356
3357 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
3358 pastthe end.
3359
692dabca
VS
33602012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3361
3362 * util/grub-install.in: Add missing \.
3363 Reported by: gentoofan
3364
f6e4ea70
VS
33652012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
3366
3367 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
3368 (direct_read): Use correct compressed size.
3369 (grub_squash_read_data): Likewise.
3370
33712012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
3372
3373 * docs/grub.texi (Platform limitations): New section.
3374 (Platform-specific operations): Likewise.
3375 * docs/grub-dev.texi (Porting): Likewise.
3376
76261110
VS
33772012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3378
3379 IEEE1275 disk write support.
3380
3381 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
3382 const void *.
3383 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
3384 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
3385 and seek loginc to ...
3386 (grub_ofdisk_prepare): ... here.
3387 (grub_ofdisk_write): Implement.
3388
fc36d603
VS
33892012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 ARC disk write support.
3392
3393 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
3394 (reopen): New argument writable. All users updated.
3395 Handle required access mode.
3396 (grub_arcdisk_write): Implement.
3397 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
3398 (grub_arc_firmware_vector): Make buffer to write a const buffer.
3399
e06c2e7a
VS
34002012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3401
3402 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
3403 (read_sblock): Don't attempt to read superblocks outside the disk size.
3404
ff447958
VS
34052012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3406
3407 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
3408 first superblock to find the second one when possible.
3409
9e88df39
VS
34102012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
3411
3412 * util/grub-install.in: Fix an ARC bug.
3413 Print a warning if no platform-specific setup is available.
3414
bb26e4ff
VS
34152012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3416
3417 Use static allocation rather than scratch pointer in reed_solomon.
3418 It decreases its size significantly and avoids a variable in .text.
3419
3420 * grub-core/lib/reed_solomon.c (scratch): Removed.
3421 (chosenstat): New const or static array.
3422 (sigma): Likewise.
3423 (errpot): Likewise.
3424 (errpos): Likewise.
3425 (sy): Likewise.
3426 (mstat): Likewise.
3427 (errvals): Likewise.
3428 (eqstat): Likewise.
3429 (pol_evaluate): Replace x with log_x argument. All users updated.
3430 (syndroms): Removed.
3431 (gauss_solve): Use statically allocated arrays.
3432 (rs_recover): Likewise.
3433 Calculate syndroms directly.
3434 (decode_block): Use statically allocated arrays.
3435 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
3436 (main) [TEST]: Allow -DTEST -DSTANDALONE.
3437
2e13ede5
VS
34382012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3439
3440 Eliminate fixed limit on reed solomon decoder length.
3441
3442 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
3443 rather than hardcoding the address.
3444 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
3445 no_reed_solomon_length.
3446 Move gate_a20 to no-reed-solomon part.
3447 Don't force a particular size of no reed-solomon part.
3448 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
3449 Removed.
3450 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
3451 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
3452
f8a9ab12
VS
34532012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3454
3455 * grub-core/commands/wildcard.c (match_files): Handle filenames
3456 without explicit device.
3457 (wildcard_expand): Don't add explicit device if not already present.
3458 * tests/grub_script_echo1.in: Add a new expansion test.
3459
87edb894
VS
34602012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3461
3462 Replace single-linked with double-linked lists. It results in more
3463 compact and more efficient code.
3464
3465 * grub-core/kern/list.c (grub_list_push): Moved from here ...
3466 * include/grub/list.h (grub_list_push): ... to here. Set prev.
3467 (grub_list_remove): Moved from here ...
3468 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
3469 (grub_prio_list_insert): Set prev.
3470 * include/grub/list.h (grub_list): Add prev. All users updated.
3471
48b391e9
VS
34722012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3473
3474 Handle newer autotools. Add some missing quotes while on it.
3475
3476 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
3477 (pkglib_DATA): Move grub-mkconfig_lib from here ...
3478 (pkgdata_DATA): ... here.
3479 * Makefile.util.def (update-grub_lib): Removed.
3480 * conf/Makefile.common (pkglib_DATA): Removed.
3481 (pkglib_SCRIPTS): Likewise.
3482 (pkgdata_DATA): New variable.
3483 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
3484 needed.
3485 Add missing quotes.
3486 Remove unused variable while on it.
3487 * tests/util/grub-shell.in: Likewise.
3488 * util/grub-install.in: Likewise.
3489 * util/grub-mkconfig.in: Likewise.
3490 * util/grub-mknetdir.in: Likewise.
3491 * util/grub-mkrescue.in: Likewise.
3492 * util/grub-mkstandalone.in: Likewise.
3493 * util/grub.d/00_header.in: Likewise.
3494 * util/grub.d/10_hurd.in: Likewise.
3495 * util/grub.d/10_illumos.in: Likewise.
3496 * util/grub.d/10_kfreebsd.in: Likewise.
3497 * util/grub.d/10_linux.in: Likewise.
3498 * util/grub.d/10_netbsd.in: Likewise.
3499 * util/grub.d/10_windows.in: Likewise.
3500 * util/grub.d/20_linux_xen.in: Likewise.
3501 * util/grub.d/30_os-prober.in: Likewise.
3502 * util/update-grub_lib.in: Removed.
3503
35042012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
3505
3506 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
3507 a workaround for intel problem.
3508
66832792
PRP
35092012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
35102012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
35112012-01-23 pfsmorigo
3512
3513 * util/grub-install.in: Support dd'in into PreP partition.
3514 * util/grub-probe.c (probe): Support discovering partition type.
3515 (main): Support -t msdos_parttype.
3516
7816a17e
VS
35172012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3518
3519 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
3520 infinite recursion using counter.
3521 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
3522 init to skip it if the magic check fails.
3523 (dec_stream_header): Init s->crc32.
3524
8f9d3a8c
ZB
35252012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
35262012-01-22 Zachary Bedell <pendorbound@gmail.com>
35272012-01-22 Richard Laager <rlaager@wiktel.com>
3528
3529 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
3530 All users updated.
3531 (find_bestub): Determine correct size.
3532 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
3533 (scan_disk): Align the size down.
3534 Call check pool before find_bestub to have ashift.
3535
b055dd32
VS
35362012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3537
3538 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
3539 dprintf in no-malloc zone.
3540
d779e9bd
ML
35412012-01-22 Mario Limonciello <mario_limonciello@dell.com>
3542
3543 * configure.ac: Add back in test for limits.h.
3544
b508af69
VS
35452012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 Support 4K-sector NTFS.
3548
3549 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
3550 (grub_ntfs_data): Remove blocksize.
3551 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
3552 Remove data argument. All users updated.
3553
dad9c8b5
VS
35542012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3555
3556 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
3557 being in .text to avoid dprel references.
3558 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
3559 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
3560 (grub_arch_highmemsize): Likewise.
3561 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
3562 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
3563 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
3564
d43a777e
VS
35652012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3566
3567 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
3568
3569 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
3570 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
3571
34e4208f
VS
35722012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3573
3574 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
3575 GRUB_UTIL.
3576 (grub_set_datetime_cmos): Likewise.
3577
3ec0fc1c
VS
35782012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3579
3580 Make XZ compression parameters dependent on target and not host CPU.
3581
3582 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
3583 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
3584
22489834
VS
35852012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
3588 set but not used variable.
3589
8502fbca
VS
35902012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3591
3592 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
3593 created when no uuid support is compiled into mkfs.reiser.
3594
76df2068
VS
35952012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3596
3597 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
3598 (utf8_to_macroman): Do the opposite.
3599 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
3600
64e3f8f6
VS
36012012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 * configure.ac: Refise build qemu_mips w/o unifont.
3604
9c271078
VS
36052012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3606
3607 Eliminate grub_min/grub_max prone to overflow usage.
3608
3609 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
3610 (poll_nonroot_hub): Likewise.
3611 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
3612 (grub_affs_label): Likewise.
3613 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
3614 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
3615 (grub_hfs_label): Likewise.
3616 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
3617 * grub-core/fs/zfs/zfs.c (MIN): Remove.
3618 (zap_leaf_array_equal): Use grub_size. Remove MIN.
3619 (zap_leaf_array_get): Likewise.
3620 (dnode_get_path): Likewise.
3621 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
3622 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
3623 * grub-core/script/execute.c (grub_script_break): Likewise.
3624 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
3625 grub_max.
3626 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
3627 * include/grub/misc.h (grub_min): Removed.
3628 (grub_max): Likewise.
3629
80662dbc
VS
36302012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3631
3632 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
3633 direct.inode = 0.
3634
e6da1467
VS
36352012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3636
3637 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
3638
b1ac4cb1
VS
36392012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3640
3641 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
3642
b4bf7c3b
VS
36432012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3644
3645 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
3646 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
3647
8ee1101a
VS
36482012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3649
3650 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
3651 rather than a hack for grub_strncasemap.
3652
36532012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3654
3655 Support multiple initrds
3656 Note: part of this was accidently committed in r3739.
3657
3658 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
3659 initrd.
3660 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3661 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3662 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3663 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3664 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3665
4d1e2bc9
VS
36662012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
3669 disks with unknown size.
3670 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
3671
75b49ebe
VS
36722012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3673
3674 Remove defines pertaining to arbitrary limits not affecting GRUB
3675 anymore.
3676
3677 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
3678 (EXT2_MAX_SYMLINKCNT): Likewise.
3679 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
3680 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
3681 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
3682 (GRUB_PXE_MAX_BLKSIZE): Likewise.
3683 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
3684 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
3685 (DN_MAX_OBJECT_SHIFT): Likewise.
3686 (DN_MAX_OFFSET_SHIFT): Likewise.
3687 (DN_MAX_OBJECT): Likewise.
3688 (DNODES_PER_LEVEL_SHIFT): Likewise.
3689 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
3690 (SPA_MAXBLOCKSIZE): Likewise.
3691 (SPA_BLOCKSIZES): Likewise.
3692 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
3693 (MZAP_MAX_BLKSZ): Likewise.
3694
74a1dce7
VS
36952012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
3698 handle NULL appropriately.
3699 Remove MIN.
3700
30c7d3ce
VS
37012012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3702
3703 Fix efiemu.
3704
3705 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
3706 cpu/types.h.
3707 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
3708 * configure.ac: Fix efiemu check.
3709
3c76ea0c
VS
37102012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3711
3712 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
3713 grub_probe.
3714 Reported by: adamwill
3715
7e532280
SG
37162012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
3717
3718 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
3719
30492374
VS
37202012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3721
3722 Fix handling of wide characters in gfxterm.
3723
3724 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
3725 (clear_char): Likewise.
3726 (paint_char): Skip code == NULL chars.
3727 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
3728
e70cb72f
VS
37292012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3730
3731 * grub-core/normal/charset.c: Move comment to right place.
3732
5c827cf9
VS
37332012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3734
3735 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
3736 (GRUB_AFFS_FLAG_FFS): Put back where it was.
3737 (grub_affs_mount): Revert the correct version checking.
3738
53603892
VS
37392012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3740
3741 * docs/grub.texi (Unicode): Mention several other unsupported features.
3742
ff094b9b
VS
37432011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3744
3745 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
3746 case statements as compile-time one.
3747 (direct_read): Prevent spurious warnings.
3748 (grub_squash_read_data): Likewise.
3749
c029da8a
VS
37502011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3751
3752 Various squash4 fixes and LZO and XZ support.
3753
3754 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
3755 Add xzembed source files.
3756 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
3757 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
3758 (grub_squash_inode): New subtype long_dir.
3759 (SQUASH_TYPE_LONG_DIR): New inode type.
3760 (COMPRESSION): New enum.
3761 (XZBUFSIZ): New const.
3762 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
3763 (read_chunk): Use data->decompress.
3764 (zlib_decompress): New function.
3765 (lzo_decompress): Likewise.
3766 (xz_decompress): Likewise.
3767 (squash_mount): Set new data fields.
3768 (grub_squash_iterate_dir): Handle long dir.
3769 (squash_unmount): Free xzdec and xzbuf.
3770 (grub_squash_open): Check ino type.
3771 (direct_read): Stylistic fixes. Use data->decompress.
3772 (grub_squash_read_data): Likewise.
3773 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
3774 (get_byte): Likewise.
3775 (grub_zlib_disk_read): Removed.
3776 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
3777 (GRUB_POSIX_BOOL_DEFINED): New define.
3778 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
3779 * grub-core/lib/xzembed/xz.h: Addmissing includes.
3780 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
3781 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
3782
7a45a539
VS
37832011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
3784
3785 Don't override more informative errors.
3786
3787 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
3788 * grub-core/font/font.c (open_section): Likewise.
3789 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
3790 filename. Don't override errors.
3791 (grub_cmd_openbsd_ramdisk): Don't override errors.
3792 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
3793 (grub_cmd_initrd): Likewise.
3794 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3795 (grub_cmd_initrd): Likewise.
3796 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
3797 (grub_cmd_linux): Likewise.
3798 (grub_cmd_initrd): Likewise.
3799 (grub_cmd_payload): Likewise.
3800 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3801 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
3802 (grub_cmd_module): Likewise.
3803 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3804 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3805 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
3806 (grub_cmd_xnu_mkext): Likewise.
3807 (grub_cmd_xnu_ramdisk): Likewise.
3808 (grub_xnu_check_os_bundle_required): Likewise.
3809 (grub_xnu_load_kext_from_dir): Likewise.
3810 (grub_cmd_xnu_kextdir): Likewise.
3811 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
3812
b2d004db
VS
38132011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3814
3815 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
3816 as 1024 in block size field. Found on one of my test images.
3817 Small optimisation while on it.
3818
ec000eac
VS
38192011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3820
3821 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
3822 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
3823 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
3824 performance fixes while on it.
3825 (grub_sfs_close): Fix memory leak while on it.
3826 (grub_sfs_label): Convert Latin1 to UTF-8.
3827
f50e1165
VS
38282011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3829
3830 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
3831 space to avoid overflows.
3832 (grub_hfs_label): Convert from macroman to UTF-8.
3833
2ae254de
VS
38342011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3835
3836 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
3837
0108f491
VS
38382011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3839
3840 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
3841
f45f5f89
VS
38422011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3843
3844 * unicode: Import Unicode 6.0 data.
3845
4d8c4765
VS
38462011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3847
63fa8ef9
VS
3848 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
3849 outside of range.
3850
38512011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3852
3853 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
3854
3855 * include/grub/charset.h (grub_getend): New function.
3856 * grub-core/script/function.c (grub_script_function_find): Use
3857 grub_getend.
3858 * grub-core/normal/completion.c (add_completion): Likewise.
3859
f3cb4a4e
VS
38602011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3861
3862 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
3863 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
3864 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
3865 (GRUB_UNICODE_TAG_END): Likewise.
3866 (GRUB_UNICODE_LAST_VALID): Likewise.
3867
5da8dbc5
VS
38682011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3869
3870 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
3871 len and make it smaller. All users updated.
3872 * util/import_unicode.py: Put length and not end character.
3873 Check length.
3874
8569f13d
VS
38752011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3876
3877 Make better Unicode-compliant and unify some UTF-8 code pathes.
3878
3879 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
3880 valid character.
3881 (grub_is_valid_utf8): Use grub_utf8_process.
3882 Check resulting code range.
3883 (grub_utf8_to_ucs4): Use grub_utf8_process.
3884 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
3885 valid character.
3886
cc4fddf5
VS
38872011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3888
3889 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
3890
bbc47747
VS
38912011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3892
3893 * docs/grub.texi (Filesystems): Mention AFS.
3894
f63d6bf4
VS
38952011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3896
3897 * docs/grub.texi (Filesystems): Clarify restrictions.
3898 (Regexp): Mention non-Unicode regexp behaviour.
3899 (Other): Mention non-Unicode matching behaviour.
3900
74bbf0db
VS
39012011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3902
f63d6bf4 3903 Make HFS implementation use MacRoman.
74bbf0db
VS
3904
3905 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
3906 (macroman): New const array.
3907 (macroman_to_utf8): New function.
3908 (utf8_to_macroman): Likewise.
3909 (grub_hfs_find_dir): Use utf8_to_macroman.
3910 (grub_hfs_dir): Use macroman_to_utf8.
3911 Set case_insensitive.
3912
4ea0316e
VS
39132011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3914
3915 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
3916
d3c13cbd
VS
39172011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3918
3919 Integrate hints into autogeneration scripts.
3920
3921 * docs/grub.texi (Filesystems): Add a hostdisk example.
3922 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
3923 (grub-probe): Add ofpath.
3924 * gentpl.py: Remove group nosparc64.
3925 * grub-core/commands/search.c (cache_entry): New struct.
3926 (cache): New var.
3927 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
3928 * grub-core/commands/search_wrap.c (options): Add platform-specific
3929 hint options.
3930 (grub_cmd_search): Handle platform-specific hints.
3931 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
3932 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
3933 (grub_util_biosdisk_data): Likewise.
3934 (grub_util_biosdisk_open): Set device_map.
3935 (read_device_map): Handle "" as indication of no map.
3936 Set device_map.
3937 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
3938 (grub_util_biosdisk_get_compatibility_hint): New function.
3939 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
3940 * include/grub/emu/hostdisk.h
3941 (grub_util_biosdisk_get_compatibility_hint): New proto.
3942 * util/grub-install.in: Don't call grub-mkdevicemap.
3943 Add platform-specific hint to load.cfg.
3944 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
3945 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
3946 hints. Set root preliminary to compatibility hint, not to OS name.
3947 * util/grub-probe.c (PRINT_*): Add hints.
3948 (print): Make static.
3949 (escape_of_path): New function.
3950 (guess_bios_drive): Likewise.
3951 (guess_efi_drive): Likewise.
3952 (guess_baremetal_drive): Likewise.
3953 (print_full_name): Likewise.
3954 (probe): Handle hints.
3955 (main): Likewise.
3956 * util/ieee1275/devicemap.c: Removed.
3957 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
3958 updated.
3959 (grub_util_devname_to_ofpath): Return NULL on failure.
3960
3961 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
3962 resource leak.
3963 * util/getroot.c (grub_util_pull_device): Fix memory leak.
3964
3965 * po/POTFILES.in: Regenerated.
3966
3967 Allow purely long options
3968
3969 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
3970 (SHORT_ARG_USAGE): Likewise.
3971 (grub_arg_show_help): Compare opt with help_options.
3972 (parse_option): Receive opt as argument. If makes big simplificatons.
3973 All users updated
3974
00ce2df3
VS
39752011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3976
3977 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
3978 Restructure to avoid warning.
3979
e77e325f
VS
39802011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3981
3982 * util/grub-install.in: Account for possible escaped comma in device
3983 name.
3984
165099ea
VS
39852011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
3988 channel.
3989
ce4a999d
VS
39902011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3991
3992 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
3993 allocation and zero-setting.
3994 (grub_ieee1275_get_devname): Check that alias is complete.
3995
379586ad
VS
39962011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
3997
3998 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
3999 unaligned segments.
4000
9197b0ad
VS
40012011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
4002
4003 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
4004 prefix.
4005 (grub_ofdisk_open): Check and discard ieee1275 prefix.
4006 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4007 Add ieee1275 prefix.
4008
edddb7f9
VS
40092011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4010
4011 * docs/grub.texi (Filesystems): Update.
4012
a1a8b1b9
VS
40132011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4014
4015 Support odc, newc and bigendian cpio formats.
4016
4017 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
4018 * grub-core/Makefile.core.def (newc): New module.
4019 (odc): Likewise.
4020 (cpio_be): Likewise.
4021 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
4022 (MAGIC): Likewise.
4023 (MAGIC2): Likewise.
4024 (head) [MODE_ODC]: Adapt for the format.
4025 (head) [MODE_NEWC]: Likewise.
4026 (head) [!MODE_*]: Write fields of interest as arrays.
4027 (MAGIC_USTAR): Removed.
4028 (read_number) [MODE_NEWC]: Change to hex.
4029 (read_number) [!MODE_*]: Parse binary arrays.
4030 (grub_cpio_find_file): Factor out the code for better structure and
4031 always use read_number.
4032 (grub_cpio_mount): Use MAGIC and MAGIC2.
4033 (grub_cpio_dir): Exit on first hook non-0 return.
4034 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
4035 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
4036 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
4037 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
4038 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
4039 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
4040 * grub-core/fs/newc.c: New file.
4041 * grub-core/fs/odc.c: Likewise.
4042 * grub-core/fs/cpio_be.c: Likewise.
4043
58eba9ee
VS
40442011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 Fix handling of tar numbers occupying the whole field.
4047
4048 * grub-core/fs/cpio.c (read_number): New function.
4049 (grub_cpio_find_file): Use read_number instead of strtoull.
4050
a54a0e12
VS
40512011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
4054 occupying the whole field size.
4055
a6120aca
LA
40562011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
4057
4058 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
4059
a93964ce
VS
40602011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4061
4062 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
4063
3ea1ca46
SG
40642011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
4065
4066 * grub-core/Makefile.core.def (lzma_decompress): Add missing
4067 TARGET_IMG_LDFLAGS.
4068
b87f7ef2
VS
40692011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 * util/getroot.c (ESCAPED_PATH_MAX): New define.
4072 (mountinfo_entry): Increase the field size to take escaping into
4073 account.
4074 (find_root_device_from_libzfs): Add one byte to size of strings for
4075 security.
4076
62092395
VS
40772011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4078
4079 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
4080 an assert.
4081 * util/grub-setup.c (setup): Likewise.
4082
1f0b1a77
VS
40832011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4084
4085 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
4086 _LzmaDecodeA.
4087
8eba9997
VS
40882011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4089
4090 * docs/grub.texi (Internationalisation): New section.
4091
dd0c91e9
VS
40922011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4093
4094 * docs/grub.texi (Loopback booting): New section.
4095
40962011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
4097
4098 * util/grub-mkstandalone.in: Fix minor typo errors.
4099
198e150a
VS
41002011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
4103
4104 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
4105 net/icmp.c and net/icmp6.c.
4106 (http): New module.
4107 (priority_queue): Likewise.
4108 * grub-core/io/bufio.c: Rewritten.
4109 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
4110 TYPE_WITH_CONFIGFILE_OPTION.
4111 (legacy_commands): Add bootp and dhcp.
4112 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
4113 (grub_legacy_parse): Likewise.
4114 * grub-core/lib/priority_queue.c: New file.
4115 * grub-core/net/arp.c: Add missing license header.
4116 (arp_find_entry): Removed.
4117 (arp_find_entry): Likewise.
4118 (grub_net_arp_resolve): Rename to ...
4119 (grub_net_arp_send_request): ...this.
4120 (grub_net_arp_receive): New card argument.
4121 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
4122 Set router and DNS server.
4123 (grub_net_configure_by_dhcp_ack): Handle routing information.
4124 (grub_cmd_bootp): Set checksum.
4125 (grub_bootp_init): Remove net_dhcp.
4126 * grub-core/net/dns.c: New file.
4127 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
4128 completion.
4129 (get_card_packet): Handle allocation.
4130 (grub_efinet_findcards): Set mtu.
4131 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
4132 (get_card_packet): Handle allocation.
4133 (emucard): Set mtu.
4134 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
4135 (GRUB_MOD_INIT): Set mtu.
4136 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
4137 mtu.
4138 (get_card_packet): Handle allocation.
4139 (grub_ofnet_findcards): Set mtu.
4140 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
4141 assert.
4142 (grub_net_recv_ethernet_packet): Handle IPv6.
4143 * grub-core/net/http.c: New file.
4144 * grub-core/net/icmp.c: Likewise.
4145 * grub-core/net/icmp6.c: Likewise.
4146 * grub-core/net/ip.c (ip6addr): New type.
4147 (ip6hdr): Likewise.
4148 (reassemble): Likewise.
4149 (cmp): New function.
4150 (reassembles): New variable.
4151 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
4152 (id): New variable.
4153 (send_fragmented): New function.
4154 (grub_net_send_ip_packet): Rename to ...
4155 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
4156 Handle non-UDP.
4157 (grub_net_recv_ip_packets): Rename to ...
4158 (handle_dgram): ... this. Check checksum. Handle non-UDP.
4159 (free_rsm): New function.
4160 (free_old_fragments): Likewise.
4161 (grub_net_recv_ip4_packets): New function.
4162 (grub_net_send_ip6_packet): Likewise.
4163 (grub_net_send_ip_packet): Likewise.
4164 (grub_net_recv_ip6_packets): Likewise.
4165 (grub_net_recv_ip_packets): Likewise.
4166 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
4167 (LINK_LAYER_CACHE_SIZE): New const.
4168 (link_layer_find_entry): New function.
4169 (grub_net_link_layer_add_address): Likewise.
4170 (grub_net_link_layer_resolve_check): Likewise.
4171 (grub_net_link_layer_resolve): Likewise.
4172 (grub_net_ipv6_get_slaac): Likewise.
4173 (grub_net_ipv6_get_link_local): Likewise.
4174 (grub_cmd_ipv6_autoconf): Likewise.
4175 (parse_ip): Handle one number representation.
4176 (parse_ip6): New functoion.
4177 (match_net): Handle IPv6.
4178 (grub_net_resolve_address): Handle IPv6 and DNS.
4179 (grub_net_resolve_net_address): Handle IPv6.
4180 (route_cmp): New function.
4181 (grub_net_route_address): Find best route.
4182 (grub_net_addr_to_str): Handle IPv6.
4183 (grub_net_addr_cmp): New function.
4184 (grub_net_add_addr): Register local route.
4185 (print_net_address): Handle net address.
4186 (grub_net_poll_cards): Retransmit TCP.
4187 (grub_net_poll_cards_idle_real): Likewise.
4188 (have_ahead): New function.
4189 (grub_net_seek_real): Use underlying seek.
4190 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
4191 * grub-core/net/tcp.c: New file.
4192 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
4193 (cmp): New function.
4194 (ack): Likewise.
4195 (tftp_receive): Handle unordered input.
4196 (destroy_pq): New function.
4197 (tftp_close): Close pq.
4198 * grub-core/net/udp.c: Put missing license header.
4199 (grub_net_udp_socket): New function.
4200 (udp_socket_register): Likewise.
4201 (grub_net_udp_close): Likewise.
4202 (grub_net_recv_udp_packet): Check checksum.
4203 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
4204 * include/grub/misc.h (grub_memchr): New function.
4205 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
4206 (grub_net_card_driver): Return buf in recv.
4207 (grub_net_slaac_mac_list): New struct.
4208 (grub_network_level_protocol_id): Add ipv6.
4209 (grub_net_network_level_addr): Likewise.
4210 (grub_net_network_level_net_addr): Likewise.
4211 (grub_net_app_protocol): Add seek.
4212 (grub_net_socket): Removed.
4213 (grub_net_sockets): Likewise.
4214 (grub_net_socket_register): Likewise.
4215 (grub_net_socket_unregister): Likewise.
4216 (FOR_NET_SOCKETS): Likewise.
4217 (grub_net_add_addr): Add const.
4218 (GRUB_NET_BOOTP_*): New enum.
4219 (grub_net_addr_cmp): New proto.
4220 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
4221 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
4222 (grub_net_hwaddr_to_str): NEw proto.
4223 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
4224 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
4225 (grub_dns_init): New proto.
4226 (grub_dns_fini): Likewise.
4227 (grub_net_tcp_retransmit): Likewise.
4228 (grub_net_link_layer_add_address): Likewise.
4229 (grub_net_link_layer_resolve_check): Likewise.
4230 (grub_net_link_layer_resolve): Likewise.
4231 (grub_net_dns_lookup): Likewise.
4232 (grub_net_add_dns_server): Likewise.
4233 (grub_net_remove_dns_server): Likewise.
4234 (GRUB_NET_TRIES): New const.
4235 (GRUB_NET_INTERVAL): Likewise.
4236 * include/grub/net/arp.h: Mostly rewritten.
4237 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
4238 * include/grub/net/ip.h: Mostly rewritten.
4239 * include/grub/net/netbuff.h: Indent.
4240 * include/grub/net/tcp.h: New file.
4241 * include/grub/net/udp.h: Mostly rewritten.
4242 * include/grub/priority_queue.h: New file.
4243 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
4244 (grub_swap_bytes64_compile_time): Likewise.
4245 (grub_cpu_to_be16_compile_time): Likewise.
4246 (grub_cpu_to_be32_compile_time): Likewise.
4247 (grub_cpu_to_be64_compile_time): Likewise.
4248 (grub_be_to_cpu64_compile_time): Likewise.
4249
215c1800
VS
42502011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
4251
4252 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
4253 UINT_TO_PTR with cast.
4254
c17e546c
VS
42552011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4256
4257 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
4258 don't use them.
4259
ff6b18b6
VS
42602011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4261
4262 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
4263 already there.
4264
70ffcc93
VS
42652011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4266
4267 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
4268 confusing ipxe.
4269
e5f4d260
VS
42702011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4271
4272 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
4273 Add missing const attribute.
4274 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
4275 Likewise.
4276 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
4277 Likewise.
4278
8e54b4b7
VS
42792011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4280
4281 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
4282 misaligned access.
4283 (serpent_setkey): Likewise.
4284 (serpent_encrypt_internal): Likewise.
4285 (serpent_decrypt_internal): Likewise.
4286 (serpent_encrypt): Don't put an alignment-increasing cast.
4287 (serpent_decrypt): Likewise.
4288 (serpent_test): Likewise.
4289
813c0a2b
VS
42902011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4291
4292 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
4293
f2b60fbd
VS
42942011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
4297
4298 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
4299 grub_addr_t casts.
4300 (PTR_TO_UINT64): Likewise.
4301 (PTR_TO_UINT32): Likewise.
4302
5ef5c511
VS
43032011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4304
4305 * util/grub-mkimage.c (generate_image): Decrease the higher limit
4306 because of stack.
4307 * util/grub-setup.c (setup): Don't add redundancy past the higher load
4308 limit.
4309
c476e6df
VS
43102011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4311
4312 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
4313 text_width > available width a bit more gracefully.
4314
384ad7cc
VS
43152011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
4318 current address calculation.
4319
96f8caf8
VS
43202011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4321
4322 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
4323 stack.
4324 (encode_block): Likewise.
4325
276b7a8b
VS
43262011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4327
4328 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
4329 certainety.
4330
e3fd394a
VS
43312011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4332
4333 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
4334 non-RS part to avoid RS messing with GDT.
4335 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
4336 Increase to suit in realmode routines.
4337
43382011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
4339
4340 * grub-core/kern/i386/realmode.S: Increase alignment.
4341 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
4342
ee9c2e7a
VS
43432011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4344
4345 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
4346 be deterministic.
4347 (syndroms): Compute 0 syndrom.
4348 (rs_recover): Use 0 syndrom.
4349
7a7f7cc9
VS
43502011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4351
4352 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
4353
a14b16d1
VS
43542011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4355
4356 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
4357 brackets.
4358
9f59e9fc
VS
43592011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4360
ca1b552c
VS
4361 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
4362 account.
4363 (get_top_pad): Likewise.
4364 (get_right_pad): Likewise.
4365 (get_bottom_pad): Likewise.
4366
43672011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4368
4369 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 4370
e739d698
VS
43712011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4372
4373 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
4374 attribute as the structure isn't guaranteed to be properly aligned.
4375 (grub_efi_pci_device_path): Likewise.
4376 (grub_efi_pccard_device_path): Likewise.
4377 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
4378 specify the size of `memory_type'.
4379 (grub_efi_vendor_device_path): Likewise.
4380 (grub_efi_controller_device_path): Likewise.
4381 (grub_efi_acpi_device_path): Likewise.
4382 (grub_efi_expanded_acpi_device_path): Likewise.
4383 (grub_efi_atapi_device_path): Likewise.
4384 (grub_efi_scsi_device_path): Likewise.
4385 (grub_efi_fibre_channel_device_path): Likewise.
4386 (grub_efi_1394_device_path): Likewise.
4387 (grub_efi_usb_device_path): Likewise.
4388 (grub_efi_usb_class_device_path): Likewise.
4389 (grub_efi_i2o_device_path): Likewise.
4390 (grub_efi_mac_address_device_path): Likewise.
4391 (grub_efi_ipv4_device_path): Likewise.
4392 (grub_efi_ipv6_device_path): Likewise.
4393 (grub_efi_infiniband_device_path): Likewise.
4394 (grub_efi_uart_device_path): Likewise.
4395 (grub_efi_vendor_messaging_device_path): Likewise.
4396 (grub_efi_hard_drive_device_path): Likewise.
4397 (grub_efi_cdrom_device_path): Likewise.
4398 (grub_efi_vendor_media_device_path): Likewise.
4399 (grub_efi_file_path_device_path): Likewise.
4400 (grub_efi_protocol_device_path): Likewise.
4401 (grub_efi_piwg_device_path): Likewise.
4402 (grub_efi_bios_device_path): Likewise.
4403
cb8f88ea
VS
44042011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4405
4406 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
4407 (grub_ucs4_to_utf8_alloc): Likewise.
4408 (grub_ucs4_to_utf8): Likewise.
4409 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
4410 (grub_ucs4_to_utf8_alloc): Likewise.
4411
309e5352
VS
44122011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
4413
4414 AFFS never uses unicode.
4415
4416 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
4417 (grub_latin1_to_utf8): New inline function.
4418 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
4419
e7987e1b
VS
44202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4421
4422 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
4423 overflow.
4424
efc2616e
VS
44252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4426
4427 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
4428 (grub_squash_dirent_header): Likewise.
4429 (read_chunk): Don't double swap.
4430 (grub_squash_iterate_dir): Fix swap sizes.
4431
3c349f5a
VS
44322011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4433
4434 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
4435
b453412d
VS
44362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4437
4438 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
4439 (grub_hfs_iterate_dir): Likewise.
4440
12e9d4d1
VS
44412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 Fix video on platforms where unaligned access is forbidden.
4444 Make several optimisations while on it.
4445
4446 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
4447 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4448 (grub_video_fbblit_replace_32bit_1bit): Likewise.
4449 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
4450 Disable.
4451 (grub_video_fbblit_replace_16bit_1bit):
4452 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4453 (grub_video_fbblit_replace_8bit_1bit): Likewise.
4454 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
4455 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
4456 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
4457 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
4458 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
4459 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
4460 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
4461 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
4462 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
4463 (grub_video_fbblit_replace_index_RGB888): Likewise.
4464 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
4465 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
4466 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
4467 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4468 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
4469 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
4470 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
4471 Disable.
4472 (grub_video_fbblit_blend_XXX565_1bit):
4473 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
4474 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
4475 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
4476 void *.
4477 * grub-core/video/fb/video_fb.c (common_blitter)
4478 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
4479 (grub_video_fb_create_render_target_from_pointer)
4480 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
4481 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
4482 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
4483 definition.
4484 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
4485
ace96609
VS
44862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4487
4488 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
4489 HH22 and HM10 relocations.
4490
fd261d73
VS
44912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4492
4493 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
4494
e59b7857
VS
44952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4496
4497 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
4498 allocation succeeded.
4499
9b4baaa4
VS
45002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4501
4502 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
4503 argument a u8 pointer. All users updated.
4504 Handle unaligned buffers.
4505
dc713193
VS
45062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4507
4508 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
4509 add_part to workaround compiler bug.
4510
30dd48c2
VS
45112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
4514
0c6087a8
VS
45152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4516
4517 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
4518 Reserve alignment invariants.
4519 (grub_multiboot_load): Likewise.
4520 (retrieve_video_parameters): Likewise.
4521 (grub_multiboot_make_mbi): Likewise.
4522
c2e77777
VS
45232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4524
4525 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
4526 incorrect pointer.
4527
b70b6d11
VS
45282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4529
4530 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
4531 (grub_pata_pio_write): Likewise.
4532
02a2bf83
VS
45332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4534
4535 Add noreturn attributes and remove unreachable code.
4536
4537 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
4538 code.
4539 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
4540 code. Mark as noreturn.
4541 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
4542 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
4543 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
4544 unreachable code.
4545 * grub-core/kern/main.c (grub_main): Mark as noreturn.
4546 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
4547 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
4548 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
4549 * include/grub/kernel.h (grub_main): Mark as noreturn.
4550 * include/grub/reader.h (grub_rescue_run): Likewise.
4551
2019d09e
VS
45522011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4553
4554 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
4555 redundant declaration.
4556
d1c501ee
VS
45572011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4558
4559 * include/grub/net.h (grub_net_network_level_interfaces): Remove
4560 redundant declaration.
4561 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
4562
61664420
VS
45632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4564
4565 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
4566 to ensure alignment.
4567 (grub_hdparm_print_identify): Make argument uint16 * to ensure
4568 alignment. Ensure tmp alignment.
4569 (grub_cmd_hdparm): Ensure buf alignment.
4570 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
4571 to ensure alignment.
4572 (grub_ata_dumpinfo): Ensure text alignment.
4573 (grub_atapi_identify): Preserve alignment invariant.
4574 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
4575
0d51ee20
VS
45762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4577
4578 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
4579 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
4580 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
4581 * include/grub/misc.h (grub_reboot)
4582 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
4583 (grub_halt) [__mips__]: Likewise.
4584
753ef8c1
VS
45852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4586
4587 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
4588 Remove redundant declaration.
4589 (grub_mmap_get_post64): Likewise.
4590 (grub_mmap_get_upper): Likewise.
4591 (grub_mmap_get_lower): Likewise.
4592
85c85365
VS
45932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4594
4595 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
4596 uint32_t * to ensure alignment.
4597 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
4598
a23f2cc4
VS
45992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4600
93018f64
VS
4601 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
4602 uint16_t * to ensure alignment.
4603 (sun_pc_partition_map_iterate): Make `block' a union to ensure
4604 alignment.
4605
46062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
4609 to ensure alignment.
4610 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
4611
58acccd6
VS
46122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4613
4614 * grub-core/fs/ntfs.c (u16at): Make into inline function.
4615 Handle unaligned pointers.
4616 (u32at): Likewise.
4617 (u64at): Likewise.
4618 (fixup): Use byte access instead of v16at.
4619 (find_attr): Fix imporper usage of v32at.
4620 (read_data): Likewise.
4621 (list_file): Handle byte-swapping and unaligned strings.
4622 (grub_ntfs_label): Likewise.
4623
9b05cad7
VS
46242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4625
4626 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
4627 as it's not necessarily aligned.
4628
b3950b84
VS
46292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4630
4631 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
4632 redundant declaration.
4633 (grub_serial_init): Likewise.
4634 (grub_terminfo_init): Likewise.
4635
fcd232b7
VS
46362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4637
4638 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
4639 function.
4640 (ZAP_HASH_IDX): Likewise.
4641 (ZAP_LEAF_HASH_SHIFT): Likewise.
4642 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
4643 (LEAF_HASH): Likewise.
4644 (ZAP_LEAF_NUMCHUNKS): Likewise.
4645 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
4646 alignment invariants. Return pointer. All users updated.
4647 (ZAP_LEAF_ENTRY): Make into inline function.
4648 (NBBY): Removed.
4649 (xor): LIkewise.
4650 (xor_out): Use grub_crypto_xor.
4651 (dnode_get_path): Use grub_get_unaligned.
4652 (nvlist_find_value): Likewise.
4653 (grub_zfs_nvlist_lookup_uint64): Likewise.
4654 (grub_zfs_nvlist_lookup_string): Likewise.
4655 (get_nvlist_size): Likewise.
4656 (grub_zfs_open): Likewise.
4657 (fill_fs_info): Likewise.
4658 (grub_zfs_dir): Likewise.
4659 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
4660 alignment invariants.
4661 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
4662 necessarily aligned.
4663
f138623a
VS
46642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4665
4666 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
4667
564840dc
VS
46682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
4671 arithmetic to conserve alignment invariants.
4672
9b40df20
VS
46732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4674
4675 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
4676 redundant declaration.
4677 (grub_efiemu_mm_obtain_request): Likewise.
4678 (grub_efiemu_prepare): Likewise.
4679
d1c930f9
VS
46802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4681
4682 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
4683 to match types.
4684
4c5f3056
VS
46852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4686
4687 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
4688 case of aunaligned recptr.
4689 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
4690 alignment.
4691 (grub_hfsplus_btree_search): Handle unaligned index.
4692
728cba91
VS
46932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
4696 to get freetag and skip.
4697
eb561f31
VS
46982011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4699
4700 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
4701 array.
4702 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
4703 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
4704
20993fbb
VS
47052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
4708 name for checksum and fix allocation algorithm.
4709
1f313b94
VS
47102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 * include/grub/types.h (grub_properly_aligned_t): New type.
4713 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
4714 (grub_get_unaligned16): Add explicit casts.
4715 (grub_get_unaligned32): Likewise.
4716 (grub_get_unaligned64): Likewise.
4717 (grub_set_unaligned16): New function.
4718 (grub_set_unaligned32): Likewise.
4719
47ae27ec
VS
47202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4721
4722 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
4723
78c2cd1c
VS
47242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4725
4726 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
4727 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
4728 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
4729
53072f9b
VS
47302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4731
4732 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
4733 conditionals.
4734
055dc239
VS
47352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4736
4737 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
4738 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
4739
496bd074
VS
47402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 Unify and improve RAID and crypto xor.
4743
4744 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
4745 changed to grub_crypto_xor
4746 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
4747 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
4748 Use bigger types when possible.
4749
ef6e4335
VS
47502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 * grub-core/disk/raid.c (scan_devices): Fix condition.
4753
5d048bf2
VS
47542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4755
4756 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
4757 Make name a const ptr.
4758
ee533335
VS
47592011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
4762 first argument a const pointer.
4763 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
4764 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
4765 proto.
4766 (grub_children_iterate): Likewise.
4767 (grub_machine_mmap_iterate): Remove redundant declaration.
4768
cc8f3668
VS
47692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4770
4771 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
4772 (grub_cmd_acpi) [!x86]: Disable EBDA.
4773
c5fc563a
VS
47742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4775
4776 Enable UTF8 in gnulib regexp.
4777
4778 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
4779 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
4780 (isupper): Use grub_isupper.
4781 (isascii): New inline function.
4782 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
4783 * grub-core/lib/posix_wrap/wctype.h: Likewise.
4784 * grub-core/normal/charset.c (grub_utf8_process): New function.
4785 (grub_utf8_to_utf16): Use grub_utf8_process.
4786 (grub_encode_utf8_character): New function.
4787 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
4788 * include/grub/charset.h (grub_utf8_process): New declaration.
4789 (grub_encode_utf8_character): Likewise.
4790 * include/grub/misc.h (grub_islower): New inline function.
4791 (grub_isupper): Likewise.
4792 (grub_strchrsub): Moved down to fix the definitions.
4793
0af2346f
VS
47942011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4795
4796 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
4797 specification.
4798
74dbd244
VS
47992011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4800
4801 * include/grub/loader.h (grub_loader_register_preboot_hook):
4802 Use struct preboot * and not void * for handle. All users updated.
4803 (grub_loader_unregister_preboot_hook): Likewise.
4804
1bc8f60d
VS
48052011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
4806
4807 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
4808 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
4809 UTF-16-BE. All users updated.
4810 (grub_hfsplus_cmp_catkey): Fix unicode handling.
4811 (grub_hfsplus_iterate_dir): Likewise.
4812 (grub_hfsplus_label): Likewise.
4813
48d6e456
VS
48142011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
4815
4816 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
4817
bf3a3857
VS
48182011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
4819
4820 Add missing const qualifiers.
4821
4822 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
4823 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
4824 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
4825 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
4826 (grub_lvm_check_flag): Likewise.
4827 * grub-core/efiemu/i386/coredetect.c
4828 (grub_efiemu_get_default_core_name): Likewise
4829 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
4830 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
4831 * grub-core/fs/ntfs.c (fixup): Likewise.
4832 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
4833 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
4834 (fzap_lookup): Likewise.
4835 (zap_lookup): Likewise.
4836 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
4837 * grub-core/lib/legacy_parse.c (check_option): Likewise.
4838 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
4839 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
4840 (grub_freebsd_add_meta_module): Likewise.
4841 (grub_cmd_freebsd_module): Likewise.
4842 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
4843 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
4844 (grub_xnu_writetree_get_size): Likewise.
4845 (grub_xnu_writetree_toheap_real): Likewise.
4846 (grub_xnu_find_key): Likewise.
4847 (grub_xnu_create_key): Likewise.
4848 (grub_xnu_create_value): Likewise.
4849 (grub_xnu_register_memory): Likewise.
4850 (grub_xnu_check_os_bundle_required): Likewise.
4851 (grub_xnu_scan_dir_for_kexts): Likewise.
4852 (grub_xnu_load_kext_from_dir): Likewise.
4853 * grub-core/normal/color.c (color_list): Likewise.
4854 * grub-core/normal/completion.c (current_word): Likewise.
4855 * grub-core/normal/menu_entry.c (insert_string): Likewise.
4856 * grub-core/term/serial.c (grub_serial_find): Likewise.
4857 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
4858 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
4859 Likewise.
4860 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
4861 (grub_freebsd_add_meta_module): Likewise.
4862 * include/grub/lib/arg.h (grub_arg_option): Likewise.
4863 * include/grub/net.h (grub_net_card_driver): Likewise.
4864 (grub_net_card): Likewise.
4865 (grub_net_app_protocol): Likewise.
4866 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
4867 * include/grub/serial.h (grub_serial_find): Likewise.
4868 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
4869 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
4870 (grub_xnu_create_value): Likewise.
4871 (grub_xnu_find_key): Likewise.
4872 (grub_xnu_scan_dir_for_kexts): Likewise.
4873 (grub_xnu_load_kext_from_dir): Likewise.
4874
4875 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
4876 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
4877 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
4878 Moved from here ...
4879 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
4880
112b4837
CW
48812011-11-28 Colin Watson <cjwatson@ubuntu.com>
4882
4883 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
4884
49e891ac
VS
48852011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
4886
4887 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
4888 (read_device): Fix size calculation.
4889
fd258e5c
RM
48902011-11-25 Robert Millan <rmh@gnu.org>
4891
4892 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
4893 (find_root_device_from_libzfs): Add zpool output parser to be used
4894 as fallback when libzfs isn't available.
4895
78845dc2
SG
48962011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
4897
4898 * po/Makefile.in.in: Add missing escape-continuation.
4899
adac5211
VS
49002011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
4903
10b64f1c
VS
49042011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4905
4906 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
4907
bb416954
VS
49082011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4909
4910 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
4911
bdfe9eeb
VS
49122011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4913
4914 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
4915
581ffa8a
VS
49162011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 * grub-core/lib/adler32.c: Add missing license specification.
4919 * grub-core/lib/crc64.c: Likewise.
4920 * grub-core/loader/i386/pc/plan9.c: Likewise.
4921 * grub-core/partmap/plan.c: Likewise.
4922
2536cf64
LK
49232011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
4924
4925 Add facility to debug GRUB with gdb under qemu.
4926
4927 * grub-core/gdb_grub.in: New file.
4928 * grub-core/gmodule.pl.in: Likewise.
4929 * grub-core/Makefile.core.def (gmodule.pl): New script.
4930 (gdb_grub): Likewise.
4931
bc108a4a
VS
49322011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4933
4934 * util/grub-mount.c (argp_parser): Accept relative pathes.
4935 * util/grub-fstest.c (argp_parser): Likewise.
4936
111c1778
VS
49372011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4938
4939 Plan9 support.
4940
4941 * Makefile.util.def (libgrubmods): Add
4942 grub-core/partmap/plan.c.
4943 * docs/grub.texi: Notice Plan9 support.
4944 * grub-core/Makefile.core.def (plan9): New module.
4945 (part_plan): Likewise.
4946 * grub-core/loader/i386/pc/plan9.c: New file.
4947 * grub-core/partmap/plan.c: Likewise.
4948 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
4949 define.
4950 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
4951 * include/grub/mm.h (grub_extend_alloc): New inline function.
4952
c30be3b6
VS
49532011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 Make Reed-Solomon faster by using power of generator representation of
4956 GF(256)*.
4957
4958 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
4959 (gf_double_t): Likewise.
4960 (gf_invert): Removed.
4961 (gf_powx): New array.
4962 (gf_powx_inv): Likewise.
4963 (scratch): Move higher.
4964 (gf_reduce): Removed.
4965 (gf_mul): Use powx.
4966 (gf_invert): Likewise.
4967 (init_inverts): Replaced with ...
4968 (init_powx): ...this. All users updated.
4969 (pol_evaluate): Replace multiplications with additions.
4970 (rs_encode): Likewise.
4971 (gauss_eliminate): Call gf_invert.
4972 (grub_reed_solomon_add_redundancy): Call init_powx.
4973 (grub_reed_solomon_recover): Call init_powx unconditionally.
4974
fa5aeffc
VS
49752011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4976
4977 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
4978
a346b81c
VS
49792011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4980
4981 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
4982 disk->partiton for safety.
4983
d89ee414
VS
49842011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4985
4986 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
4987 Fix a memory leak.
4988 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
4989
91ee7b6d
VS
49902011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4991
4992 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
4993
91e5a33d
VS
49942011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4995
4996 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
4997
9edd7be2
VS
49982011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4999
5000 Fix spaces handling in proc/self/mountinfo.
5001
5002 * util/getroot.c (unescape): New function.
5003 (grub_find_root_device_from_mountinfo): Use unescape.
5004
ba102053
VS
50052011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 Support ZFS embedding.
5008
5009 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
5010 (grub_zfs_fs): Register grub_zfs_embed.
5011
aa94b870
VS
50122011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5013
5014 Fix MIPS compilation.
5015
5016 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
5017 * include/grub/offsets.h: Rename decompressor fields from
5018 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
5019 * util/grub-mkimage.c (image_targets): Use new names.
5020
5fbdac14
VS
50212011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5022
5023 Defer multiboot device parsing until we're in compressed part.
5024
5025 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
5026 bsd_part. setdevice has fallen into disuse.
5027 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
5028 (bsd_part): Likewise.
5029 (boot_dev): New variable.
5030 (multiboot_trampoline): Don't parse multiboot device.
5031 Pass multiboot device in %edx.
5032 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
5033 grub_boot_device.
5034 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
5035 Likewise.
5036 * grub-core/kern/i386/pc/startup.S: Save edx.
5037 (grub_boot_drive): Removed.
5038 (grub_install_dos_part): Likewise.
5039 (grub_install_bsd_part): Likewise.
5040 (grub_boot_device): New variable.
5041 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
5042 (grub_install_bsd_part): Likewise.
5043 (grub_boot_drive): Likewise.
5044 (grub_boot_device): New variable.
5045 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
5046 Removed.
5047 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
5048 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
5049 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
5050 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
5051 * util/grub-install.in: Remove redundant condition.
5052
691cbb58
VS
50532011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5054
5055 Fix bug introduced by previous commit.
5056
5057 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
5058
60240b8b
VS
50592011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5060
5061 Use decompressors framework on i386-pc. It increases core size
5062 by 46 bytes but improves compatibility and maintainability.
5063
5064 * grub-core/Makefile.core.def (lzma_decompress): New image.
5065 (kernel): Add i386_pc_ldflags.
5066 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
5067 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
5068 to real_to_prot, prot_to_real and device info.
5069 * include/grub/offsets.h: Renamed decompressor offsets.
5070 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
5071 (image_target_desc): Remove raw_size and rename decompressor fields.
5072 (compress_kernel): Handle lzma.
5073 (generate_image): Handle decompressors on i386-pc.
5074
e9d3421c
VS
50752011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5076
5077 * configure.ac: Add -fno-asynchronous-unwind-tables.
5078
2b23074a
VS
50792011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5080
5081 Move assembly code to C by using intwrap. It increases core size
5082 by 88 bytes but improves compatibility and maintainability.
5083
5084 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
5085 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
5086 ... here. Translated to C.
5087 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
5088 * grub-core/term/i386/pc/console.c (grub_console_getkey):
5089 ... here. Translated to C.
5090 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
5091 * grub-core/term/i386/pc/console.c (grub_console_getxy):
5092 ... here. Translated to C.
5093 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
5094 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
5095 ... here. Translated to C.
5096 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
5097 * grub-core/term/i386/pc/console.c (grub_console_cls):
5098 ... here. Translated to C.
5099 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
5100 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
5101 ... here. Translated to C.
5102 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
5103 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
5104 Translated to C.
5105 * grub-core/term/i386/pc/console.c (int10_9): New function.
5106 (grub_console_putchar): Likewise.
5107 * include/grub/i386/pc/console.h: Removed the not anymore shared
5108 functions.
5109
678f4b67
VS
51102011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5111
5112 Move grub_chainloader_real_boot out of the kernel.
5113
5114 * grub-core/Makefile.am: Remove machine/loader.h.
5115 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
5116 Removed.
5117 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
5118 variable.
5119 (grub_relocator16_keep_a20_enabled): Likewise.
5120 (grub_relocator16_boot): Fill new variables.
5121 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
5122 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
5123 relocator.
5124 (grub_chainloader_unload): Likewise.
5125 (grub_chainloader_cmd): Likewise.
5126 * include/grub/i386/pc/loader.h: Removed.
5127 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
5128 and esi. All initialisers updated.
5129
4626edf6
VS
51302011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
51312011-11-12 Colin Watson <cjwatson@ubuntu.com>
5132
5133 * Makefile.util.def (grub-mount): New util.
5134 * .bzrignore: Add grub-mount.
5135 * configure.ac: Check for fuse and enable grub-mount if available.
5136 * docs/man/grub-mount.h2m: New file.
5137 * util/grub-mount.c: Likewise.
5138
10f0117b
VS
51392011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 * grub-core/commands/efi/fixvideo.c: Gettextize.
5142 * grub-core/commands/hashsum.c: Likewise.
5143 * grub-core/commands/i386/cmostest.c: Likewise.
5144 * grub-core/commands/i386/pc/drivemap.c: Likewise.
5145 * grub-core/commands/i386/pc/lsapm.c: Likewise.
5146 * grub-core/commands/i386/pc/sendkey.c: Likewise.
5147 * grub-core/commands/lsmmap.c: Likewise.
5148 * grub-core/commands/menuentry.c: Likewise.
5149 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
5150 * grub-core/commands/setpci.c: Likewise.
5151 * grub-core/loader/i386/bsd.c: Likewise.
5152 * grub-core/loader/i386/linux.c: Likewise.
5153 * util/getroot.c: Likewise.
5154 * util/grub-editenv.c: Likewise.
5155 * util/grub-fstest.c: Likewise.
5156 * util/grub-mkfont.c: Likewise.
5157 * util/grub-mkimage.c: Likewise.
5158 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5159 * util/grub-pe2elf.c: Likewise.
5160 * util/grub-probe.c: Likewise.
5161 * util/grub-setup.c: Likewise.
5162 * util/ieee1275/ofpath.c: Likewise.
5163 * util/misc.c: Likewise.
5164 * util/raid.c: Likewise.
5165
566f779b
RM
51662011-11-11 Robert Millan <rmh@gnu.org>
5167
5168 * util/getroot.c (grub_util_get_geom_abstraction): Remove
5169 __attribute__((unused)) from `os_dev', which *is* being used.
5170
b50787de
VS
51712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5172
5173 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
5174 forgotten define.
5175 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
5176 GRUB_IA64_DL_GOT_ALIGN.
5177 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
5178 GRUB_IA64_DL_TRAMP_ALIGN.
5179
119d11c8
VS
51802011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5181
5182 Replace grub_fatal with normal errors in i386 linux loader.
5183
5184 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
5185 (allocate_pages): Check find_efi_mmap_size return value.
5186 (grub_e820_add_region): Return error.
5187 (grub_linux_boot): Check mmap return value.
5188
6e0632e2
VS
51892011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 * grub-core/commands/acpihalt.c: Gettextized.
5192 * grub-core/commands/cacheinfo.c: Likewise.
5193 * grub-core/commands/cmp.c: Likewise.
5194 * grub-core/commands/efi/loadbios.c: Likewise.
5195 * grub-core/commands/gptsync.c: Likewise.
5196 * grub-core/commands/ieee1275/suspend.c: Likewise.
5197 * grub-core/commands/legacycfg.c: Likewise.
5198 * grub-core/commands/memrw.c: Likewise.
5199 * grub-core/commands/minicmd.c: Likewise.
5200 * grub-core/commands/parttool.c: Likewise.
5201 * grub-core/commands/time.c: Likewise.
5202 * grub-core/commands/videoinfo.c: Likewise.
5203 * grub-core/disk/geli.c: Likewise.
5204 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
5205 * grub-core/disk/luks.c: Likewise.
5206 * grub-core/disk/lvm.c: Likewise.
5207 * grub-core/font/font_cmd.c: Likewise.
5208 * grub-core/fs/zfs/zfscrypt.c: Likewise.
5209 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5210 * grub-core/gfxmenu/view.c: Likewise.
5211 * grub-core/kern/emu/hostdisk.c: Likewise.
5212 * grub-core/kern/emu/main.c: Likewise.
5213 * grub-core/kern/emu/misc.c: Likewise.
5214 * grub-core/kern/emu/mm.c: Likewise.
5215 * grub-core/kern/mips/arc/init.c: Likewise.
5216 * grub-core/kern/mips/loongson/init.c: Likewise.
5217 * grub-core/kern/partition.c: Likewise.
5218 * grub-core/lib/i386/halt.c: Likewise.
5219 * grub-core/lib/mips/arc/reboot.c: Likewise.
5220 * grub-core/lib/mips/loongson/reboot.c: Likewise.
5221 * grub-core/loader/i386/pc/chainloader.c: Likewise.
5222 * grub-core/loader/i386/xnu.c: Likewise.
5223 * grub-core/loader/multiboot.c: Likewise.
5224 * grub-core/net/bootp.c: Likewise.
5225 * grub-core/net/net.c: Likewise.
5226 * grub-core/normal/term.c: Likewise.
5227 * grub-core/partmap/bsdlabel.c: Likewise.
5228 * grub-core/parttool/msdospart.c: Likewise.
5229 * grub-core/term/gfxterm.c: Likewise.
5230 * grub-core/term/terminfo.c: Likewise.
5231 * grub-core/video/i386/pc/vbe.c: Likewise.
5232 * util/grub-menulst2cfg.c: Likewise.
5233 * util/grub-mkdevicemap.c: Likewise.
5234 * util/grub-mklayout.c: Likewise.
5235 * util/grub-mkrelpath.c: Likewise.
5236 * util/grub-script-check.c: Likewise.
5237 * util/ieee1275/grub-ofpathname.c: Likewise.
5238 * util/resolve.c: Likewise.
5239
073aa7a9
VS
52402011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5241
5242 Support %1$d syntax.
5243
5244 * tests/printf_unit_test.c: New file.
5245 * Makefile.util.def (printf_test): New test.
5246 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
5247
c76b5417
VS
52482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5249
5250 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
5251 fix.
5252
df067ad1
VS
52532011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5254
5255 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
5256 dprintf.
5257 * grub-core/font/font.c (grub_font_load): Likewise.
5258
5b289bc5
VS
52592011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5260
5261 * util/grub-macho2img.c: Add comment concerning gettext.
5262 * grub-core/lib/legacy_parse.c: Likewise.
5263
c1860f87
VS
52642011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5265
5266 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
5267 (grub_xvasprintf): Likewise.
5268
d35d0d37
VS
52692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5270
5271 Add const keyword to grub_env_get and gettextize week days.
5272
5273 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
5274 (grub_read_hook_datetime): Return const char *.
5275 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
5276 updated.
5277 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
5278 Mark for gettext.
5279 (grub_get_weekday_name): Return const char *. Call gettext.
5280 * grub-core/script/argv.c (grub_script_argv_append): Receive const
5281 char * and len as the argument. All users updated.
5282 (grub_script_argv_split_append): Receive const char *.
5283 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
5284 * include/grub/env.h (grub_env_get): Likewise.
5285 (grub_env_read_hook_t): Return const char *.
5286 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
5287 (grub_script_argv_split_append): Likewise.
5288
9aed8a71
VS
52892011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
5292
067fdf00
VS
52932011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5294
5295 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
5296 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
5297
a8bd9d39
VS
52982011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
5301 Fix prototype.
5302
f7ce5baf
VS
53032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5304
5305 Fix mips compilation.
5306
5307 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
5308 normal decoder.
5309 (hashes): Use in embed decoder as well (for sizes).
5310 (dec_stream_header): Fix embed decompressor logic.
5311 (dec_stream_footer): Likewise.
5312
9bb182f3
VS
53132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5314
5315 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
5316 an error and not a fatal on unrecognised relocation types.
5317
63a9e6f6
VS
53182011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5319
5320 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
5321 Issue error rather than printf on unknown arguments.
5322
4c458569
VS
53232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5324
5325 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
5326 Make buf a const.
5327
e2d22baf
VS
53282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
5331 Fix module name.
5332
53dc8590
VS
53332011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5334
5335 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
5336 leftover debug printf.
5337
6c189294
VS
53382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
5341
f7688369
VS
53422011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
5345 A stylistic fix.
5346
11a775a3
VS
53472011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
5350
33f784e8
SL
53512011-11-10 Shea Levy <slevy@tieronedesign.com>
5352
5353 Allow all modules to perform serial IO
5354
5355 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
5356 * include/grub/serial.h (grub_serial_port_configure): New inline
5357 function.
5358 (grub_serial_port_fetch): Likewise.
5359 (grub_serial_port_put): Likewise.
5360 (grub_serial_port_fini): Likewise.
5361 (grub_serial_find): New proto.
5362
f6276525
VS
53632011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5364
5365 Put symlink at the end of the node and fix a potential
5366 memory corruption.
5367
5368 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
5369 Make symlink into an array.
5370 (set_rockridge): Set have_symlink and alloc_dirents.
5371 (grub_iso9660_read_symlink): Use new layout.
5372 (grub_iso9660_iterate_dir): Fix memory corruption.
5373 Use new layout.
5374 (grub_iso9660_dir): Set have_symlink.
5375 (grub_iso9660_open): Likewise.
5376
c3591189
VS
53772011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 Remove local keyword.
5380
5381 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
5382 (version_test_gt): Likewise.
5383 (version_find_latest): Likewise.
5384 (gettext_printf): Likewise.
5385 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
5386
cb544caa
VS
53872011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5388
5389 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
5390
45bd824d
VS
53912011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5392
5393 Fix ZFS memory and resource leaks.
5394
5395 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
5396 All users updated.
5397 Free type on exit.
5398 (fill_vdev_info): New parameter inserted. All users updated.
5399 (check_pool_label): Likewise.
5400 (scan_disk): Likewise.
5401 (scan_devices): Close non-inserted disks.
5402 (fzap_iterate): Free l.
5403 (unmount_device): Free children descripto memory.
5404
ad9a2f44
VS
54052011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5406
5407 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
5408 argument (access out of bounds).
5409
6b68db81
VS
54102011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5411
5412 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
5413 >= 6 drives.
5414
28840fda
VS
54152011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
5416
5417 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
5418 Fix declaration.
5419
8a5a3a5b
VS
54202011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5421
5422 Fix several memory leaks.
5423
5424 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
5425 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
5426 (grub_cpio_dir): Likewise.
5427 * grub-core/fs/fat.c (grub_fat_label): Likewise.
5428 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
5429 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
5430 (grub_romfs_label): Likewise.
5431 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
5432 (squash_unmount): New function.
5433 (grub_squash_dir): Fix memory leak.
5434 (grub_squash_open): Likewise.
5435 (grub_squash_read): Likewise.
5436 (grub_squash_mtime): Likewise.
5437 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
5438 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
5439 * util/grub-fstest.c (fstest): Likewise.
5440
57b01250
VS
54412011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5442
5443 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
5444 avoid accessing beyond the array.
5445
19e81ba7
VS
54462011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5447
5448 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
5449
52b656c0
VS
54502011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5451
5452 Several AFFS fixes.
5453
5454 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
5455 (GRUB_AFFS_FLAG_FFS): Removed.
5456 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
5457 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
5458 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
5459 (grub_fshelp_node): Make block 32-bit.
5460 Add block_cache and last_block_cache.
5461 (grub_affs_read_block): Fill and use block cache.
5462 (grub_affs_read_file): Removed.
5463 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
5464 boot block.
5465 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
5466 safety.
5467 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
5468 space.
5469 (grub_affs_close): Free block cache.
5470 (grub_affs_read): Use grub_fshelp_read_file directly.
5471
438a746a
VS
54722011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5473
5474 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
5475 with no error set.
5476
49a45021
VS
54772011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5478
5479 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
5480 used variable.
5481 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
5482 Likewise.
5483
3ae17eb8
VS
54842011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5485
5486 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
5487
5488 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
5489 byteswap when needed.
5490
27610c38
VS
54912011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5492
5493 Fix FreeBSD compilation.
5494
5495 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
5496 to avoid circular dependency.
5497 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
5498 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
5499 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
5500
4a19b601
VS
55012011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5502
5503 Fix ZFS crypto error types.
5504
5505 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
5506 (grub_gcm_decrypt): Likewise.
5507 (grub_zfs_load_key_real): Fix error code type. Handle possible error
5508 from PBKDF2.
5509
958ee221
VS
55102011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5511
5512 Illumos support.
5513
5514 * Makefile.util.def (10_illumos): New script.
5515 * configure.ac: Set COND_HOST_ILLUMOS.
5516 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
5517 Support Illumos calls.
5518 (find_partition_start) [__sun__]: Likewise.
5519 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
5520 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
5521 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
5522 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
5523 device.
5524 * util/grub-probe.c (probe) [__sun__]: Do character check.
5525 * util/grub.d/10_illumos.in: New file.
5526
cac14fb6
VS
55272011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5528
5529 Support escaped commas in hostdisk.
5530
5531 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
5532 (find_grub_drive): Use unescape_cmp.
5533 (make_device_name): Escape commas.
5534
78e08dc3
VS
55352011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5536
5537 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
5538
9f421dd1
VS
55392011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5540
5541 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
5542 variable.
5543
ed64e9e2
VS
55442011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
5545
5546 Support trampoline jumps on powerpc.
5547
5548 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
5549 __ia64__ path.
5550 (grub_dl_load_segments): Set mod->sz.
5551 (grub_dl_flush_cache): Flush whole space occupied by module, not just
5552 segments.
5553 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
5554 (jump): Likewise.
5555 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
5556 function.
5557 (trampoline): New struct.
5558 (trampoline_template): New const.
5559 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
5560 * include/grub/dl.h (grub_dl): Add sz element.
5561 [__powerpc__]: Follow __ia64__.
5562 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
5563 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
5564 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
5565 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
5566
3084ede4
VS
55672011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5568
5569 ZFS crypto support.
5570
5571 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
5572 * grub-core/Makefile.core.def (zfscrypt): New module.
5573 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
5574 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
5575 it. All users updated.
5576 (grub_zfs_decrypt): New var.
5577 (grub_zfs_load_key): Likewise.
5578 (zio_checksum_functions): Add SHA256+MAC.
5579 (zio_checksum_verify): Handle incomplete comparison due to MAC.
5580 (zio_read): Handle encrypted blocks.
5581 (zap_verify): Remove incorrect check.
5582 (fzap_iterate): Handle non-standard fzap.
5583 (zap_iterate): Likewise.
5584 (zap_iterate_u64): New function.
5585 (dnode_get_fullpath): Load keys.
5586 * grub-core/fs/zfs/zfscrypt.c: New file.
5587 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
5588 (grub_crypto_ecb_encrypt): Make input const.
5589 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
5590 (grub_crypto_ecb_encrypt): Make input const.
5591 (GRUB_CIPHER_AES): New macro.
5592 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
5593 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
5594 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
5595 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
5596 prefix. All users updated.
5597 (grub_zfs_add_key): New proto.
5598 (grub_zfs_decrypt): Likewise.
5599 (grub_zfs_load_key): Likewise.
5600 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
5601 * util/grub-fstest.c (options): Add -K option.
5602 (argp_parser): Likewise.
5603
b632b404
VS
56042011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5605
5606 Support zle compression on ZFS.
5607
5608 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
5609 (decomp_table): Add zle.
5610 * include/grub/zfs/zio.h (zio_compress): Add zle.
5611
c7ba4f69
VS
56122011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5613
5614 Support BtrFS embedding.
5615
5616 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
5617 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
5618 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
5619 * util/grub-setup.c (setup): Use fs embedding if available.
5620 Add additional sanity check.
5621
455377d9
VS
56222011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
5623
5624 * util/grub-install.in: Fix condition for config_opt.
5625
c2fd16ca
VS
56262011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5627
5628 Support third redundancy strip on raidz3.
5629
5630 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
5631 Return error on singularity. All users updated.
5632 (read_device): Don't stop on 3rd failure on raidz3.
5633
8622923b
VS
56342011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5635
5636 Support case-insensitive ZFS subvolumes.
5637
5638 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
5639 All users updated.
5640 (zap_hash): Likewise.
5641 (name_cmp): New function.
5642 (zap_leaf_array_equal): New parameter case_insensitive.
5643 All users updated.
5644 (zap_leaf_lookup): Likewise.
5645 (fzap_lookup): Likewise.
5646 (zap_lookup): Likewise.
5647 (dnode_get_path): New parameter case_insensitive. Retrieve case
5648 sensitiviness of a volume. All users updated.
5649 (dnode_get_fullpath): New parameter case_insensitive.
5650 All users updated.
5651 (grub_zfs_dir): Set info.case_insensitiveness.
5652
95f2e860
VS
56532011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5654
5655 Support second redundancy strip on raidz(2,3).
5656
5657 * grub-core/fs/zfs/zfs.c (powx): New array.
5658 (powx_inv): Likewise.
5659 (poly): New const.
5660 (xor_out): New function.
5661 (gf_mul): Likewise.
5662 (recovery): Likewise.
5663 (read_device): Use second redundancy strip.
5664
11ee4389
VS
56652011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5666
5667 Use a power of generator representation of GF(256) multiplication group
5668 to save space time and complexity.
5669
5670 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
5671 (raid6_table2): Likewise.
5672 (powx): New array.
5673 (powx_inv): Likewise.
5674 (poly): New const.
5675 (grub_raid_block_mul): Replace with ...
5676 (grub_raid_block_mulx): ...this.
5677 (grub_raid6_init_table): Rewritten.
5678 (grub_raid6_recover): Use power of generator representation.
5679
09e2763f
VS
56802011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5681
5682 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
5683 for the right device.
5684
8bec9a28
VS
56852011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5686
5687 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
5688 expected by grub-mkimage and it's more clear since there is no implicit
5689 padding.
5690
dbd3a32e
VS
56912011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
5692
5693 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
5694 disk.
5695 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
5696
182c872a
PMH
56972011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
5698
5699 * util/grub-mkrescue.in: Fix handling xorriso option.
5700
1e51cabd
VS
57012011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5702
5703 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
5704 NULL.
5705
9cc3581d 57062011-11-03 crocket <crockabiscuit@gmail.com>
5707
5708 * util/grub.d/10_linux.in: Add Slackware initrd naming.
5709
158dc1ea
VS
57102011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 XZ CRC64 and SHA256 support.
5713
5714 * Makefile.util.def (libgrubmods): Add crc64.c.
5715 * grub-core/Makefile.core.def (crc64): New module.
5716 * grub-core/lib/crc64.c: New file.
5717 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
5718 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
5719 Fix the type.
5720 (MAX_HASH_SIZE): New define.
5721 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
5722 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
5723 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
5724 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
5725 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
5726 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
5727 Handle non-crc32 hashes.
5728 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
5729 (dec_stream_header): Handle non-crc32 hashes.
5730 (dec_stream_footer): Likewise.
5731 (dec_block_header): Likewise.
5732 (dec_main): Likewise.
5733 (xz_dec_init): Likewise.
5734 (xz_dec_reset): Likewise.
5735 (xz_dec_end): Likewise.
5736 * util/import_gcry.py: Add CRC64 line.
5737
9d9b3d2f
VS
57382011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5739
5740 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
5741 as well.
5742
7d0ac931
VS
57432011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5744
5745 Make reiserfs label retrieval similar to other *_label functions.
5746
5747 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
5748 (REISERFS_MAX_LABEL_LENGTH): Removed.
5749 (REISERFS_LABEL_OFFSET): Likewise.
5750 (grub_reiserfs_label): Rewritten.
5751
57522011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5753
5754 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
5755 field.
5756
cf5ba824
VS
57572011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
5758
5759 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
5760
17744004
VS
57612011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
5762
5763 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
5764 drive failure on both raidz and raidz2.
5765
aca5aefc
VS
57662011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
5767
5768 Fix RAIDZ(2) for >= 5 devices.
5769
5770 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
5771 asize argument. All users updated.
5772
ce8ca56e
VS
57732011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5774
5775 Fix RAIDZ(2).
5776
5777 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
5778 (fill_vdev_info_real): Set ashift.
5779 (read_device): Rewrite RAIDZ part based on reverse engineering.
5780
7c01e783
VS
57812011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5782
5783 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
5784 don't report potentially unavialiable fields in debug output.
5785 (find_path): Fix double-free and memory leak.
5786
ce109e84
VS
57872011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 Read label on UFS1.
5790
5791 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
5792 (grub_ufs_fs): Always set .label.
5793
87661123
VS
57942011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5795
5796 Use shifts in UFS.
5797
5798 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
5799 (grub_ufs_data): New field log2_blksz.
5800 (grub_ufs_read_file): Use shifts.
5801 (grub_ufs_mount): Check block size and logarithm it.
5802
46bc1dc2
VS
58032011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
5804
5805 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
5806 long symlinks.
5807
19ee2987
VS
58082011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5809
5810 Handle symlinks and long names on tar and cpio.
5811
5812 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
5813 (ATTR_FILE): Likewise.
5814 (ATTR_DIR): Likewise.
5815 (ATTR_LNK): Likewise.
5816 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
5817 (grub_cpio_find_file): Fill mode, handle linkname field as well as
5818 L and K entries.
5819 (grub_cpio_mount): Zero-fill data.
5820 (handle_symlink): New function.
46bc1dc2
VS
5821 (grub_cpio_dir): Handle symlinks.
5822 (grub_cpio_open): Likewise.
5823 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 5824
c83a08d8
VS
58252011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 Fix iso9660 filename limitations and fix memory leaks.
5828
5829 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
5830 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
5831
45cdd3ea
VS
58322011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5833
5834 Fix JFS file name length limitations.
5835
5836 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
5837 (grub_jfs_diropen): Fix maximum filename length.
5838 (grub_jfs_getent): Fix filename length.
5839 (grub_jfs_lookup_symlink): Fix size checks.
5840
94ef05c2
VS
58412011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5842
5843 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
5844 string.
5845
785ab8c7
VS
58462011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5847
eb0b6b45
VS
5848 Leverage BFS implementation to read AFS.
5849
5850 * Makefile.util.def (libgrubmods): Add afs.c.
5851 * grub-core/Makefile.core.def (afs): New module
5852 * grub-core/fs/afs.c: New file.
5853 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
5854
58552011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5856
5857 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 5858
c4a1628f
VS
58592011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5860
5861 * grub-core/fs/bfs.c: Run indent.
5862
5825b379
VS
58632011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5864
5865 BFS implementation based on the specification.
5866
5867 * grub-core/fs/bfs.c: New file.
5868 * Makefile.util.def (libgrubmods): Add bfs.c.
5869 * grub-core/Makefile.core.def (bfs): New module.
5870
42b2a706
VS
58712011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
5872
5873 * util/grub-fstest.c (cmd_cp): Clarify error message.
5874 (cmd_cmp): Likewise.
5875
61b99bfc
YB
58762011-10-30 Yves Blusseau <blusseau@zetam.org>
5877
5878 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
5879 and befs_be.
5880
faba3d16
VS
58812011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
5882
5883 Remove afs and befs because of copyright problem.
5884
5885 * grub-core/fs/afs.c: Removed.
5886 * grub-core/fs/afs_be.c: Removed.
5887 * grub-core/fs/befs.c: Removed.
5888 * grub-core/fs/befs_be.c: Removed.
5889 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
5890 * grub-core/Makefile.core.def (afs): Removed.
5891 (afs_be): Likewise.
5892 (befs): Likewise.
5893 (befs_be): Likewise.
5894
c39224b0
VS
58952011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5896
5897 Prefer rockridge over Joliet.
5898
5899 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
5900 to ...
5901 (set_rockridge): ... here.
5902 (grub_iso9660_mount): Check rockridge on the primary label when
5903 discovering. Ignore Joliet if Rockridge is present.
5904
e551115a
VS
59052011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5906
5907 Use shifts in nilfs2.
5908
5909 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
5910 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
5911 (grub_nilfs2_palloc_entries_per_group): Replace with ...
5912 (grub_nilfs2_log_palloc_entries_per_group): ... this.
5913 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
5914 (grub_nilfs2_entries_per_block): Replaced with ...
5915 (grub_nilfs2_log_entries_per_block_log): ... this.
5916 (grub_nilfs2_blocks_per_group): Replaced with ...
5917 (grub_nilfs2_blocks_per_group_log): ... this.
5918 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
5919 (grub_nilfs2_blocks_per_desc_block_log): ... this.
5920 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
5921 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
5922 (grub_nilfs2_palloc_entry_offset): Replaced ...
5923 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
5924 (grub_nilfs2_dat_translate): Use shifts.
5925 (grub_nilfs2_read_inode): Likewise.
5926 (GRUB_MOD_INIT): Ensure that logs are correct.
5927
564dd58c
VS
59282011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5929
5930 Use shifts in minix filesystem.
5931
5932 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
5933 (GRUB_MINIX_ZONE2SECT): Likewise.
5934 (grub_minix_data): Replace block_size with log_block_size.
5935 (grub_minix_read_file): Use shifts.
5936 (grub_minix_mount): Check block size and take a logarithm.
5937
ed9ba06d
VS
59382011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 Use shifts in squash4.
5941
5942 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
5943 (squash_mount): Check block size and take logarithm.
5944 (direct_read): Use shifts.
5945
ad03fe76
VS
59462011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5947
5948 Correct befs block counting logic.
5949
5950 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
5951 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
5952 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
5953 (grub_afs_read_inode): Use block_shift.
5954 (RANGE_SHIFT): New definition.
5955 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
5956 unexpected conditions, use shifts and appropriate types.
5957 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
5958
6563f63d
VS
59592011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
5960
5961 * grub-core/disk/raid.c (scan_devices): Check partition.
5962 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
5963
5b1ae25f
VS
59642011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
5965
5966 Support BFS (befs) UUID.
5967
5968 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
5969 (grub_afs_small_data_element_header): New struct.
5970 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
5971 (grub_afs_read_attribute) [MODE_BFS]: New function.
5972 (grub_afs_iterate_dir): Allocate for complete inode.
5973 (grub_afs_mount): Likewise.
5974 (grub_afs_uuid) [MODE_BFS]: New function.
5975 (grub_afs_fs) [MODE_BFS]: Add .uuid.
5976
f8d82408
VS
59772011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
5978
5979 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
5980 (zfs_unmount): Fix memory leak.
5981
5773fb64
VS
59822011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5983
5984 Support NTFS reparse points.
5985
5986 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
5987 (symlink_descriptor): New struct.
5988 (grub_ntfs_read_symlink): New function.
5989 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
5990 (grub_ntfs_open): Likewise.
5991
91c3fdde
VS
59922011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5993
5994 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
5995
3be82e10
VS
59962011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5997
5998 fstest xnu_uuid subcommand.
5999
6000 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
6001 grub-core/commands/xnu_uuid.c.
6002 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
6003 (fstest): Handle xnu_uuid.
6004 (options): Document xnu_uuid.
6005 (argp_parser): Parse xnu_uuid.
6006
8e32442e
VS
60072011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6008
6009 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
6010 -l argument. Add newline at the end if printing.
6011 (GRUB_MOD_INIT): Document -l.
6012
52a05075
VS
60132011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
6016
1869edb5
VS
60172011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6018
6019 ZFS multi-device and version 33 support.
6020
6021 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
6022 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
6023 (grub_zfs_data): Add multidev-ice-related fields.
6024 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
6025 (dva_get_offset): Make dva const.
6026 (zfs_fetch_nvlist): New function.
6027 (fill_vdev_info_real): Likewise.
6028 (fill_vdev_info): Likewise.
6029 (check_pool_label): Likewise.
6030 (scan_disk): Likewise.
6031 (scan_devices): Likewise.
6032 (read_device): Likewise.
6033 (read_dva): Likewise.
6034 (zio_read_gang): Use read_dva.
6035 (zio_read_data): Likewise.
6036 (zap_leaf_lookup): Add missing endian conversion.
6037 (zap_verify): Add missing endian conversion. All users updated.
6038 (fzap_lookup): Likewise.
6039 (fzap_iterate): Likewise.
6040 (dnode_get_path): Handle SA bonus.
6041 (nvlist_find_value): Make input const. All users updated.
6042 (unmount_device): New function.
6043 (zfs_unmount): Use unmount_device.
6044 (zfs_mount): Use scan_disk.
6045 (zfs_mtime): New function.
6046 (grub_zfs_open): Handle system attributes.
6047 (fill_fs_info): Likewise.
6048 (grub_zfs_dir): Likewise.
6049 (grub_zfs_fs): Add mtime.
6050 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
6051 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
6052 (SA_MTIME_OFFSET): Likewise.
6053 (SA_SYMLINK_OFFSET): Likewise.
6054 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
6055 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
6056 (fstest): Support zfsinfo.
6057 (argp_parser): Likewise.
6058
186b4028
VS
60592011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6060
6061 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
6062 error.
6063
60642011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
6065
6066 ZFS fixes.
6067
6068 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
6069 sharing the same block. Iterate over correct number of indices.
6070 (dnode_get_path): Handle symlinks correctly.
6071
c0584900
VS
60722011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6073
6074 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
6075
67e2bd71
VS
60762011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6077
6078 Read label on HFS+.
6079
6080 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
6081 (grub_hfsplus_btree_search): Fix types.
6082 (grub_hfsplus_label): Implement.
6083
e9cc6b7b
VS
60842011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6085
6086 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
6087
19832ddb
VS
60882011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6089
6090 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
6091
66b40850
VS
60922011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6093
6094 Fix symlink handling on iso9660.
6095
6096 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
6097 All users updated.
6098 (grub_iso9660_susp_iterate): Accept zero-size iterate.
6099 (grub_iso9660_read_symlink): Moved most of code ...
6100 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
6101
db821363
VS
61022011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6103
6104 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
6105 Use union to avoid breaking strict-aliasing rules.
6106
e1211949
VS
61072011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6108
6109 Support multi-extent iso files.
6110
6111 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
6112 Add node.
6113 (grub_fshelp_node): Revamp. All users updated.
6114 (FLAG_*): New enum.
6115 (read_node): New function.
6116 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
6117 All users updated.
6118 (grub_iso9660_mount): Don't attempt to read sua when there is none.
6119 (get_node_size): New function.
6120 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
6121 entries.
6122 Fix memory leak on . and ..
6123 (grub_iso9660_read): Use read_node.
6124 (grub_iso9660_close): Free node.
6125
d4888031
VS
61262011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6127
6128 Fix tar 4G limit and handle paths containing dot.
6129
6130 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
6131 (canonicalize): New function.
6132 (grub_cpio_find_file): Use canonicalize. Store offs in
6133 grub_disk_addr_t.
6134 (grub_cpio_dir): Use grub_disk_addr_t.
6135 (grub_cpio_open): Likewise.
6136
9f12e664
VS
61372011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6138
6139 Fix handling of uncompressed blocks on squashfs and break 4G limit.
6140
6141 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
6142 unused flags.
6143 (grub_squash_inode): Add long_file and block_size.
6144 (grub_squash_cache_inode): New struct.
6145 (grub_squash_dirent): Make types into enum.
6146 (SQUASH_TYPE_LONG_REGULAR): New type.
6147 (grub_squash_frag_desc): Add field size.
6148 (SQUASH_BLOCK_FLAGS): New enum.
6149 (grub_squash_data): Use grub_squash_cache_inode.
6150 (grub_fshelp_node): Make ino_chunk 64-bit.
6151 (read_chunk): Minor argument change. All users updated.
6152 (squash_mount): Use correct le_to_cpu.
6153 (grub_squash_open): Handle LONG_REGULAR.
6154 (direct_read): New function.
6155 (grub_squash_read_data): Handle blocks correctly.
6156
9f326fba
VS
61572011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6158
6159 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
6160
f4d9b64b
VS
61612011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
6162
6163 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
6164
5bbd28b8
VS
61652011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6166
6167 Fix 2G limit on ZFS.
6168
6169 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
6170 types.
6171 (uberblock_verify): Likewise.
6172 (dmu_read): Likewise.
6173 (grub_zfs_read): Likewise. Remove invalid cast.
6174
68c72069
VS
61752011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6176
6177 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
6178 (grub_jfs_blkno): Fix incorrect shift.
6179 (grub_jfs_read_file): Use more appropriate types.
6180
6e536dc8
VS
61812011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6182
6183 Support triple indirect on minix2 and minix3.
6184
6185 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
6186 Declare triple_indir_zone.
6187 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
6188 indirect.
6189
e0864e7a
VS
61902011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
6191
6192 Minix FS fixes.
6193
6194 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
6195 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
6196 Rename ctime to mtime. All users updated.
6197 (grub_minix_get_file_block): Fix types and double indirect computations.
6198
89481cab
VS
61992011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6200
6201 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
6202 if no label is found.
6203 (grub_fat_iterate_dir): Fix file size type.
6204 (grub_fat_iterate_dir): Likewise.
6205
f646e143
VS
62062011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6207
6208 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
6209 save some space.
6210 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
6211 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6212
534d769e
VS
62132011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6214
6215 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
6216
e084ba18
VS
62172011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6218
6219 * util/import_gcry.py: Accept space between # and include.
6220
3471ecdf
VS
62212011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6222
6223 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
6224
124df5f6
VS
62252011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6226
6227 Fine grainely disable warnings on lexer. Remove Wno-error on it.
6228
6229 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
6230 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
6231 yylex_strncpy.
6232 * grub-core/script/yylex.l: Add fine-grained #pragma.
6233
4defb8d5
VS
62342011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6235
6236 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
6237 New inline function.
6238 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
6239 Likewise.
6240 (memset) [GRUB_UTIL]: Likewise.
6241 (memcmp) [GRUB_UTIL]: Likewise.
6242
4e94ae65
VS
62432011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6244
6245 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
6246 inline function rather than a define.
6247
18c575e5
VS
62482011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6249
6250 * util/grub-setup.c: Add missing include.
6251
f8bc22a8
VS
62522011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6253
6254 * util/ieee1275/grub-ofpathname.c: Add missing include.
6255
3ce69fc9
VS
62562011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6257
6258 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
6259 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
6260 Likewise.
6261
d1e293bb
VS
62622011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6263
6264 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
6265 grub_memcmp usage.
6266
7a5c54a4
VS
62672011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 * util/grub-install.in: Add datarootdir as per automake manual
6270 suggestion.
6271 * util/grub-mknetdir.in: Likewise.
6272
62732011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
6274
6275 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
6276 suggestion.
6277 * util/grub.d/10_kfreebsd.in: Likewise.
6278 * util/grub.d/10_linux.in: Likewise.
6279 * util/grub.d/10_netbsd.in: Likewise.
6280 * util/grub.d/10_windows.in: Likewise.
6281 * util/grub.d/20_linux_xen.in: Likewise.
6282
766f7d08
VS
62832011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
6284
6285 Remove redundant grub_kernel_image_size.
6286
6287 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
6288 _edata and _start.
6289 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
6290 the small code. It moves it only by few bytes but simplifies the code.
6291 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
6292 _start.
6293 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
6294 (grub_kernel_image_size): Removed.
6295 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
6296 (grub_kernel_image_size): Removed.
6297 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
6298 compiled with Apple toolchain.
6299 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
6300 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
6301 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
6302 (grub_total_module_size): Likewise.
6303 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
6304 Removed.
6305 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
6306 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
6307 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
6308 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
6309 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
6310 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
6311 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
6312 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
6313 Removed.
6314 (grub_total_module_size): Removed.
6315 * util/grub-mkimage.c (image_target_desc): Remove image_size.
6316 (image_targets): Likewise.
6317 Set .compressed_size to no field on sparc.
6318 (generate_image): Remove kernel_image_size handling.
6319
fcf1d672
SJ
63202011-10-19 Szymon Janc <szymon@janc.net.pl>
6321
6322 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
6323 NULL pointer dereference.
6324
de9c615e
VS
63252011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6326
6327 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
6328 done with a dedicated section.
6329
6330 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
6331 Ensure the correct position of boot_path.
6332 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
6333 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
6334 other fields.
6335 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
6336 * include/grub/boot.h: Removed. All references removed.
6337 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
6338 Removed.
6339 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
6340
e55599dc
VS
63412011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6342
6343 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
6344 name.
6345
36dd20ad
VS
63462011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6347
6348 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
6349
f8f72eb8
VS
63502011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6351
6352 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6353 Don't add the bogus brackets.
6354
a374751b
VS
63552011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6356
6357 ExFAT support.
6358
6359 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
6360 * grub-core/Makefile.core.def (exfat): New module.
6361 * grub-core/fs/exfat.c: New file.
6362 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
6363 (GRUB_FAT_ATTR_*): Make into an enum.
6364 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
6365 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
6366 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
6367 (GRUB_FAT_MAXFILE): Removed.
6368 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
6369 (grub_current_fat_bpb_t): New type.
6370 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
6371 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
6372 (grub_fat_dir_node_t): New type.
6373 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
6374 (fat_log2) [MODE_EXFAT]: Removed.
6375 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
6376 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
6377 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
6378 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
6379 (grub_fat_label) [MODE_EXFAT]: New function.
6380 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
6381 reserved_first_sector to 0.
6382
544c2487
VS
63832011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
6384
6385 Move grub_reboot out of the kernel.
6386
6387 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
6388 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
6389 * grub-core/lib/efi/reboot.c: ... here.
6390 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
6391 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
6392 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
6393 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
6394 * grub-core/lib/i386/reboot_trampoline.S: ... here.
6395 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
6396 * grub-core/lib/ieee1275/reboot.c: ... here.
6397 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
6398 * grub-core/lib/mips/arc/reboot.c: ... here.
6399 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
6400 * grub-core/lib/mips/loongson/reboot.c: ...here.
6401 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
6402 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
6403 * include/grub/emu/misc.h (grub_reboot): New function declaration.
6404 * include/grub/i386/reboot.h: New file.
6405 * include/grub/mips/loongson/ec.h: Fix includes.
6406 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
6407 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
6408 * grub-core/lib/i386/reboot.c: New file.
6409
a97501d2
VS
64102011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
6411
6412 Make grub_prefix into module to fix the arbitrary limit and save
6413 some space.
6414
6415 * grub-core/kern/emu/main.c (grub_prefix): Removed.
6416 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
6417 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
6418 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
6419 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
6420 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
6421 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
6422 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
6423 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
6424 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
6425 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
6426 * include/grub/ia64/efi/kernel.h: Removed.
6427 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
6428 (grub_prefix): Removed.
6429 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
6430 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
6431 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
6432 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
6433 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
6434 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
6435 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
6436 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
6437 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
6438 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
6439 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
6440 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
6441 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
6442 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
6443 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
6444 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
6445 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
6446 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
6447 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
6448 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
6449 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
6450 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
6451 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
6452 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
6453 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
6454 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
6455 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
6456 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
6457 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
6458 from module.
6459 * util/grub-mkimage.c (image_target_desc): Removed prefix and
6460 prefix_end.
6461 (image_targets): Likewise.
6462 (generate_image): Put prefix as a module.
6463
39705fad
VS
64642011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6465
6466 Replace grub_module_iterate with FOR_MODULES.
6467
6468 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
6469 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
6470 (grub_efi_modules_addr): ...this.
6471 * grub-core/kern/efi/init.c (grub_modbase): New variable.
6472 (grub_efi_init): Set grub_modbase.
6473 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
6474 (grub_modbase): New variable.
6475 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
6476 (grub_modbase): New variable.
6477 (grub_machine_init): Set grub_modbase.
6478 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
6479 (grub_modbase): New variable.
6480 (grub_machine_init): Set grub_modbase.
6481 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
6482 (grub_modbase): New variable.
6483 (grub_machine_init): Set grub_modbase.
6484 * grub-core/kern/main.c (grub_module_iterate): Remove.
6485 (grub_modules_get_end): Use grub_modbase.
6486 (grub_load_modules): Use FOR_MODULES.
6487 (grub_load_config): Likewise.
6488 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
6489 (grub_modbase): New variable.
6490 (grub_machine_init): Set grub_modbase.
6491 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
6492 (grub_modbase): New variable.
6493 (grub_machine_init): Set grub_modbase.
6494 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
6495 Removed.
6496 (grub_modbase): New variable.
6497 (grub_machine_init): Set grub_modbase.
6498 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
6499 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
6500 (grub_module_iterate): Likewise.
6501 (grub_modbase): New variable declaration.
6502 (FOR_MODULES): New macro.
6503
2afb7f6c
VS
65042011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6505
6506 * configure.ac: Check for __ctzdi2 and __ctzsi2.
6507 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
6508
366e34fa
VS
65092011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 Fix few obvious type discrepancies.
6512
6513 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
6514 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
6515 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
6516 variable.
6517 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
6518 and connected types.
6519 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
6520 offset.
6521 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
6522 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
6523 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
6524 and connected types.
6525
177b960e
VS
65262011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6527
6528 Fix python 3.x incompatibilities.
6529
6530 * gentpl.py: Put brackets around print strings.
6531 * util/import_gcry.py: Open explicitly as utf-8.
6532 Use in instead of has_key.
6533
3b619ae1
VS
65342011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6535
6536 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
6537 (GRUB_XFS_INO_AGBITS): Make into inline function.
6538 (GRUB_XFS_INO_INOINAG): Likewise.
6539 (GRUB_XFS_INO_AG): Likewise.
6540 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
6541 (GRUB_XFS_EXTENT_OFFSET): Likewise.
6542 (GRUB_XFS_EXTENT_BLOCK): Likewise.
6543 (GRUB_XFS_EXTENT_SIZE): Likewise.
6544 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
6545 (GRUB_XFS_NEXT_DIRENT): Likewise.
6546 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
6547 (grub_xfs_read_file): Fix offset type.
6548
8bcebcb8
RM
65492011-10-15 Robert Millan <rmh@gnu.org>
6550
6551 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
6552
0017e5ef
RM
65532011-10-15 Robert Millan <rmh@gnu.org>
6554
6555 Fix build problem on FreeBSD and GNU/kFreeBSD.
6556
6557 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
6558
d8919552
VS
65592011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6560
6561 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
6562
6563 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
6564 types.
6565 (grub_hfsplus_btree_recoffset): Likewise.
6566 (grub_hfsplus_btree_recptr): Likewise.
6567 (grub_hfsplus_find_block): Likewise.
6568 (grub_hfsplus_btree_search): Likewise.
6569 (grub_hfsplus_read_block): Likewise.
6570 (grub_hfsplus_read_file): Likewise.
6571 (grub_hfsplus_mount): Likewise.
6572 (grub_hfsplus_btree_iterate_node): Likewise.
6573 (grub_hfsplus_btree_search): Likewise.
6574 (grub_hfsplus_iterate_dir): Likewise.
6575 (grub_hfsplus_read): A small code simplification.
6576
c81296b6
VS
65772011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6578
6579 * grub-core/kern/emu/hostdisk.c
6580 (convert_system_partition_to_system_disk): Don't assume that children
6581 of mapper nodes are mapper nodes.
6582
0eb8ffb1
VS
65832011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
6586 * include/grub/misc.h (grub_isxdigit): New function.
6587 * grub-core/video/colors.c (my_isxdigit): Removed. All users
6588 switched to grub_isxdigit.
6589 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
6590 number starting with a letter.
6591
a98f4a08
RM
65922011-10-09 Robert Millan <rmh@gnu.org>
6593
6594 LVM support for FreeBSD and GNU/kFreeBSD.
6595
6596 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
6597 GNU/kFreeBSD.
6598 (LVM_DEV_MAPPER_STRING): Move from here ...
6599 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
6600 * util/getroot.c: Include `<grub/util/lvm.h>'.
6601 (grub_util_get_dev_abstraction): Enable
6602 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
6603 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
6604 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
6605 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
6606 support it.
6607 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
6608 GNU/kFreeBSD.
6609 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
6610 when LVM abstraction is required for ${GRUB_DEVICE}.
6611
050e8e90
SJ
66122011-10-06 Szymon Janc <szymon@janc.net.pl>
6613
6614 Add support for LZO compression in GRUB:
6615 - import of minilzo library,
6616 - LZO decompression for btrfs,
6617 - lzop files decompression.
6618
6619 * grub-core/io/lzopio.c: New file.
6620 * grub-core/lib/adler32.c: Likewise.
6621 * grub-core/lib/minilzo/lzoconf.h: Likewise.
6622 * grub-core/lib/minilzo/lzodefs.h: Likewise.
6623 * grub-core/lib/minilzo/minilzo.c: Likewise.
6624 * grub-core/lib/minilzo/minilzo.h: Likewise.
6625 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
6626 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
6627 grub-core/lib/minilzo/minilzo.c to common.
6628 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
6629 cflags in cppflags.
6630 * grub-core/Makefile.core.def (btrfs): Likewise.
6631 * grub-core/Makefile.core.def (lzopio): New module.
6632 (adler32): Likewise.
6633 * grub-core/fs/btrfs.c: Include minilzo.h.
6634 (GRUB_BTRFS_COMPRESSION_LZO): New define.
6635 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
6636 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
6637 (grub_btrfs_lzo_decompress): New function.
6638 (grub_btrfs_extent_read): Add support for LZO compression type.
6639 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
6640 (GRUB_USHRT_MAX): Likewise.
6641 (GRUB_UINT_MAX): Likewise.
6642 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
6643 (UINT_MAX): Likewise.
6644 (CHAR_BIT): Likewise.
6645 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
6646 grub-core/lib/posix_wrap/limits.h
6647 (UCHAR_MAX): Likewise.
6648 * include/grub/file.h (grub_file_filter_id): New compression filter
6649 GRUB_FILE_FILTER_LZOPIO.
6650 * include/grub/file.h (grub_file_filter_id): Set
6651 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
6652 * include/grub/types.h (grub_get_unaligned16): New function.
6653 (grub_get_unaligned32): Likewise.
6654 (grub_get_unaligned64): Likewise.
6655 * util/import_gcry.py (cryptolist): Add adler32.
6656
0eb8ffb1
VS
66572011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
6658
6659 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
6660 in perspective decreases the complexity of build system and fixes
6661 compilation right now.
6662
ce79cc99 66632011-10-01 Ales Nesrsta <starous@volny.cz>
6664
6665 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
6666 (fixed problem related to using UHCI with coreboot).
6667
8667a314
BC
66682011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
6669
6670 * gentpl.py: Use Autogen macros so that the output template file
6671 (Makefile.tpl) size is reduced.
6672
fc5efcc0
MK
66732011-09-29 Mads Kiilerich <mads@kiilerich.com>
6674
6675 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
6676 extra_dist.
6677
d1ab689d
ML
66782011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6679
6680 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
6681 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
6682
c05de032
ML
66832011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6684
6685 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
6686 _fullpath.
6687
cca7ccd8
ML
66882011-09-29 Mario Limonciello <mario_limonciello@dell.com>
6689
6690 Remove extra declaration of sleep for mingw32.
6691
6692 * util/misc.c (sleep) [__MINGW32__]: Removed.
6693 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
6694
e0b0dc83
GS
66952011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6696
6697 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
6698 type and packname.
6699 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
6700 Resurrected.
6701 (NETBSD_BTINFO_BOOTWEDGE): New definition.
6702 (grub_netbsd_btinfo_bootwedge): New struct.
6703 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
6704 New function.
6705 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
6706
91a1a164
TH
67072011-09-28 Thomas Haller <thomas.haller@fen-net.de>
6708
6709 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
6710 loader.
6711
2ded951e
AB
67122011-09-28 Andreas Born <futur.andy@googlemail.com>
6713
6714 Fix incorrect identifiers in bash-completion.
6715
6716 * util/bash-completion.d/grub-completion.bash.in
6717 (_grub_mkpasswd-pbkdf2): Rename to ...
6718 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
6719 (_grub_script-check): Rename to ...
6720 (_grub_script_check): ... this. All users updated.
6721
69915030
VS
67222011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
6723
6724 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
6725 Return 0 if disk isn't biosdisk.
6726
20fd15f9
GS
67272011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
6728
6729 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
6730 on NetBSD.
6731 * Makefile.util.def (grub-fstest): Likewise.
6732
1a7d7db9
GS
67332011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
6734
6735 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
6736 Get sector size from disk label.
6737
2221ab6c
CW
67382011-09-05 Colin Watson <cjwatson@ubuntu.com>
6739
6740 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
6741 */README* as well as README*.
6742 Reported by: Axel Beckert.
6743
ca51c4a0
VS
67442011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6745
6746 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
6747 case of less than 256 MiB of RAM.
6748
ab80f326
VS
67492011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6750
6751 * grub-core/commands/wildcard.c (make_regex): Handle @.
6752
4155e697
VS
67532011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6754
6755 * util/grub-install.in: Move cryptodisk logic to appropriate place.
6756
ab178c08
SJ
67572011-08-21 Szymon Janc <szymon@janc.net.pl>
6758
6759 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
6760 AC_LANG_CONFTEST macros.
6761
7dc3c686
SJ
67622011-08-20 Szymon Janc <szymon@janc.net.pl>
6763
6764 Add grub-fstest option to uncompress data for commands.
6765
6766 * util/grub-fstest.c (uncompress): New var.
6767 (options): New option -u.
6768
fe8d4a7b
SJ
67692011-08-20 Szymon Janc <szymon@janc.net.pl>
6770
6771 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
6772 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
6773
a5219af1
SJ
67742011-08-20 Szymon Janc <szymon@janc.net.pl>
6775
6776 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
6777 file type was not recognized correctly (not gzip or corrupted).
6778
f87abff5
VS
67792011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6780
6781 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
6782 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
6783
d94497ea
VS
67842011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6785
6786 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
6787 loongson.
6788 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
6789 video_radeon_fuloong2e.
6790 * grub-core/video/radeon_fuloong2e.c: New file.
6791 * include/grub/video.h (grub_video_id_t): Add new ID
6792 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
6793
0d1fd011
VS
67942011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6795
6796 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
6797 define.
6798 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
6799 that PRID matches the detected subplatform and reset the subplatform
6800 if it doesn't.
6801
84beb0ee
VS
68022011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6803
6804 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
6805
1227c133
VS
68062011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6807
6808 Fix PCI iterating on functions >= 4.
6809
6810 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
6811 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
6812 Removed.
6813 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
6814 (grub_pci_read): Fix bitmask.
6815 (grub_pci_read_word): Likewise.
6816 (grub_pci_read_byte): Likewise.
6817 (grub_pci_write): Likewise.
6818 (grub_pci_write_word): Likewise.
6819 (grub_pci_write_byte): Likewise.
6820
9594c689
VS
68212011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6822
6823 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
6824 can still be specified in TARGET_CFLAGS)
6825
14a2562c
VS
68262011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
6827
6828 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
6829
6830 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
6831 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
6832 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
6833 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
6834 (FULOONG): Rename to ...
6835 (FULOONG2F): ... this. All users updated.
6836 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
6837 (machtype_fuloong2f_str): ... this.
6838 (machtype_fuloong2e_str): New string.
6839 Check for machtype_fuloong2e_str.
6840 * grub-core/loader/mips/linux.c (loongson_machtypes)
6841 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
6842 * grub-core/term/serial.c (loongson_defserial)
6843 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
6844 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
6845 loongson_defserial.
6846 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
6847 Rename to ...
6848 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
6849 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
6850 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
6851 to IMAGE_FULOONG2F_FLASH. All users updated.
6852 (image_targets): Rename images.
6853 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
6854
b526cbb6
SJ
68552011-08-19 Szymon Janc <szymon@janc.net.pl>
6856
6857 Make enable of disk cache statistics code configurable.
6858
6859 * configure.ac: --enable-cache-stats added.
6860 * config.h.in (DISK_CACHE_STATS): New define.
6861 * grub-core/Makefile.core.def (cacheinfo): New command.
6862 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
6863 * grub-core/commands/cacheinfo.c: New file.
6864 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
6865 moved to cacheinfo.c.
6866 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
6867 debug code.
6868 * include/grub/disk.h: Likewise.
6869
fb739ccd
SJ
68702011-08-19 Szymon Janc <szymon@janc.net.pl>
6871
6872 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
6873 * grub-core/Makefile.am: Likewise.
6874
2bba8cfd
VS
68752011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6876
6877 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
6878 non-zero pull.
6879
43526629
VS
68802011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6881
6882 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
6883 All users updated.
6884 (grub_jfs_lookup_symlink): Use correct starting inode.
6885
5c144cc8
VS
68862011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6887
6888 * util/grub-setup.c (main): Add missing gcry initialisation.
6889
b1257f65
VS
68902011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
6891
6892 Don't accept text modes on EFI when booting Linux.
6893
6894 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
6895 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
6896
828bc390
ML
68972011-08-15 Mario Limonciello <mario_limonciello@dell.com>
68982011-08-15 Colin Watson <cjwatson@ubuntu.com>
6899
6900 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
6901 use of "/path/.." as in grub-install for EFI as well as handling
6902 symlinks correctly.
6903 Fixes Debian bug #637768.
6904
5f60ccac
CW
69052011-08-15 Colin Watson <cjwatson@ubuntu.com>
6906
6907 * util/grub-probe.c: Remove duplicate #include.
6908
6dc212f9
RM
69092011-08-10 Robert Millan <rmh@gnu.org>
6910
6911 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
6912
6913 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
6914 function.
6915 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
6916 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
6917
66816d85
RM
69182011-08-03 Robert Millan <rmh@gnu.org>
6919
6920 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
6921 la_array as packed.
6922 Reported by: Zachary Bedell
6923
20168fca
CW
69242011-07-26 Colin Watson <cjwatson@ubuntu.com>
6925
6926 * configure.ac: The Loongson port requires grub-mkfont due to its
6927 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
6928 be built.
6929
303b6246
CW
69302011-07-26 Colin Watson <cjwatson@ubuntu.com>
6931
6932 * util/grub-install.in: Don't source grub-mkconfig_lib until after
6933 processing arguments (otherwise help2man fails when GRUB has not yet
6934 been installed).
6935
6795300e
VS
69362011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6937
41aa28ea
VS
6938 New script grub-mkstandalone.
6939
6940 * Makefile.util.def (grub-mkstandalone): New script.
6941 * docs/man/grub-mkstandalone.h2m: New file.
6942 * util/grub-mkstandalone.in: Likewise.
6943
69442011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6945
6946 Support ATA disks with 4K sectors.
6795300e
VS
6947
6948 * include/grub/ata.h (grub_ata): New member log_sector_size.
6949 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
6950 (grub_ata_identify): Read sector size.
6951 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
6952
92227597
VS
69532011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6954
6955 * util/grub-install.in: Don't use uhci outside of x86.
6956
c77069f5
VS
69572011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
6958
6959 * util/grub-mkrescue.in: Add missing quotes.
6960
69612011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
6962
6963 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
6964 dereference.
6965
583168a2
VS
69662011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6967
6968 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
6969
6be1c01f
VS
69702011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6971
6972 * include/grub/video.h: add missing EXPORT_FUND on
6973 grub_video_edid_checksum and grub_video_edid_preferred_mode.
6974
a1167439
VS
69752011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6976
6977 * include/grub/mips/kernel.h: Fix define conflict.
6978
bf66054f
VS
69792011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
6980
6981 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
6982 all four ways.
6983
8fc4fa45
CW
69842011-07-21 Colin Watson <cjwatson@ubuntu.com>
6985
6986 Preferred resolution detection for VBE.
6987
6988 * grub-core/video/video.c (grub_video_edid_checksum): New function.
6989 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
6990 the Flat Panel extension, in line with the X.org VESA driver.
6991 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
6992 New function.
6993 (grub_vbe_bios_get_ddc_capabilities): Likewise.
6994 (grub_vbe_bios_read_edid): Likewise.
6995 (grub_vbe_get_preferred_mode): Likewise.
6996 (grub_video_vbe_setup): When the mode is "auto", try to get the
6997 preferred mode from VBE, and use the largest mode that is no larger
6998 than the preferred mode (some BIOSes expose a preferred mode that is
6999 not in their mode list!). If this fails, fall back to 640x480 as a
7000 safe conservative choice.
7001 (grub_video_vbe_get_edid): New function.
7002 (grub_video_vbe_adapter): Add get_edid.
7003 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
7004 (struct grub_video_adapter): Add get_edid.
7005 (grub_video_edid_checksum): Add prototype.
7006 (grub_video_edid_preferred_mode): Likewise.
7007 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
7008 structure.
7009
7010 * grub-core/commands/videoinfo.c (print_edid): New function.
7011 (grub_cmd_videoinfo): Print EDID if available.
7012
7013 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
7014 is more appropriate on a wider range of platforms than 640x480.
7015 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
7016 documentation.
7017
ca5572a9
VS
70182011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7019
7020 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
7021
e4bcf625
VS
70222011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7023
7024 * po/POTFILES.in: Regenerate.
7025
c4edd548
VS
70262011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7027
7028 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
7029 incorrect memory usage.
7030
16a2bab0
VS
70312011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
7032
7033 * util/grub-install.in: Source grub-mkconfig_lib.
7034
2e418de6
VS
70352011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7036
7037 Remove getroot.c from core on emu platform.
7038
7039 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
7040 kern/emu/raid.c.
7041 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
7042 useless.
7043 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
7044 * util/getroot.c (get_win32_path): ... here.
7045 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
7046 * util/getroot.c (fini_libzfs): ... here.
7047 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
7048 * util/getroot.c (grub_get_libzfs_handle): ... here.
7049 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
7050 Moved from here...
7051 * util/getroot.c (grub_find_zpool_from_dir): ... here.
7052 * grub-core/kern/emu/misc.c
7053 (grub_make_system_path_relative_to_its_root): Moved from here...
7054 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
7055 * grub-core/kern/emu/getroot.c: Moved from here ...
7056 * util/getroot.c: ... here. All users updated.
7057 * grub-core/kern/emu/raid.c: Moved from here ...
7058 * util/raid.c: ... here. All users updated.
7059
def9832a
VS
70602011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
7061
7062 * po/POTFILES.in: Regenerate.
7063
cd8fe79a
VS
70642011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7065
7066 Fix compilation on GNU/Linux.
7067
7068 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
7069 Disable geli.
7070 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
7071 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
7072 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
7073
a251b719
VS
70742011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
70752011-07-07 Michael Gorven <michael@gorven.za.net>
70762011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
7077
7078 LUKS and GELI support.
7079
7080 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
7081 grub-core/disk/luks.c, grub-core/disk/geli.c,
7082 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
7083 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
7084 grub-core/lib/arg.c.
7085 (libgrubmods.a): Remove gcrypts cflags and cppflags.
7086 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
7087 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
7088 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
7089 (grub-bin2h): Add libgcry.a.
7090 (grub-mkimage): Likewise.
7091 (grub-mkrelpath): Likewise.
7092 (grub-script-check): Likewise.
7093 (grub-editenv): Likewise.
7094 (grub-mkpasswd-pbkdf2): Likewise.
7095 (grub-pe2elf): Likewise.
7096 (grub-fstest): Likewise.
7097 (grub-mkfont): Likewise.
7098 (grub-mkdevicemap): Likewise.
7099 (grub-probe): Likewise.
7100 (grub-ofpath): Likewise.
7101 (grub-mklayout): Likewise.
7102 (example_unit_test): Likewise.
7103 (grub-menulst2cfg): Likewise.
7104 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
7105 * grub-core/Makefile.core.def (cryptodisk): New module.
7106 (luks): Likewise.
7107 (geli): Likewise.
7108 * grub-core/disk/AFSplitter.c: New file.
7109 * grub-core/disk/cryptodisk.c: Likewise.
7110 * grub-core/disk/geli.c: Likewise.
7111 * grub-core/disk/luks.c: Likewise.
7112 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
7113 grub_util_is_lvm.
7114 (grub_util_get_dm_abstraction): New function.
7115 (grub_util_follow_gpart_up): Likewise.
7116 (grub_util_get_geom_abstraction): Likewise.
7117 (grub_util_get_dev_abstraction): Use new functions.
7118 (grub_util_pull_device): Pull GELI and LUKS.
7119 (grub_util_get_grub_dev): Handle LUKS and GELI.
7120 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
7121 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
7122 (follow_geom_up): Removed.
7123 (grub_util_fd_seek): New function.
7124 (open_device): Use grub_util_fd_seek.
7125 (nread): Rename to ..
7126 (grub_util_fd_read): ... this. All users updated.
7127 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
7128 (grub_crypto_cbc_decrypt): Likewise.
7129 (grub_crypto_hmac_write): Likewise.
7130 (grub_crypto_hmac_buffer): Likewise.
7131 (grub_password_get): Extend to util.
7132 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
7133 New member modname.
7134 (gcry_md_spec) [GRUB_UTIL]: Likewise.
7135 * include/grub/cryptodisk.h: New file.
7136 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
7137 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
7138 LUKS and GELI.
7139 (grub_util_follow_gpart_up): New proto.
7140 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
7141 (grub_util_fd_read): Likewise.
7142 (grub_cryptodisk_cheat_mount): Likewise.
7143 (grub_util_cryptodisk_print_uuid): Likewise.
7144 (grub_util_get_fd_sectors): Likewise.
7145 * util/grub-fstest.c (mount_crypt): New var.
7146 (fstest): Mount crypto if requested.
7147 (options): New option -C.
7148 (argp_parser): Parse -C.
7149 (main): Init and fini gcry.
7150 * util/grub-install.in: Support cryptodisk install.
7151 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
7152 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
7153 cryptodisk.
7154 (prepare_grub_to_access_device): Likewise.
7155 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
7156 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
7157 (probe_cryptodisk_uuid): New function.
7158 (probe_abstraction): Likewise.
7159 (probe): Use new functions.
7160 * util/import_gcry.py: Create Makefile.utilgcry.def.
7161 Add modname member.
7162
9bfdcbbc
VS
71632011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7164
7165 Lazy device scanning.
7166
7167 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
7168 (grub-setup): Remove util/raid.c.
7169 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
7170 * grub-core/disk/lvm.c (scan_depth): New variable.
7171 (grub_lvm_iterate): Rescan if necessary.
7172 (find_lv): New function based on grub_lvm_open.
7173 (grub_lvm_open): Use find_lv. Rescan on error.
7174 (is_node_readable): New function.
7175 (is_lv_readable): Likewise.
7176 (grub_lvm_scan_device): Skip already found disks.
7177 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
7178 Stop if searched device is found and readable.
7179 * grub-core/disk/raid.c (inscnt): New variable.
7180 (scan_depth): Likewise.
7181 (scan_devices): New function based on grub_raid_register. Abort if
7182 looked for device is found.
7183 (grub_raid_iterate): Rescan if needed.
7184 (find_array): NEw function based on -grub_raid_open.
7185 (grub_raid_open): Use find_array and rescan.
7186 (insert_array): Set became_readable_at.
7187 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
7188 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
7189 New function.
7190 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
7191 (grub_util_pull_device): New function.
7192 (grub_util_get_grub_dev): Call grub_util_pull_device.
7193 * util/raid.c: Moved to ..
7194 * grub-core/kern/emu/raid.c: ... here.
7195 (grub_util_raid_getmembers): New parameter "bootable".
7196 All users updated. Support 1.x.
7197 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
7198 All users updated.
7199 * include/grub/disk.h (grub_disk_pull_t): New enum.
7200 (grub_disk_dev): Change iterate prototype.
7201 All users updated.
7202 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
7203 New proto.
7204 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
7205 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
7206 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
7207 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
7208 All users updated.
7209 * include/grub/util/raid.h: Removed.
7210
1c358e59
VS
72112011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7212
7213 * po/POTFILES.in: Regenerate.
7214
abee94ed
VS
72152011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
7216
7217 Unify sparc init with other ieee1275.
7218
7219 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
7220 instead of kern/sparc64/ieee1275/init.c.
7221 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
7222 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
7223 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
7224 grub/machine/kernel.h.
7225 (grub_ieee1275_original_stack) [__sparc__]: New variable.
7226 (grub_claim_heap) [__sparc__]: Use sparc version.
7227 (grub_machine_init): Moved args parsing to
7228 (grub_parse_cmdline): ...this.
7229 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
7230 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
7231 New definition.
7232 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
7233
7234 Move BOOTP to separate file.
7235
7236 * grub-core/Makefile.core.def (net): Add net/bootp.c.
7237 * grub-core/net/net.c: Move all BOOTP functions to
7238 * grub-core/net/bootp.c: ... here.
7239
7240 Use frame interface on PXE.
7241
7242 * grub-core/Makefile.core.def (pxecmd): Removed.
7243 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
7244 * grub-core/commands/i386/pc/pxecmd.c: Removed.
7245 * grub-core/i386/pc/pxe.c: Moved from here ...
7246 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
7247 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
7248 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
7249
7250 EFI network support.
7251
7252 * grub-core/Makefile.core.def (efinet): New module.
7253 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
7254 here...
7255 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
7256 All users updated.
7257 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
7258 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
7259 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
7260 * grub-core/net/drivers/efi/efinet.c: New file.
7261 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
7262 (grub_efi_net_config): New extern var.
7263
7264 Various cleanups and bugfixes.
7265
7266 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
7267 error.
7268 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
7269 disk declared as partition.
7270 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
7271 leak on failure.
7272 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
7273 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
7274 (grub_debug_zalloc): Likewise.
7275 (grub_debug_realloc): Likewise.
7276 (grub_debug_memalign): Likewise.
7277 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
7278 Check that target is IPv4.
7279 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
7280 local-mac-address as fallback.
7281 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
7282 memory leak.
7283 * grub-core/net/ip.c (ipchksum): Rename to ...
7284 (grub_net_ip_chksum): ... this. All users updated.
7285 (grub_net_recv_ip_packets): Special handling for DHCP.
7286 * util/grub-mkimage.c (generate_image): Zero-out aout header.
7287
7288 Unify prefix handling
7289
7290 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
7291 (grub_machine_get_bootlocation): ... this.
7292 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
7293 (grub_machine_get_bootlocation): ... this.
7294 (grub_prefix): New variable.
7295 (prefix): Removed.
7296 (root_dev): New variable.
7297 (dir): Likewise.
7298 (main): Use new variables.
7299 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
7300 Revamped into ...
7301 (grub_machine_get_bootlocation): ... this.
7302 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
7303 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
7304 (grub_machine_get_bootlocation): ... this.
7305 (grub_machine_set_prefix): Removed.
7306 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
7307 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
7308 Revamped into ...
7309 (grub_machine_get_bootlocation): ... this.
7310 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
7311 (grub_set_prefix_and_root): ... this. All users updated.
7312 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
7313 Revamped into ...
7314 (grub_machine_get_bootlocation): ... this.
7315 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
7316 (grub_machine_get_bootlocation): New proto.
7317 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
7318
7319 Less intrusive and more reliable seek on network implementation.
7320
7321 * grub-core/kern/file.c (grub_file_net_seek): Removed.
7322 (grub_file_seek): Don't call grub_file_net_seek.
7323 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
7324 (grub_net_fs_read_real): .. this.
7325 (grub_net_seek_real): Use net->offset.
7326 (grub_net_fs_read): Seek if necessary.
7327
7328 Unify IEEE1275 netwotk config with the other platforms.
7329
7330 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
7331 New variable.
7332 (grub_machine_get_bootlocation): Support network.
7333 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
7334 Support type and device parsing.
7335 (grub_ieee1275_get_device_type): New function.
7336 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
7337 into ...
7338 (grub_ieee1275_net_config_real): ... this.
7339 (grub_ofnet_probecards): Removed.
7340 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
7341 * include/grub/ieee1275/ofnet.h: Removed.
7342 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
7343 extern var.
7344 (grub_ieee1275_get_device_type): New function.
7345
7346 Unify network device closing across platforms and make more robust.
7347
7348 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
7349 grub_grubnet_fini.
7350 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
7351 already.
7352 * grub-core/net/net.c (grub_net_network_level_interface_register):
7353 Update num_ifaces.
7354 (grub_net_card_unregister): Close all interfaces.
7355 (receive_packets): Don't poll if no iterfaces are registered.
7356 Open if necessary.
7357 (grub_net_fini_hw): New function.
7358 (grub_net_restore_hw): Likewise.
7359 (fini_hnd): New variable.
7360 (GRUB_MOD_INIT): Register preboot hook.
7361 (GRUB_MOD_FINI): Run and unregister preboot hook.
7362
7363 Poll network cards when idle.
7364
7365 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
7366 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
7367 * grub-core/net/net.c (receive_packets): Save last poll time.
7368 (grub_net_poll_cards_idle_real): New function.
7369 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
7370 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
7371 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
7372
7373 Rename ofnet interfaces.
7374
7375 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
7376 (grub_ofnet_findcards): Use ofnet_%s names.
7377
7378 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
7379
7380 Cleanup socket opening.
7381
7382 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
7383 (grub_net_fs_close): Likewise.
7384 (grub_net_fs_read_real): Use eof member.
7385 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
7386 (+grub_net_udp_close): New inline function.
7387
7388 * include/grub/net/tftp.h: Moved to the top of ...
7389 * grub-core/net/tftp.c: ... here.
7390 * include/grub/net/ip.h: Moved mostly to the top of ...
7391 * grub-core/net/ip.c: ... here.
7392 * include/grub/net/ethernet.h: Moved mostly to the top of ...
7393 * grub-core/net/ethernet.c: ... here.
7394
7395 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
7396
7397 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
7398 FS name.
7399
7400 * include/grub/net/ip.h (ipv4_ini): Removed.
7401 (ipv4_fini): Likewise.
7402
7403 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
7404 (grub_net_send_ip_packets): Likewise.
7405
cf1337aa
VS
74062011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7407
7408 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
7409 grub_read_cmos prototype.
7410
93c06ff9
VS
74112011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7412
7413 VGA text support in qemu-mips
7414
7415 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
7416 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
7417 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
7418 text.
7419 * grub-core/kern/i386/qemu/init.c: Renamed to ...
7420 * grub-core/kern/vga_init.c: ... this.
7421 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
7422 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
7423 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
7424 Adjust.
7425 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
7426 GRUB_MACHINE_PCI_IO_BASE.
7427
748ccabe
VS
74282011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7429
7430 MIPS qemu flash support.
7431
7432 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
7433 magic.
7434 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
7435 (grub_machine_init): Probe memory if its size isn't known.
7436 * util/grub-mkimage.c (image_targets): Add flash targets.
7437 (generate_image): Handle flash targets.
7438
d7345994
VS
74392011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7440
7441 MIPS qemu at_keyboard support.
7442
7443 * gentpl.py (videoinkernel): Add qemu-mips.
7444 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
7445 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
7446 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
7447 modules.
7448 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
7449 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
7450 * grub-core/term/serial.c (grub_serial_register)
7451 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
7452
a07a81b3
VS
74532011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
7454
7455 CMOS support on sparc.
7456
7457 * gentpl.py (cmos): Add powerpc and sparc.
7458 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
7459 powerpc and sparc.
7460 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
7461 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
7462 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
7463 grub_set_datetime_cmos.
7464 * grub-core/lib/ieee1275/cmos.c: New file.
7465 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
7466 (find_rtc): Set no_ieee1275_rtc on error.
7467 (grub_get_datetime): Call grub_get_datetime_cmos on error.
7468 (grub_set_datetime): Call grub_set_datetime_cmos on error.
7469 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
7470 fail. Move value to argument. All users updated
7471 (grub_cmos_write): Likewise.
7472 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
7473 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
7474 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
7475 grub_get_datetime_cmos and grub_set_datetime_cmos.
7476
77546584
GS
74772011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
7478
7479 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
7480 sourcing grub-mkconfig_lib.
7481 * util/update-grub_lib.in: Likewise.
7482 * util/grub.d/00_header.in: Likewise.
7483 * util/grub.d/10_hurd.in: Likewise.
7484 * util/grub.d/10_kfreebsd.in: Likewise.
7485 * util/grub.d/10_linux.in: Likewise.
7486 * util/grub.d/10_netbsd.in: Likewise.
7487 * util/grub.d/10_windows.in: Likewise.
7488 * util/grub.d/20_linux_xen.in: Likewise.
7489 * util/grub.d/30_os-prober.in: Likewise.
7490
54894791
CW
74912011-06-28 Colin Watson <cjwatson@ubuntu.com>
7492
7493 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
7494 default_bg_color rather than black.
7495 (grub_gfxterm_fullscreen): Likewise.
7496 (grub_gfxterm_background_color_cmd): Save new background color in
7497 default_bg_color.
7498
8d5d8444
VS
74992011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7500
7501 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
7502
5afeb5bd
VS
75032011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7504
7505 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
7506 mismerge.
7507
ba7df45e
VS
75082011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7509
7510 Chainloading on coreboot support.
7511
7512 * grub-core/Makefile.core.def (chain): Add coreboot.
7513 * grub-core/loader/i386/coreboot/chainloader.c: New file.
7514
d0b526b2
VS
75152011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7516
7517 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
7518 if it happens.
7519
5ff1d945
VS
75202011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7521
7522 Implement time command.
7523
7524 * grub-core/Makefile.core.def (time): New module.
7525 * grub-core/commands/time.c: New file.
7526 * grub-core/script/parser.y: Remove "time" keyword.
7527 * grub-core/script/yylex.l: Likewise.
7528
5ebaad7e
VS
75292011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7530
7531 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
7532
bdea3798
VS
75332011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7534
7535 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
7536 when handling leftovers.
7537
b28c5655
VS
75382011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7539
7540 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
7541 so that help2man doesn't fail.
7542
b6f945dc
VS
75432011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7544
7545 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
7546 type in pointers on sparc64.
7547 (get_card_packet): Likewise.
7548
f9b75e8a
CW
75492011-06-27 Colin Watson <cjwatson@ubuntu.com>
7550
7551 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
7552 with `*'.
7553 (grub_cmd_videoinfo): Fetch current video mode.
7554
1e3d9b86
VS
75552011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
7558 because of underlying system restrictions.
7559
efff4b1c
VS
75602011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7561
7562 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
7563 necessary.
7564
9fc9ce37
VS
75652011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7566
7567 Coreboot video support.
7568
7569 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
7570 (vbe): Likewise.
7571 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
7572 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
7573 here ...
7574 * grub-core/kern/i386/int.S: ... here.
7575 * grub-core/video/i386/pc/vbe.c: Updated includes.
7576 * grub-core/video/i386/pc/vga.c: Likewise.
7577 * include/grub/i386/coreboot/memory.h
7578 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
7579 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
7580 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
7581 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
7582 Disable interrupts.
7583 * include/grub/i386/pc/vga.h: Removed. All users updated.
7584
41bec7fe
VS
75852011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7586
7587 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
7588 definitions for dprintf.
7589 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
7590
ca80309d
VS
75912011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
7594 prototype.
7595 (get_card_packet): Likewise.
7596
9e322ce8
YB
75972011-06-26 Yves Blusseau <blusseau@zetam.org>
7598
7599 Display the path of the file when file is not found
7600
7601 * grub-core/fs/fat.c: Display the filename when file is not found.
7602 * grub-core/fs/fshelp.c: Likewise.
7603 * grub-core/fs/hfs.c: Likewise.
7604 * grub-core/fs/jfs.c: Likewise.
7605 * grub-core/fs/minix.c: Likewise.
7606 * grub-core/fs/ufs.c: Likewise.
7607 * grub-core/fs/btrfs.c: Likewise.
7608 * grub-core/commands/i386/pc/play.c: Likewise.
7609
cbf597af
SJ
76102011-06-26 Szymon Janc <szymon@janc.net.pl>
7611
7612 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
7613 pointer checks before calling grub_free().
7614 * grub-core/commands/wildcard.c (match_devices): Likewise.
7615 * grub-core/commands/wildcard.c (match_files): Likewise.
7616 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
7617 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
7618 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
7619 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
7620 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
7621 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
7622 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
7623 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
7624 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
7625
6295b32f
P
76262011-06-25 Patrick <p55@mailinator.com>
7627
7628 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
7629
77c0840b
VS
76302011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
7631
7632 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
7633 (grub_pxe_send): Likewise.
7634 (GRUB_MOD_INIT): Fix types.
7635
40ea05de
SJ
76362011-06-24 Szymon Janc <szymon@janc.net.pl>
7637
7638 * grub-core/io/xzio.c: Fix code style issues
7639
90162423
MRA
76402011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
76412011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
7642
7643 Network infrastructure.
7644 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
7645
7646 * include/grub/net/arp.h: New file.
90162423
MRA
7647 * include/grub/net/device.h: Likewise.
7648 * include/grub/net/ethernet.h: Likewise.
7649 * include/grub/net/ip.h: Likewise.
7650 * include/grub/net/netbuff.h: Likewise.
7651 * include/grub/net/tftp.h: Likewise.
7652 * include/grub/net/udp.h: Likewise.
7653 * include/grub/ieee1275/ofnet.h: Likewise.
7654 * include/grub/emu/export.h: Likewise.
7655 * include/grub/net.h: Likewise.
7656 * grub-core/net/arp.c: Likewise.
7657 * grub-core/net/ethernet.c: Likewise.
7658 * grub-core/net/ip.c: Likewise.
7659 * grub-core/net/udp.c: Likewise.
7660 * grub-core/net/tftp.c: Likewise.
7661 * grub-core/net/netbuff.c: Likewise.
7662 * grub-core/net/net.c: Likewise.
7663 * grub-core/net/drivers/emu/emunet.c: Likewise.
7664 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
7665 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
7666 export.h.
7667 * grub-core/Makefile.core.def (net): New module.
7668 (tftp): Likewise.
7669 (ofnet): Likewise.
7670 (emunet): Likewise.
7671 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
7672 network protocols.
7673 * grub-core/kern/device.c (grub_net_open) : New variable.
7674 (grub_device_open): Handle network device.
7675 (grub_device_close): Likewise.
7676 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
7677 (grub_grubnet_fini): Likewise.
7678 (grub_file_seek): Seek in network device.
7679 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
7680 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
7681 network root.
7682 (grub_machine_fini): Call grub_grubnet_fini.
7683 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
7684 network.
7685 (grub_ieee1275_get_aliasdevname): New function.
7686 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
7687 Add unofficial Solaris network info.
7688 (grub_multiboot_make_mbi): Likewise.
7689 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
7690 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
7691 * include/grub/device.h (grub_fs): Removed.
7692 * include/grub/err.h (grub_err_t): Add network-related values.
7693 * include/grub/i386/pc/pxe.h: Removed bootp parts.
7694 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
7695 (grub_ieee1275_get_aliasdevname): New proto.
7696 * include/grub/net.h: Rewritten.
423a1849 7697
031f22a0
VS
76982011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7699
7700 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
7701 names.
7702
4388ca72
VS
77032011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
7706 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
7707 it truncates the output.
7708 Reported by: Ximin Luo.
7709
98e2f506
VS
77102011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
7713
2a5e94d8
VS
77142011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7715
7716 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
7717 partmap before abstraction.
7718
535c1910
AK
77192011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
7720
7721 * util/grub-mkconfig_lib.in: Add missing quotes.
7722
bc09e1a2
VS
77232011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7724
7725 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
7726 old method if mountinfo would return /dev/root and /dev/root doesn't
7727 exist.
7728
290766fb
VS
77292011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7730
7731 ZFS zlib support
7732
7733 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
7734 (decomp_table): Add zlib entries.
7735 (zio_read): USe 8 bits for compression function rather than 3.
7736 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
7737
77382011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
7739
7740 * grub-core/disk/ahci.c: Add missing license statements.
7741 * grub-core/fs/romfs.c: Likewise.
7742 * grub-core/lib/ia64/setjmp.S: Likewise.
7743 * grub-core/loader/i386/pc/freedos.c: Likewise.
7744 * grub-core/loader/ia64/efi/linux.c: Likewise.
7745 * grub-core/video/colors.c: Likewise.
7746 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
7747
5ab3f48a
VS
77482011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7749
7750 AHCI support.
7751
7752 * grub-core/Makefile.core.def (ata_pthru): Removed.
7753 (ahci): New module.
7754 (pata): Likewise.
7755 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
7756 on unload.
7757 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
7758 readwrite.
7759 (grub_hdparm_do_check_powermode_cmd): Likewise.
7760 (grub_hdparm_do_smart_cmd): Likewise.
7761 (grub_hdparm_set_val_cmd): Likewise.
7762 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
7763 * grub-core/disk/ahci.c: New file.
7764 * grub-core/disk/ata.c: Factor out the low-level part into ...
7765 * grub-core/disk/pata.c: ... here.
7766 * grub-core/disk/ata_pthru.c: Contents moved to ...
7767 * grub-core/disk/pata.c: ... here.
7768 * grub-core/disk/scsi.c (grub_scsi_names): New array.
7769 (grub_scsi_iterate): Use grub_scsi_names.
7770 (grub_scsi_open): Likewise.
7771 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
7772 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
7773 (grub_ata_regs_t): New struct.
7774 (grub_disk_ata_pass_through_parms): Likewise.
7775 (grub_ata_device): Renamed to ...
7776 (grub_ata): ... this.
7777 (grub_ata_dev): New struct.
7778 Removed all low-level inline functions.
7779 * include/grub/scsi.h: Add PATA and AHCI subsystems.
7780 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
7781 iterate hooks and open. All users updated.
7782 * util/grub-install.in: Handle AHCI disk module.
7783
c31dc5f5
SJ
77842011-06-23 Szymon Janc <szymon@janc.net.pl>
7785
7786 Add support for DRI and RSTn markers in JPEG files.
7787
7788 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
7789 (JPEG_MARKER_RST0): Likewise.
7790 (JPEG_MARKER_RST1): Likewise.
7791 (JPEG_MARKER_RST2): Likewise.
7792 (JPEG_MARKER_RST3): Likewise.
7793 (JPEG_MARKER_RST4): Likewise.
7794 (JPEG_MARKER_RST5): Likewise.
7795 (JPEG_MARKER_RST6): Likewise.
7796 (JPEG_MARKER_RST7): Likewise.
7797 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
7798 (grub_jpeg_decode_dri): New function.
7799 (grub_jpeg_decode_sos): Move image data related part into
7800 grub_jpeg_decode_data function.
7801 (grub_jpeg_decode_data): New function.
7802 (grub_jpeg_reset): New function.
7803 (grub_jpeg_decode_jpeg): Handle new markers.
7804
fe12fd5b
VS
78052011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7806
7807 * util/ieee1275/ofpath.c (check_sas): Close fd.
7808 (main): Free of_path.
7809 Reported by: David Volgyes <dvolgyes>.
7810
03147f46
VS
78112011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7812
7813 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
7814 Reported by: David Volgyes <dvolgyes>.
7815
cad3237f
VS
78162011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7817
7818 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
7819 file after stat.
7820 Reported by: David Volgyes <dvolgyes>.
7821
13548d26
VS
78222011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7823
7824 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
7825
7826 Reported by: David Volgyes <dvolgyes>.
7827
e061a1b5
VS
78282011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7829
7830 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
7831 Prevent memory leak.
7832
1abe47dc
VS
78332011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7834
7835 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
7836 (main): Close file.
e061a1b5 7837 Reported by: David Volgyes <dvolgyes>.
1abe47dc 7838
fbc62666
VS
78392011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7840
7841 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
7842 to continue if allocation is failed.
7843
7844 Reported by: David Volgyes <dvolgyes>.
7845
e98c83e9
DV
78462011-06-23 David Volgyes <dvolgyes>
7847
7848 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
7849 dereference.
7850
a199a8cd
VS
78512011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7852
7853 Fix spurious warning.
7854
7855 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
7856 (acorn_partition_map_find): Use .bin member.
7857
e2d1dba0
VS
78582011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7859
7860 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
7861 /dev/root as a valid device.
7862
8a5d6919
JM
78632011-06-23 Jim Meyering <meyering@redhat.com>
7864
e2d1dba0
VS
7865 Avoid NULL deref in grub_device_open.
7866
8a5d6919
JM
7867 * grub-core/kern/device.c (grub_device_open): Don't dereference
7868 a NULL pointer upon failed grub_env_get.
7869
f7db6f4a
VS
78702011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
7871
7872 Support non-512B sectors and agglomerate reads.
7873
7874 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
7875 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
7876 (disk_io_guid): Removed.
7877 (make_devices): Locate solely by BlockIO.
7878 (grub_efidisk_open): Fill log_sector_size and total_sectors.
7879 (grub_efidisk_read): Use read_blocks.
7880 (grub_efidisk_write): Use write_blocks.
7881 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
7882 log_sector_size.
7883 (get_safe_sectors): Handle non-512B sectors.
7884 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
7885 sectors.
7886 (grub_biosdisk_write): Handle non-512B sectors.
7887 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
7888 (grub_scsi_read): Remove special non-512B block handling (now handled
7889 one level up).
7890 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
7891 and do sanity checks.
7892 (grub_disk_adjust_range): Handle non-512B sectors.
7893 (transform_sector): New function.
7894 (grub_disk_read_small): Likewise.
7895 (grub_disk_read): Rewritten.
7896 (grub_disk_write): Handle non-512B sectors.
7897 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
7898 log_sector_size.
7899 (open_device): Use log_sector_size.
7900 (grub_util_biosdisk_read): Likewise.
7901 (grub_util_biosdisk_write): Likewise.
7902 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
7903 non-512B sectors.
7904 (pc_partition_map_embed): Likewise.
7905 * include/grub/disk.h (grub_disk): New field log_sector_size.
7906 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
7907 (GRUB_DISK_CACHE_BITS): Increased to 6.
7908 * util/grub-fstest.c (fstest): New command testload.
7909 (argp_parser): Likewise.
7910
881ac815
RM
79112011-06-16 Robert Millan <rmh@gnu.org>
7912
7913 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
7914 `ata' driver on kernel of FreeBSD 9.
7915
7916 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
7917 (get_ataraid_disk_name): New functions.
7918 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
7919 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
7920 get_ataraid_disk_name() and get_ada_disk_name().
7921
1e9aef7d
CW
79222011-06-13 Colin Watson <cjwatson@ubuntu.com>
7923
7924 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
7925 input format.
7926
351c7c8a
CW
79272011-05-29 Colin Watson <cjwatson@ubuntu.com>
7928
7929 * docs/grub.texi (Obtaining and Building GRUB): Substitute
7930 `ftp.gnu.org' for `alpha.gnu.org'.
7931
6b4e6430
CW
79322011-05-27 Colin Watson <cjwatson@ubuntu.com>
7933
7934 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
7935 partitions under /dev/disk/by-id/.
7936
c64db050
CW
79372011-05-27 Colin Watson <cjwatson@ubuntu.com>
7938
7939 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
7940 after ten consecutive open failures. Scanning all the way up to
7941 10000 is excessive and can cause serious performance problems in
7942 some configurations.
7943 Fixes Ubuntu bug #787461.
7944
245f4aba
VS
79452011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7946
7947 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
7948 opening new one.
7949
f767c929
VS
79502011-05-21 Colin Watson <cjwatson@ubuntu.com>
79512011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
7952
7953 Don't stat devices unless we have to.
7954
7955 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
7956 dir == /dev/mapper.
7957 (grub_guess_root_device): Use already known os_dev if possible.
7958 * grub-core/kern/emu/hostdisk.c
7959 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
7960 if device is known to be a dm one.
7961
f35fa3a6
CW
79622011-05-20 Colin Watson <cjwatson@ubuntu.com>
7963
7964 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
7965 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
7966 Reported by: Pawel Tecza.
7967
9a79fcf2
VS
79682011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
7969
7970 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
7971 (lsefisystab): Likewise.
7972 (lssal): Likewise.
7973 (lsefimmap): Likewise.
7974 (hdparm): Enable on qemu-mips.
7975 (setjmp): Add ia64 nodist.
7976 (serial): Simplify tags.
7977
63e3eea9
CW
79782011-05-18 Colin Watson <cjwatson@ubuntu.com>
7979
7980 * Makefile.util.def (grub-ofpathname): Install manual page.
7981
09728256
CW
79822011-05-18 Colin Watson <cjwatson@ubuntu.com>
7983
7984 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
7985
8b63a142
CW
79862011-05-18 Colin Watson <cjwatson@ubuntu.com>
7987
7988 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
7989
e775d8ed
VS
79902011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7991
7992 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
7993 into dprintf.
7994
bf947d36
VS
79952011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
7996
7997 Use full 64-bit division.
7998
7999 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
8000 (grub_divmod64): ... this.
8001 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
8002 version.
8003
b84f26c5
CW
80042011-05-18 Colin Watson <cjwatson@ubuntu.com>
8005
8006 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
8007 `source'.
8008
5626056f
CW
80092011-05-18 Colin Watson <cjwatson@ubuntu.com>
8010
8011 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
8012 to avoid accidents when debugging with 'sh -x'.
8013 * grub-core/gensyminfo.sh.in: Likewise.
8014 * tests/example_scripted_test.in: Likewise.
8015 * tests/grub_cmd_regexp.in: Likewise.
8016 * tests/grub_script_blanklines.in: Likewise.
8017 * tests/grub_script_dollar.in: Likewise.
8018 * tests/grub_script_expansion.in: Likewise.
8019 * tests/grub_script_final_semicolon.in: Likewise.
8020 * tests/partmap_test.in: Likewise.
8021 * tests/util/grub-shell-tester.in: Likewise.
8022 * tests/util/grub-shell.in: Likewise.
8023
e2965f4a
CW
80242011-05-18 Colin Watson <cjwatson@ubuntu.com>
8025
8026 Move gfxmenu color handling to video, so that gfxterm can use it
8027 too.
8028
8029 * grub-core/gfxmenu/named_colors.c: Move to ...
8030 * grub-core/video/colors.c: ... here. Rename
8031 grub_gui_get_named_color to grub_video_get_named_color.
8032 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
8033 * grub-core/video/colors.c (my_isxdigit): ... here.
8034 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
8035 Move to ...
8036 * grub-core/video/colors.c (parse_hex_color_component): ... here.
8037 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
8038 to ...
8039 * grub-core/video/colors.c (grub_video_parse_color): ... here.
8040
8041 * include/grub/gui.h (grub_gui_color_t): Move to ...
8042 * include/grub/video.h (grub_video_rgba_color_t): ... here.
8043 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
8044 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
8045 * include/grub/gui.h (grub_gui_map_color): Move to ...
8046 * include/grub/video.h (grub_video_map_rgba_color): ... here.
8047 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
8048 to ...
8049 * include/grub/video.h (grub_video_get_named_color): ... here.
8050 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
8051 * include/grub/video.h (grub_video_parse_color): ... here.
8052
8053 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
8054 video/colors.c.
8055 (gfxmenu): Remove gfxmenu/named_colors.c.
8056 (video) [videomodules]: Add video/colors.c.
8057
8058 Add a background_color command.
8059
8060 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
8061 function.
8062 (GRUB_MOD_INIT): Register background_color command.
8063 (GRUB_MOD_FINI): Unregister background_color command.
8064 (redraw_screen_rect): Allow blend/replace of text layer to be
8065 controlled independently from whether there is a background bitmap.
8066 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
8067 changing bitmap.
8068
1e4b4390
VS
80692011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8070
26618ff0
VS
8071 Patch BPB in ntldr and chainloader --bpb.
8072
1e4b4390
VS
8073 * grub-core/fs/fat.c: Include grub/fat.h.
8074 (grub_fat_bpb): Moved to ...
8075 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
8076 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
8077 grub/ntfs.h.
8078 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
8079 Moved from here...
8080 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
8081 here.
8082 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
8083 New function.
8084 (grub_chainloader_cmd): Patch BPB if --bpb is given.
8085 (GRUB_MOD_INIT): Show --bpb.
8086 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
8087 * grub-core/normal/main.c (features): New variable.
8088 (GRUB_MOD_INIT): Set feature_* variables.
8089 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
8090 proto.
8091 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
8092
cf02731e
VS
80932011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8094
8095 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
8096 for cleanness.
8097
e3a1073f
VS
80982011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8099
8100 FreeDOS direct loading support.
8101
8102 * docs/grub.texi (Supported OS): Add FreeDOS.
8103 * grub-core/Makefile.core.def (freedos): New module.
8104 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
8105 variable.
8106 (grub_relocator16_boot): Handle %ebx.
8107 * grub-core/lib/i386/relocator16.S: Likewise.
8108 * grub-core/loader/i386/pc/freedos.c: New file.
8109
05caa461
VS
81102011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8111
8112 Long Linux command line support.
8113
8114 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8115 (maximal_cmdline_size): New variable.
8116 (allocate_pages): Use maximal_cmdline_size.
8117 (grub_cmd_linux): Set and use maximal_cmdline_size.
8118 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
8119 (allocate_pages): Use maximal_cmdline_size.
8120 (grub_cmd_linux): Set and use maximal_cmdline_size.
8121 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
8122 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
8123 and cmdline_size.
8124
a2491e23
VS
81252011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
81262011-05-18 Colin Watson <cjwatson@ubuntu.com>
8127
8128 Improve devmapper support
8129
8130 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
8131 (grub_util_is_lvm): New function.
8132 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
8133 than lvm if not dmraid.
8134 Handle mapped md nodes.
8135 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
8136 (grub_util_device_is_mapped): ... this. Make always available. All users
8137 updated.
8138 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
8139 (convert_system_partition_to_system_disk): Handle lvm, mpath and
8140 dmraid nodes.
8141 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
8142
6ad6223e
VS
81432011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8144
8145 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
8146
8147 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
8148 * grub-core/modinfo.sh.in: New file.
8149 * grub-core/Makefile.core.def (modinfo.sh): New script.
8150 * util/grub-mknetdir.in: Use modinfo.sh.
8151 * util/grub-mkrescue.in: Likewise.
8152
543a8f6e
VS
81532011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8154
8155 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8156 Fix potential usage of Elf32 instead of Elf64 when compiling on
8157 32-bit architecture. Add endianness macros while on it.
8158
4959e111
VS
81592011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8160
8161 Use mipsel- rather than mips- in directories involving mipsel ports to
8162 allow both endiannesses coexist.
8163
8164 * configure.ac: proparate target_cpu=mipsel rather than resetting to
8165 mips. All conditions adjusted.
8166 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
8167 variable.
8168 * util/grub-install.in: Adjust conditions to take renaming into account.
8169 * util/grub-mkimage.c (image_targets): Likewise. New target
8170 mips-qemu_mips-elf for bigendian mips.
8171
35341bbc
VS
81722011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8173
8174 Avoid unnecessary copying on MIPS.
8175
8176 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
8177 early if src == dest.
8178 * util/grub-mkimage.c (generate_image): Arange for src == dest if
8179 compression is none.
8180
b772baed
VS
81812011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8182
8183 Reduce memory footprint on SGI by putting modules before the kernel
8184 as opposed to after.
8185
8186 * grub-core/Makefile.core.def (kernel): Increase linking address.
8187 (none_decompress): Likewise.
8188 (xz_decompress): Likewise.
8189 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
8190 address.
8191 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
8192 layout change.
8193 (grub_arch_modules_addr): New function.
8194 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
8195 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
8196 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
8197 here.
8198 * grub-core/kern/mips/startup.S (total_size): Rename to ...
8199 (grub_total_modules_size): ... this. Make global.
8200 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
8201 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
8202 New definition.
8203 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
8204 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
8205 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
8206 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
8207 * util/grub-mkimage.c (image_target_desc): New flag
8208 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
8209 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
8210 (generate_image): Handle images with modules before kernel.
8211
566a1917
VS
82122011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8213
8214 Prevent potential loss of memory map by overwrite on qemu-mips.
8215
8216 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8217 Save ram size in $s4.
8218 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
8219 All users changed to grub_arch_memsize.
8220 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
8221 Loongson.
8222 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
8223 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
8224 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
8225 external variable.
8226
5d420cd9
CW
82272011-05-17 Colin Watson <cjwatson@ubuntu.com>
8228
8229 * .bzrignore: Remove grub-dumpbios.
8230
d064b830
CW
82312011-05-17 Colin Watson <cjwatson@ubuntu.com>
8232
8233 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
8234 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
8235 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
8236 existing options which append).
8237 * docs/grub.texi (Simple configuration): Document new options.
8238 Reported by: Ian Jackson. Fixes Debian bug #617538.
8239
3ca2b466
CW
82402011-05-17 Colin Watson <cjwatson@ubuntu.com>
8241
8242 * util/grub-fstest.c (cmd_cat): New function.
8243 (fstest): Handle CMD_CAT.
8244 (options): Add cat.
8245 (argp_parser): Handle cat.
8246
24c9143a
CW
82472011-05-17 Colin Watson <cjwatson@ubuntu.com>
8248
8249 * Makefile.util.def (grub-bin2h): Don't install.
8250 * docs/man/grub-bin2h.h2m: Remove.
8251
90f7ac19
VS
82522011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8253
8254 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
8255 place.
8256
8d4a5178
VS
82572011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8258
8259 Reenable qemu-mips port.
8260
8261 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
8262 Fix small arc bug while on it.
8263 * gentpl.py: Handle qemu_mips.
8264 * grub-core/Makefile.am: Likewise.
8265 * grub-core/Makefile.core.def: Likewise.
8266 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
8267 inappropriate includes.
8268 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
8269 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
8270 * grub-core/kern/main.c (grub_modules_get_end)
8271 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
8272 * grub-core/kern/mips/qemu-mips: Moved to ..
8273 * grub-core/kern/mips/qemu_mips: ... this.
8274 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
8275 (grub_machine_init): Call terminfo_init and serial_init.
8276 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
8277 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
8278 New variable.
8279 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
8280 parameter passing.
8281 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
8282 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
8283 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
8284 * include/grub/mips/qemu_mips/cmos.h: New file.
8285 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
8286 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
8287 Removed.
8288 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
8289 Use correct mips-style address.
8290 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
8291 (GRUB_TICKS_PER_SECOND): Removed.
8292 (grub_get_rtc): Likewise.
8293 (grub_cpu_idle): Likewise.
8294 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
8295 New definition.
8296 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
8297 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
8298 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
8299 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
8300 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
8301 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
8302 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
8303 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
8304
400b9371
VS
83052011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8306
8307 SGI ARCS port.
8308
8309 * Makefile.util.def (libgrubmods.a): Add dvh.c.
8310 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
8311 platforms.
8312 * configure.ac: New target mips-arc.
8313 * gentpl.py: Likewise.
8314 * grub-core/Makefile.am: Likewise.
8315 * grub-core/Makefile.core.def: Likewise.
8316 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
8317 (none_decompress): Likewise.
8318 (lsdev): New module.
8319 (datetime): Use lib/arc/datetime.c on ARC.
8320 (part_dvh): New module.
8321 * grub-core/commands/arc/lsdev.c: New file.
8322 * grub-core/disk/arc/arcdisk.c: Likewise.
8323 * grub-core/kern/mips/arc/init.c: Likewise.
8324 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
8325 aligned addresses.
8326 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
8327 support.
8328 (grub_arch_dl_relocate_symbols): Likewise.
8329 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
8330 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
8331 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
8332 platforms.
8333 * grub-core/lib/arc/datetime.c: New file.
8334 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
8335 pci.h on non-loongson.
8336 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
8337 (grub_linux_boot): Set unused registers to 0.
8338 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
8339 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
8340 * grub-core/mmap/mips/uppermem.c: ...here.
8341 * grub-core/partmap/dvh.c: New file.
8342 * grub-core/term/arc/console.c: Likewise.
8343 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
8344 (grub_terminfo_set_current): Add terminal "arc".
8345 (grub_terminfo_readkey): Support ARC sequences.
8346 * include/grub/arc/arc.h: New file.
8347 * include/grub/arc/console.h: Likewise.
8348 * include/grub/disk.h (grub_disk_dev_id): Add
8349 GRUB_DISK_DEVICE_ARCDISK_ID.
8350 * include/grub/mips/arc/kernel.h: New file.
8351 * include/grub/mips/arc/memory.h: Likewise.
8352 * include/grub/mips/arc/time.h: Likewise.
8353 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
8354 * include/grub/mips/kernel.h (grub_halt): ... here.
8355 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
8356 here...
8357 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
8358 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
8359 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
8360 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
8361 proto.
8362 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
8363 from here ...
8364 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
8365 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
8366 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
8367 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
8368 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
8369 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
8370 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
8371 (grub_phys_addr_t): Moved from here ...
8372 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
8373 (grub_vtop): Moved from here ...
8374 * include/grub/mips/memory.h (grub_vtop): ... here.
8375 (grub_map_memory): Moved from here ...
8376 * include/grub/mips/memory.h (grub_map_memory): ... here.
8377 (grub_unmap_memory): Moved from here ...
8378 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
8379 (grub_machine_mmap_iterate): Moved from here ...
8380 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
8381 (grub_mmap_get_lower): Moved from here ...
8382 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
8383 (grub_mmap_get_upper): Moved from here ...
8384 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
8385 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
8386 here ...
8387 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
8388 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
8389 here ...
8390 * include/grub/mips/time.h (grub_get_rtc): ... here.
8391 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
8392 here ...
8393 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
8394 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
8395 here ...
8396 * include/grub/mips/time.h (grub_cpu_idle): ... here.
8397 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
8398 definition.
8399 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
8400 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
8401 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
8402 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
8403 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
8404 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
8405 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
8406 (GRUB_MACHINE_LINK_ADDR): Likewise.
8407 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
8408 to 6.
8409 * util/grub-install.in: Run dvhtool on ARC.
8410 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 8411 (generate_image): Handle ECOFF output for mips-arc.
400b9371 8412
c8ecc840
VS
84132011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8414
8415 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
8416 blocks.
8417
153a4b55
VS
84182011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8419
8420 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
8421 after enabling port.
8422
ff44d107
VS
84232011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8424
8425 Skip incorrect USB devices.
8426
8427 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
8428 configcnt == 0.
8429 * include/grub/usb.h (grub_usb_err_t): New enum value
8430 GRUB_USB_ERR_BADDEVICE.
8431
638dbe4f
VS
84322011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
8433
8434 Fuloong video init support.
8435
8436 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
8437 well.
8438 (grub_vga_read_arx): New function.
8439 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
8440 definition.
8441 (framebuffer): New members io, mmioptr and mmiobase.
8442 (read_sis_cmd): New function.
8443 (write_sis_cmd): Likewise.
8444 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
8445 rather than 640x400.
8446 * grub-core/video/sis315_init.c: New file.
8447
c3fc520c
VS
84482011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8449
8450 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
8451 non-loongson.
8452 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
8453 to grub_dl_register_symbol.
8454
67b1e5c9
VS
84552011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8456
8457 Fix compilation errors.
8458
8459 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
8460 potentially unused.
8461 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
8462 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
8463 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
8464 to loongson machines.
8465
b756f75f
VS
84662011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8467
8468 Several FS mtime support.
8469
8470 * grub-core/fs/affs.c (grub_affs_time): New struct.
8471 (grub_affs_file): New field mtime.
8472 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
8473 type. Removed 'size'. New field 'di'. All users updated.
8474 (grub_affs_mount): Simplify checsum checking.
8475 (grub_affs_iterate_dir): New helper grub_affs_create_node.
8476 (grub_affs_dir): Handle mtime.
8477 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
8478 (grub_cpio_dir): Likewise.
8479 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
8480 (grub_hfs_filerec): New field mtime.
8481 (grub_hfs_dir): Handle mtime.
8482 (grub_hfs_mtime): New function.
8483 (grub_hfs_fs): Register grub_hfs_mtime.
8484 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
8485 (grub_iso9660_dir): New field mtime.
8486 (grub_fshelp_node): New field dirent.
8487 (iso9660_to_unixtime): New function.
8488 (iso9660_to_unixtime2): Likewise.
8489 (grub_iso9660_read_symlink): Use node->dirent.
8490 (grub_iso9660_iterate_dir): Likewise.
8491 (grub_iso9660_dir): Set mtime.
8492 (grub_iso9660_mtime): New function.
8493 (grub_iso9660_fs): Register grub_iso9660_mtime.
8494 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
8495 (grub_jfs_inode): New fields atime, ctime and mtime.
8496 (grub_jfs_dir): Set mtime.
8497 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
8498 * grub-core/fs/ntfs.c (list_file): Set mtime.
8499 (grub_ntfs_dir): Likewise.
8500 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
8501 (grub_reiserfs_iterate_dir): Set mtime.
8502 (grub_reiserfs_dir): Likewise.
8503 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
8504 (grub_fshelp_node): Likewise.
8505 (grub_sfs_iterate_dir): Set mtime.
8506 (grub_sfs_dir): Likewise.
8507 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
8508 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
8509 (grub_xfs_inode): New fields atime, mtime, ctime.
8510 (grub_xfs_dir): Set mtime.
8511 * include/grub/datetime.h (grub_datetime2unixtime): New function.
8512 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
8513 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
8514
8515 Support UDF symlinks.
8516
8517 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
8518 (grub_ufs_read_symlink): New function. All users updated.
8519
8520 Check amiga partmap checksum.
8521
8522 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
8523 (grub_amiga_partition): Likewise.
8524 (amiga_partition_map_checksum): New function.
8525 (amiga_partition_map_iterate): Check checksum.
8526
5470225d
VS
85272011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8528
8529 ROMFS support.
8530
8531 * Makefile.util.def (libgrubmods.a): Add romfs.
8532 * grub-core/Makefile.core.def (romfs): New module.
8533 * grub-core/fs/romfs.c: New file.
8534
d4680a35
VS
85352011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8536
8537 Squashfs v4 support.
8538
8539 * Makefile.util.def (libgrubmods.a): Add squash4.
8540 * grub-core/Makefile.core.def (squash4): New module.
8541 * grub-core/fs/squash4.c: New file.
8542 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
8543 disk_input_start, disk_input.
8544 (get_byte): Handle disk_input.
8545 (grub_zlib_disk_read): New function.
8546 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
8547
bcb18e74
FZ
85482011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
85492011-05-15 Feiran Zheng <famcool@gmail.com>
8550
8551 * Makefile.util.def (libgrubmods.a): Add minix3.
8552 * grub-core/Makefile.core.def (minix3): New module.
8553 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
8554 (GRUB_MINIX_BSIZE): Removed.
8555 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
8556 (grub_minix_ino_t): New type.
8557 (grub_minix_le_to_cpu_ino): New macro.
8558 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
8559 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
8560 (grub_minix_data): New field block_size.
8561 (grub_minix_read_file): Handle 64-bit correctly.
8562 * grub-core/fs/minix3.c: New file.
8563
32297d5f
TG
85642011-05-15 Tristan Gingold <gingold@free.fr>
85652011-05-15 Robert Millan <rmh.grub@aybabtu.com>
85662011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8567
8568 IA64 support.
8569
8570 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
8571 * configure.ac: Add ia64-efi target.
8572 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
8573 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
8574 * gentpl.py: Add ia64_efi platform.
8575 Rename x86_efi to efi and Add ia64-efi. All users updated.
8576 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
8577 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
8578 Remove kern/generic/rtc_get_time_ms.c on EFI.
8579 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
8580 kern/ia64/dl_helper.c on ia64-efi.
8581 Add kern/emu/cache.c on emu.
8582 (linux): Use on loader/ia64/efi/linux.c on ia64.
8583 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
8584 whether symbol is a function.
8585 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
8586 (grub_symbol): New field 'isfunc'.
8587 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
8588 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
8589 (grub_dl_load_segments): Place all sections into the same region.
8590 [__ia64__]: Create trampolines and got.
8591 [GRUB_MACHINE_EMU]: Call mprotect.
8592 (grub_dl_resolve_symbols): Resolve symbol type as well.
8593 [__ia64__]: Create function descriptors.
8594 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
8595 (grub_rtc_get_time_ms): ... this. Expressions simplified.
8596 (grub_get_rtc): New function.
8597 * grub-core/kern/emu/cache.c [__ia64__]: New file.
8598 * grub-core/kern/emu/cache.S: Renamed to ...
8599 * grub-core/kern/emu/cache_s.S: ... this.
8600 [__ia64__]: Add a nop.
8601 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
8602 [__ia64__]: New function.
8603 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
8604 * grub-core/kern/ia64/dl.c: New file.
8605 * grub-core/kern/ia64/dl_helper.c: Likewise.
8606 * grub-core/kern/ia64/efi/init.c: New file.
8607 * grub-core/kern/ia64/efi/startup.S: Likewise.
8608 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
8609 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
8610 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
8611 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
8612 * grub-core/loader/ia64/efi/linux.c: New file.
8613 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
8614 (GRUB_MOD_DEP): Likewise.
8615 (grub_dl) [__ia64__]: New fields got and tramp.
8616 (grub_dl): New field 'base'.
8617 (grub_dl_register_symbol): New argument isfunc. All users updated.
8618 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
8619 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
8620 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
8621 (grub_ia64_dl_get_tramp_got_size): New proto.
8622 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
8623 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
8624 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
8625 * include/grub/efi/api.h: Skip call wrappers on ia64.
8626 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
8627 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
8628 * include/grub/elf.h (ELF_ST_INFO): New definition.
8629 * include/grub/ia64/efi/kernel.h: New file.
8630 * include/grub/ia64/efi/memory.h: Likewise.
8631 * include/grub/ia64/efi/time.h: Likewise.
8632 * include/grub/ia64/kernel.h: Likewise.
8633 * include/grub/ia64/setjmp.h: Likewise (from glibc).
8634 * include/grub/ia64/time.h: New file.
8635 * include/grub/ia64/types.h: Likewise.
8636 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
8637 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
8638 New protos.
8639 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
8640 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
8641 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
8642 * util/grub-mkimage.c (image_target_desc): New field pe_target.
8643 All users updated.
8644 (EFI64_HEADER_SIZE): New definition. All users updated.
8645 (image_targets): Add ia64-efi.
8646 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
8647 jumpers_addr. All users updated.
8648 Create function descriptors.
8649 (count_funcs): New function.
8650 (unaligned_uint32): New struct.
8651 (MASK20): New definition.
8652 (MASK19): Likewise.
8653 (MASKF21): Likewise.
8654 (add_value_to_slot_20b): New function.
8655 (add_value_to_slot_21_real): Likewise.
8656 (add_value_to_slot_21): Likewise.
8657 (ia64_kernel_trampoline): New struct.
8658 (nopm): New variable.
8659 (jump): Likewise.
8660 (make_trampoline): New function.
8661 (relocate_addresses): Handle ia64.
8662 (make_reloc_section): Likewise.
8663 (load_image): Likewise.
8664
983b414d
VS
86652011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8666
8667 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
8668 warning. Move variables before code while on it.
8669
5d063cdc
VS
86702011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8671
8672 Fuloong support.
8673
8674 * configure.ac: Rename yeeloong platform to loongson. All users updated.
8675 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
8676 * grub-core/boot/mips/loongson/fuloong.S: New file.
8677 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
8678 Explicitly init CS5536.
8679 [FULOONG]: Don't use serial until CS5536 is available.
8680 Set GPIO based on dumps.
8681 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
8682 [FULOONG]: Handle GPIO and memory controller differences.
8683 Parse machine type in $a2.
8684 * grub-core/boot/mips/startup_raw.S: Determine and save the
8685 architecture.
8686 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
8687 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
8688 init on architecture type.
8689 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
8690 SIS315E. Don't init at_keyboard on fuloong.
8691 (grub_halt): Support Fuloong.
8692 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
8693 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
8694 (loongson_machtypes): New array.
8695 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
8696 type.
8697 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
8698 config. All users updated. Handle CS5536 serial.
8699 * grub-core/term/serial.c (grub_serial_register): Conditionalise
8700 default port on machine type. Register serial as inactive.
8701 * grub-core/video/sis315pro.c: New file.
8702 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
8703 definition.
8704 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
8705 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
8706 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
8707 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
8708 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
8709 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
8710 to ...
8711 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
8712 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
8713 definition.
8714 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
8715 (grub_arch_machine): New extern var.
8716 * include/grub/mips/loongson/serial.h
8717 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
8718 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
8719 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
8720 (GRUB_MACHINE_SERIAL_PORT0): ... this.
8721 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
8722 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
8723 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
8724 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
8725 * include/grub/term.h (grub_term_register_input_inactive): New inline
8726 function.
8727 (grub_term_register_output_inactive): Likewise.
8728 * include/grub/video.h (grub_video_driver_id): New value
8729 GRUB_VIDEO_DRIVER_SIS315PRO.
8730 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
8731 New field "names". All users updated.
8732 New field value IMAGE_FULOONG_FLASH.
8733 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
8734
6ada82d1
JU
87352011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
8736
8737 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
8738 and add some clarification.
8739
90c571a4
VS
87402011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8741
8742 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
8743 platforms if kernel is compressed.
8744
de04eecf
VS
87452011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
8748 unused modules since currently referrence counter isn't reliable and
8749 there isn't much memory to recover there anyway.
8750
57688121
VS
87512011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8752
8753 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
8754 rather than resetting it to allow modules to reference themselves
8755 in init.
8756
3d2c7e35
VS
87572011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8758
8759 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
8760 counter on dependencies since grub_dl_unref already handles this.
8761
b25db218
VS
87622011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8763
8764 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
8765 on error if not already done.
8766
25a45338
VS
87672011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8768
8769 Fix few potential memory misusage.
8770
8771 * grub-core/font/font.c (load_font_index): Don't free char_index to
8772 avoid double free.
b25db218
VS
8773 (grub_font_load): Zero-fill font at alloc for safety.
8774 Close file on error.
8775 (free_font): Free bmp_idx.
25a45338 8776
0cac83df
VS
87772011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8778
8779 * docs/grub.texi (Installation): Fix several outdated claims.
8780
2217a143
VS
87812011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8782
8783 Handle module_license on windows.
8784
8785 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
8786 sections shifted.
8787 (insert_string): Make argument const char * instead of char *.
8788 (write_section_data): Handle long section names.
8789 Handle module_license.
8790
d4de6b01
VS
87912011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8792
8793 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
8794 handle class-free menuentries.
8795 (grub_normal_add_menu_entry): Add a check to be sure.
8796
4c2a3b43
VS
87972011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8798
8799 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
8800 PgUp and PgDown.
8801
85c6210f
VS
88022011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8803
8804 * configure.ac: Bump version to 1.99.
8805
36084912
VS
88062011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8807
8808 Give ATA device a bit more time on first try in order to allow disks
8809 to spin up.
8810
8811 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
8812 if dev->present is 1. Reset dev->present on failure.
8813 (grub_ata_device_initialize): Set dev->present to 1.
8814 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
8815 (grub_ata_device): New member 'present'.
8816
bda0e219
VS
88172011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8818
8819 * util/grub-mkimage.c (generate_image): Update hash.
8820
19e1c41b
VS
88212011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8822
8823 Flush caches on DMA memory.
8824
8825 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
8826 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
8827 (grub_dma_free): Likewise.
8828 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
8829
91bbcc0c
VS
88302011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8831
8832 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
8833 to avoid asm treating ld and sd as macros.
8834
60ddfad3
VS
88352011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8836
8837 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
8838 decompressor.
8839
a298aa04
VS
88402011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8841
8842 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
8843 grub_decompress_core since later would fail if grub_decompress_core
8844 is too far.
8845
9b44feca
VS
88462011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8847
8848 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
8849 R_MIPS_JALR since it's used by newer compiler.
8850
56dbe7b4
VS
88512011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8852
8853 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
8854
52856af2
VS
88552011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8856
8857 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
8858 file_path to 0 for surety.
8859 (grub_chainloader_boot): Set exit_data to NULL.
8860 Unset the loader once done.
8861 (grub_cmd_chainloader): Fix confusing error message if file is empty.
8862
9c9bfc6d
VS
88632011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8864
8865 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
8866 unknown key into a dprintf.
8867
dd94a3df
VS
88682011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8869
8870 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
8871 on first non-existant partition.
8872
fa68d99c
VS
88732011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8874
8875 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
8876 openning fails.
8877 Reported by: Mark Korenberg.
8878
157effb7
VS
88792011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8880
8881 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
8882 overflow.
8883
ea75312f
VS
88842011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8885
8886 * util/grub-mkimage.c (main): Explicitely flush and sync the output
8887 before closing to ensure that it will be readable by grub-setup.
8888
072b5d31
VS
88892011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8890
8891 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
8892 (devpath_1): Use MAKE_PIWG_PATH.
8893 (devpath_2): Likewise.
8894 (devpath_3): Likewise.
8895 (devpath_4): Likewise.
8896 (devpath_5): Likewise.
8897 (devpath_6): Likewise.
8898
8899 The appleldr.mod was checked that to be binary identical to previous
8900 version.
8901
7fae0051
Z
89022011-05-05 Zach <mikezackles>
8903
8904 Support 2010 Macbooks.
8905
8906 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
8907 (devs): Add devpath_6.
8908
7c515bee
VS
89092011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8910
8911 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
8912 /dev/random. /dev/urandom is good enough for our purposes (salting).
8913
ed660bd8
VS
89142011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8915
8916 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
8917
ee5614b7
VS
89182011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8919
8920 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
8921 hexadecimal.
8922
664889a6
VS
89232011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8924
8925 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
8926 and not 0 on failure.
8927
bd405bbc
CW
89282011-05-03 Colin Watson <cjwatson@ubuntu.com>
8929
8930 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
8931 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
8932 disk; otherwise grub_fs_probe will not fall back to the next
8933 filesystem.
8934 (grub_pxefs_open): Likewise, for consistency.
8935 Reported and tested by: Ezekiel Grave.
8936
4ebff753
CW
89372011-05-03 Colin Watson <cjwatson@ubuntu.com>
8938
8939 * tests/partmap_test.in: Don't hardcode path to parted.
8940 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
8941
8f942553
CW
89422011-05-01 Colin Watson <cjwatson@ubuntu.com>
8943
8944 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
8945 of `ls' to find out which devices are available.
8946
3c62402d
VS
89472011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8948
8949 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
8950 than source address for efi mmap buffer.
8951
723f63f2
VS
89522011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8953
8954 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
8955 wrong action on non-detecting the magic.
8956
68797f92
VS
89572011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8958
8959 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
8960 already supplied by another part of the module (fixes compilation on
8961 FreeBSD).
8962
6be8715d
VS
89632011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8964
8965 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
8966 match the one used by mdadm.
8967
e91dba5b
CW
89682011-04-21 Colin Watson <cjwatson@ubuntu.com>
8969
8970 * po/README: Add instructions for creating po/LINGUAS.
8971
c85140b3
CW
89722011-04-21 Colin Watson <cjwatson@ubuntu.com>
8973
8974 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
8975 #551428.
8976
8977 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
8978 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
8979 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
8980 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
8981 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
8982 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
8983 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
8984 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
8985 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
8986 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
8987 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
8988 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
8989 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
8990 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
8991 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
8992 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
8993 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
8994 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
8995 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
8996 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
8997 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
8998 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
8999
92051871
CW
90002011-04-21 Colin Watson <cjwatson@ubuntu.com>
9001
9002 * grub-core/kern/emu/getroot.c
9003 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
9004 test that was incorrectly reintroduced in r3214.
9005 Reported by: Ian Dall. Fixes Savannah bug #33133.
9006
b13f79a4
CW
90072011-04-21 Colin Watson <cjwatson@ubuntu.com>
9008
9009 Fix stack pointer handling in 16-bit relocator.
9010
9011 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
9012 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
9013 Fixes Ubuntu bug #683904.
9014
9b710a88
VS
90152011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9016
9017 * configure.ac: Bump version to 1.99~rc2.
9018
d97e7b59
VS
90192011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9020
9021 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
9022 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
9023 * grub-core/lib/x86_64/setjmp.S: Likewise.
9024 * grub-core/lib/mips/setjmp.S: Likewise.
9025 * grub-core/lib/powerpc/setjmp.S: Likewise.
9026 * grub-core/lib/sparc64/setjmp.S: Likewise.
9027
0624551c
VS
90282011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
9029
9030 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
9031 * grub-core/lib/efi/datetime.c: Likewise.
9032
e8f28d4c
VS
90332011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9034
9035 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
9036 New function.
9037 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
9038 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
9039 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
9040
bba79a15
VS
90412011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9042
9043 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
9044 bitmap.
9045 (grub_gfxterm_term_init): Likewise.
9046
abc474ef
VS
90472011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
9048
9049 Take into account the decorations the computing menu entry width.
9050
9051 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
9052 (grub_gfxmenu_create_box): Register get_border_width.
9053 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
9054 if available.
9055 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
9056 get_border_width.
9057
e74b3947
EP
90582011-04-18 Endres Puschner <code@e7p.de>
9059
9060 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
9061 Don't skip first class.
9062
34faa595
VS
90632011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9064
9065 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
9066 chunks.
9067 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
9068
93a777e3
VS
90692011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9070
9071 Complete 64-bit division support.
9072
9073 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
9074 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
9075 * include/grub/misc.h (grub_divmod64): Rename to ...
9076 (grub_divmod64_full): ... this.
9077 (grub_divmod64): New inline function.
9078
a5102d94
VS
90792011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9080
9081 * util/grub-mkimage.c (generate_image): Add forgotten comma.
9082
f3fb7b36
VS
90832011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
9084
9085 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
9086 performing the necessary test.
9087
9ac718b0
VS
90882011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9089
9090 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
9091 (kfreebsd.elf): Likewise.
9092 (pc-chainloader.elf): Likewise.
9093 (ntldr.elf): Likewise.
9094
50d2cc5a
VS
90952011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
9096
9097 Identify RAID by its UUID rather than (guessed) name.
9098
9099 * grub-core/disk/raid.c (ascii2hex): New function.
9100 (grub_raid_open): Accept mduuid/%s specification.
9101 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
9102 (get_mdadm_uuid): ... this.
9103 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
9104
e03f7bea
VS
91052011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
9106
9107 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
9108 to negative size.
9109
e74c3112
CW
91102011-04-13 Colin Watson <cjwatson@ubuntu.com>
9111
9112 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
9113 btrfs subvolume.
9114 * util/grub.d/20_linux_xen.in: Likewise.
9115
78fa584f
CW
91162011-04-13 Colin Watson <cjwatson@ubuntu.com>
9117
9118 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
9119 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
9120
9121 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
9122 Build a list of relevant visible mounts using the mnt_id and
9123 parent_mnt_id fields, and then scan that list at the end.
9124
9d5f8162
CW
91252011-04-12 Colin Watson <cjwatson@ubuntu.com>
9126
9127 * docs/grub.texi (normal): New section.
9128 (normal_exit): New section.
9129 (Embedded configuration): Add reference to normal.
9130 (GRUB only offers a rescue shell): Likewise.
9131 * docs/grub-dev.texi (Error Handling): Fix typo.
9132
09a9d66f
CW
91332011-04-12 Colin Watson <cjwatson@ubuntu.com>
9134
9135 * NEWS: Drop obsolete entry about probe-only btrfs support.
9136
0c676933
CW
91372011-04-12 Colin Watson <cjwatson@ubuntu.com>
9138
9139 * util/import_gcry.py: Fix typo.
9140
ec9f5e0d
VS
91412011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9142
9143 * NEWS: Add btrfs support.
9144
fe6b2cba
VS
91452011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
91462011-04-11 Colin Watson <cjwatson@ubuntu.com>
9147
9148 BtrFS support. Written by me (Vladimir) with important bugfixes and
9149 even more important testing by Colin.
9150
9151 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
9152 * grub-core/Makefile.core.def (btrfs): Add crc.c.
9153 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
9154 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
9155 mem_input_off and mem_input. All users updated to accept in-RAM input.
9156 (gzio_seek): New function.
9157 (test_zlib_header): Likewise.
9158 (grub_gzio_read): Likewise.
9159 (grub_zlib_decompress): Likewise.
9160 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
9161 Accept partial and non-virtual mounts.
9162 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
9163 avoid receiving /dev/dm-X as device.
9164 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
9165 Handle bind and partial mounts.
9166 * grub-core/lib/crc.c: New file.
9167 * include/grub/deflate.h: Likewise.
9168 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
9169 proto.
9170 * include/grub/lib/crc.h: New file.
9171
e745cf0c
VS
91722011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9173
9174 Implement automatic module license checking according to new GNU
9175 guidelines.
9176
9177 * grub-core/kern/dl.c (grub_dl_check_license): New function.
9178 (grub_dl_load_core): Use grub_dl_check_license.
9179 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
9180 (GRUB_MOD_LICENSE): Likewise.
9181 (GRUB_MOD_DUAL_LICENSE): Likewise.
9182 All modules updated.
9183
2a9bc016
CW
91842011-04-11 Colin Watson <cjwatson@ubuntu.com>
9185
9186 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
9187 reserved_first_sector to 1. btrfs reserves plenty of space for boot
9188 loaders.
9189 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
9190
8a3bc88e
VS
91912011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9192
9193 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
9194
af869a4a
VS
91952011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9196
9197 * util/grub-fstest.c (read_file): Report GRUB error if file opening
9198 failed.
9199
9ee8d94f
VS
92002011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
9201
9202 * grub-core/kern/file.c (grub_file_open): Don't take into account the
9203 parenthesis in the middle of the filename.
9204
b01abe3e
VS
92052011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
9208 rather than trying to put initrd way too high.
9209 Reported by: Ryan Lortie <desrt@desrt.ca>
9210
335bda1e
VS
92112011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9212
9213 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
9214 improperly removed string.
9215
5ca1a64d
VS
92162011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9217
9218 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
9219 is_disk.
9220 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
9221 (open_device) Likewise.
9222 (grub_util_biosdisk_close): Likewise.
d8ce9995 9223 Reported by: Mark Korenberg.
5ca1a64d 9224
cbac5b1e
AK
92252011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
9226
9227 * util/grub-mkconfig_lib.in: Add missing quotes.
9228
088cdb65
CW
92292011-04-10 Colin Watson <cjwatson@ubuntu.com>
9230
9231 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
9232 is NULL.
9233
8b8a81fa
VS
92342011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9235
9236 Dynamically count the number of lines for the lower banner.
9237
9238 * grub-core/normal/menu_entry.c (per_term_screen): New member
9239 num_entries.
9240 (print_down): Use num_entries.
9241 (update_screen): Likewise.
9242 (grub_menu_entry_run): Set num_entries.
9243 * grub-core/normal/menu_text.c (menu_viewer_data): New member
9244 num_entries.
9245 (grub_print_message_indented): Move real part to ...
9246 (grub_print_message_indented_real): ... here. Additional argument
9247 dry_run.
9248 (draw_border): Additional argument num_entries.
9249 (print_message): Additional argument dry_run.
9250 (print_entries): Receive menu viewer data.
9251 (grub_menu_init_page): New argment num_entries.
9252 (menu_text_set_chosen_entry): Use num_entries.
9253 (grub_menu_try_text): Likewise.
9254 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
9255 All users updated.
9256 (grub_ucs4_count_lines): New function.
9257 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
9258 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
9259 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
9260 (grub_term_border_height): Likewise.
9261 (grub_term_num_entries): Likewise.
9262
277f955b
VS
92632011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9264
9265 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
9266 Remove now unused string.
9267
536ce85a
CW
92682011-04-09 Colin Watson <cjwatson@ubuntu.com>
9269
9270 * docs/grub-dev.texi (Finding your way around): Update for 1.99
9271 build system.
9272 (Getting started): GRUB is developed in Bazaar now, not Subversion.
9273
9274 (Comment): Fix typo.
9275 (Getting started): General copy-editing.
9276 (Typical Development Experience): Likewise.
9277 (Error Handling): Likewise.
9278 (Video API): Likewise.
9279
2cf09e32
CW
92802011-04-09 Colin Watson <cjwatson@ubuntu.com>
9281
9282 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
9283 throughout.
9284
1ec652f4
VS
92852011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9286
9287 * util/grub-mkimage.c (main): Handle special naming of yeeloong
9288 directory.
9289
2c583728
CW
92902011-04-08 Colin Watson <cjwatson@ubuntu.com>
9291
9292 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
9293 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
9294 "development".
9295
d7a565e9
VS
92962011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9297
9298 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
9299 grub_strcpy since the lines aren't necessarily 0-terminated.
9300
7c2e4909
VS
93012011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9302
9303 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
9304 root on legacy.
9305
34c09785
VS
93062011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9307
9308 * grub-core/commands/probe.c (options): Argument to set isn't optional.
9309 (GRUB_MOD_INIT): DEVICE isn't optional.
9310
6a6f8058
VS
93112011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9312
9313 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
9314 word on new line if it's too long anyway. Fixes a hang.
9315
2e335e90
VS
93162011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9317
9318 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
9319 const.
9320 * util/grub-setup.c (main): Reuse md device name if available.
9321 * util/raid.c (grub_util_raid_getmembers): Receive device name and
9322 not GRUB name as argument.
9323 Based on patch by: Florian Wagner <fwagner>.
9324
10a7a867
VS
93252011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9326
9327 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9328 Place mbi on low memory for better compatibility.
9329
7a3d6cd9
VS
93302011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9331
9332 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
9333
18dd6b47
VS
93342011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
93352011-04-08 Colin Watson <cjwatson@ubuntu.com>
9336
9337 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 9338 * conf/Makefile.common: Likewise.
18dd6b47 9339
3c0e3f14
VS
93402011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9341
f7148863
VS
9342 * grub-core/normal/menu.c: Add missing include.
9343
93442011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9345
9346 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 9347
6d1fa41f
MZ
93482011-04-08 Martin Zuther <mzuther@mzuther.de>
9349
9350 * util/grub-mkconfig.in: Ignore emacsen backup.
9351
478182a8
VS
93522011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9353
9354 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
9355 on open.
9356 (grub_util_biosdisk_close): Likewise.
9357
72a89a54
VS
93582011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
9359
9360 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
9361 const attribute and use grub_isdigit.
9362
b5ebecfa
A
93632011-04-06 Andrey <dev_null@ukr.net>
9364
9365 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
9366 gcc warning.
9367
7755f66e
VS
93682011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9369
9370 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
9371 useful grub_dprintf's.
9372
461121ff
VS
93732011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9374
9375 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
9376
2a961775
VS
93772011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9378
9379 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
9380
adf594cc
VS
93812011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9382
9383 Output errors if theme loading failed.
9384
9385 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
9386 grub_gfxterm_fullscreen on error paths to ...
9387 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
9388 theme loading error.
9389
665900a3
VS
93902011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9391
9392 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
9393 space for older compilers.
9394 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9395
a562b479
VS
93962011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9397
9398 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
9399 and report them as not RAID members since they are useless for GRUB.
9400 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9401
850e9373
VS
94022011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9403
9404 Increase LVM implementation robustness in order not to crash on
9405 configurations like pvmove. Previously code assumed that in some places
9406 only lvs or only pvs are used whereas it seems that they are used
9407 interchangeably.
9408
9409 * grub-core/disk/lvm.c (read_node): New function.
9410 (read_lv): Use read_node.
9411 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
9412 Match volumes only at the end when all lvs are found. Take both
9413 pvs (first) and lvs (second) into account.
9414 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
9415 mirror_* into node_*. All users updated.
9416 (grub_lvm_stripe): Merge this ...
9417 (grub_lvm_mirror): ... and this ...
9418 (grub_lvm_node): ... into this. All users updated.
9419
6f332153
VS
94202011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9421
9422 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
9423 of function to allow further scanning for LVMs.
9424
829ea451
VS
94252011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9426
9427 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
9428 on failed seek as it breaks open fd reusage.
9429
09ceb9a5
VS
94302011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9431
9432 * util/grub-install.in: Add a recommendation to use --recheck before
9433 reporting bugs.
9434
67e11623
VS
94352011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9436
9437 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
9438 are obtained.
9439
caee5efd
VS
94402011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9441
9442 GRUB developper manual based on existing Internals section and
9443 contributions by the various authors with active copyright assignment.
9444
9445 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
9446 * docs/font_char_metrics.png: New file.
9447 * docs/font_char_metrics.txt: Likewise.
9448 * docs/grub-dev.texi: Likewise.
9449 * docs/grub.texi (Internals): Move from here ...
9450 * docs/grub-dev.texi: ... here.
9451
2cccc747
CW
94522011-04-01 Colin Watson <cjwatson@ubuntu.com>
9453
9454 Store the loopback device as data on loopback grub_disk structures,
9455 rather than the file it points to. This fixes use of freed memory
9456 if an existing loopback device is replaced.
9457
9458 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
9459 disk->data, not dev->file.
9460 (grub_loopback_read): Adjust file assignment to match.
9461 Fixes Ubuntu bug #742967.
9462
186ae367
CW
94632011-04-01 Colin Watson <cjwatson@ubuntu.com>
9464
9465 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
9466 when replacing an existing device.
9467
cfed2ad0
VS
94682011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9469
9470 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
9471 memory corruptions.
9472
9473 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
9474 unsigned.
9475 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
9476 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
9477 (grub_jfs_read_inode): Likewise.
9478 (grub_jfs_opendir): Likewise. Remove now useless casts.
9479 (grub_jfs_getent): Likewise.
9480 Make ino a grub_uint32_t rather than int.
9481 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
9482 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
9483 division and module with bit operations.
9484 (grub_jfs_find_file): Make ino a grub_uint32_t.
9485 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
9486
05d2ed32
CW
94872011-04-01 Colin Watson <cjwatson@ubuntu.com>
9488
9489 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
9490 warning. (This was in fact always initialised before use, but GCC
9491 wasn't smart enough to prove that.)
9492 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
9493
91dc6073
VS
94942011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9495
9496 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
9497 stack alignment.
9498 (efi_wrap_1): Likewise.
9499 (efi_wrap_2): Likewise.
9500 (efi_wrap_3): Likewise.
9501 (efi_wrap_4): Likewise.
9502 (efi_wrap_5): Likewise.
9503 (efi_wrap_6): Likewise.
9504 (efi_wrap_10): Likewise.
9505 Based on information by: Red Hat/Peter Jones.
9506
a8afc1d1
CW
95072011-03-31 Colin Watson <cjwatson@ubuntu.com>
9508
9509 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
9510 set-but-not-used variable.
9511
a826cc7d
CW
95122011-03-31 Colin Watson <cjwatson@ubuntu.com>
9513
9514 * docs/grub.texi (Simple configuration): Be more explicit about
9515 GRUB_DEFAULT, and add an example.
9516 Reported by: Leslie Rhorer.
9517
875b67ba
CW
95182011-03-30 Colin Watson <cjwatson@ubuntu.com>
9519
9520 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
9521 shell".
9522
fd7cd914
AS
95232011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
9524
9525 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
9526 * util/grub.d/20_linux_xen.in: Likewise.
9527
090b1b6a
VS
95282011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9529
9530 * util/grub.d/10_linux.in: Try alternative config filenames where
9531 we parse config file.
9532 * util/grub.d/20_linux_xen.in: Likewise.
9533
baad885c
AS
95342011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
9535
9536 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
9537 * util/grub.d/20_linux_xen.in: Likewise.
9538
241e41f5
VS
95392011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9540
9541 * grub-core/disk/raid.c (insert_array): Add few potentially
9542 useful grub_util_info.
9543 (grub_raid_register): Likewise.
9544
56445fb2
VS
95452011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9546
9547 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
9548 Preserve partition number in mdadm code path.
9549
c871b1c6
VS
95502011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9551
9552 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
9553 few potentially useful grub_util_info.
9554
5e631b4f
CW
95552011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9556
9557 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
9558
2d5d0333
CW
95592011-03-30 Colin Watson <cjwatson@ubuntu.com>
9560
9561 * docs/grub.texi (default): Use @example rather than nested
9562 itemized lists to avoid breaking gendocs.
9563
3d7ed04e
CW
95642011-03-30 Colin Watson <cjwatson@ubuntu.com>
9565
9566 * docs/grub.texi (Future): Update.
9567
abf04200 95682011-03-30 Colin Watson <cjwatson@ubuntu.com>
9569
9570 * docs/grub.texi (Environment): New chapter.
9571 (Changes from GRUB Legacy): Link to "Environment block" section for
9572 details of limitations.
9573 (Simple configuration): Likewise. Link to documentation of gfxmode
9574 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
9575 respectively.
9576 (Shell-like scripting): Note that normal variables are stored in the
9577 environment.
9578 (gettext): Link to documentation of lang and locale_dir.
9579 (list_env): New section.
9580 (load_env): New section.
9581 (save_env): New section.
9582
9583 (Reporting bugs): Fix typo.
9584
e1ad0edd
VS
95852011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9586
9587 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
9588 the example.
9589
5d803174
VS
95902011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9591
9592 * grub-core/term/at_keyboard.c (set_scancodes)
9593 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
9594
2a2da1d0
CW
95952011-03-30 Colin Watson <cjwatson@ubuntu.com>
9596
9597 * docs/grub.texi (Menu-specific commands): Remove some semantics
9598 that were true in GRUB Legacy but not in GRUB 2.
9599 (submenu): New section.
9600 (false): New section.
9601 (read): New section.
9602 (true): New section.
9603
a7527639
CW
96042011-03-30 Colin Watson <cjwatson@ubuntu.com>
9605
9606 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
9607
96082011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
9609
9610 * docs/grub.texi (Simple configuration): Explain some of the
9611 current limitations of grub-mkconfig.
8a748df2 9612 Reported by: Leslie Rhorer.
e30af029 9613
fc858482
VS
96142011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9615
9616 Old macs search for boot.efi rather than for bootia32.efi.
9617
9618 * util/grub-install.in: Copy bootia32.efi to boot.efi.
9619 * util/grub-mkrescue.in: Likewise.
9620 Suggested by: Peter Jones.
9621
e1eb511d
VS
96222011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9623
9624 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
9625
70e75364
VS
96262011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9627
9628 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
9629 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
9630 (grub_lvm_mirror): New struct.
9631 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
9632 (grub_lvm_iterate): Iterate only visible volumes.
9633 (grub_lvm_read): Factor out to ..
9634 (read_lv): ... this. Support mirrors.
9635 (grub_lvm_read): New wrapper function.
9636 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
9637 stripped or mirrored.
9638
fc18f6a3
VS
96392011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9640
9641 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
9642
5c650f4c
CW
96432011-03-29 Colin Watson <cjwatson@ubuntu.com>
9644
9645 * docs/grub.texi (loopback): New section.
9646
61d7156b
CW
96472011-03-29 Colin Watson <cjwatson@ubuntu.com>
9648
9649 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
9650 removed -p option.
9651
994b8264
CW
96522011-03-29 Colin Watson <cjwatson@ubuntu.com>
9653
9654 * docs/grub.texi (BIOS installation): New section, partly based on
9655 previous text in other sections.
9656 (Installing GRUB using grub-install): Replace BIOS discussion with a
9657 cross-reference.
9658 (Images): Likewise.
9659
9e4d19e0
VS
96602011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9661
9662 * grub-core/kern/emu/hostdisk.c (find_partition_start)
9663 [HAVE_DIOCGDINFO]: Add safety checks.
9664
a307c0b2
VS
96652011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9666
9667 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
9668 per default compiled in kernel and prior to 8.0 isn't shipped at all.
9669
b4db4f39
CW
96702011-03-29 Colin Watson <cjwatson@ubuntu.com>
9671
9672 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
9673 real_sb->size is zero (e.g. RAID-0), get the disk size from
9674 real_sb->data_size instead.
9675 Fixes Ubuntu bug #743136.
9676
35e5f84c
VS
96772011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9678
9679 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
9680 printf clauses for printing size and start.
9681
d2e29d81
VS
96822011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9683
9684 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
9685 Reported and tested by: Timothy Nikkel.
9686
ed5587af
VS
96872011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9688
9689 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
9690 (dirty_region_add_real): ... this.
9691 (dirty_region_add): Don't discard margin refresh when performing
9692 scheduled repaint.
9693
a1dc717c
VS
96942011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
9695
9696 * grub-core/lib/relocator.c (allocate_regstart)
9697 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
9698 terminals are capabple of malloc-free operation.
9699 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
9700 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
9701
9f3677d3
VS
97022011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
9703
9704 * util/grub-setup.c: Copy the partition table zone if floppy support
9705 is disabled, even if no partition table is found.
9706
9707 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
9708 during POST if an invalid partition table is contained in the PBR
9709 of the active partition when GRUB is installed to a partition.
9710
24148725
CW
97112011-03-28 Colin Watson <cjwatson@debian.org>
9712
9713 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
9714 comment.
9715
f329eda7
CW
97162011-03-28 Colin Watson <cjwatson@debian.org>
9717
9718 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
9719 to be specific about what kind of RAID device we're scanning for.
9720
c482ad98
SG
97212011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
9722
9723 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
9724 return freed string.
9725
5ee04984
VS
97262011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9727
9728 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
9729
f4727da9
VS
97302011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9731
9732 Use libgeom on FreeBSD to detect partitions.
9733
9734 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
9735 (grub-mkrelpath): Likewise.
9736 (grub-script-check): Likewise.
9737 (grub-editenv): Likewise.
9738 (grub-mkpasswd-pbkdf2): Likewise.
9739 (grub-fstest): Likewise.
9740 (grub-mkfont): Likewise.
9741 (grub-mkdevicemap): Likewise.
9742 (grub-probe): Likewise.
9743 (grub-setup): Likewise.
9744 (grub-ofpathname): Likewise.
9745 (grub-mklayout): Likewise.
9746 (example_unit_test): Likewise.
9747 (grub-menulst2cfg): Likewise.
9748 * grub-core/Makefile.core.def (grub-emu): Likewise.
9749 (grub-emu-lite): Likewise.
9750 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
9751 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
9752 define HAVE_DIOCGDINFO.
9753 (follow_geom_up) [FreeBSD]: New function.
9754 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
9755 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
9756 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
9757 unconditionally of HAVE_DIOCGDINFO.
9758
82fe6c75
VS
97592011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9760
9761 Fix FreeBSD compilation problem.
9762
9763 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
9764 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
9765
4c6c9431
CW
97662011-03-24 Colin Watson <cjwatson@ubuntu.com>
9767
9768 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
9769 Switch back to page zero before loading a kernel, since some kernel
9770 drivers expect that.
9771 Thanks to: Felix Kuehling.
9772
c7064d94
VS
97732011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9774
9775 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
9776 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
9777 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
9778
3f71cded
VS
97792011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9780
9781 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
9782 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
9783
ef6de21a
VS
97842011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9785
9786 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
9787 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
9788 malloc is disabled.
9789
8bc66a2c
VS
97902011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
9791
9792 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
9793 for modules headers when counting the needed allocation size.
9794
5657722c
VS
97952011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9796
9797 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
9798 if no ASCII character is found to prevent crash.
9799
41a85f55
AK
98002011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
9801
9802 * grub-core/video/bitmap.c (match_extension): Ignore case.
9803
59e1e5f1
VS
98042011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9805
9806 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
9807
bd4d051a
VS
98082011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9809
9810 * grub-core/script/parser.y: Declare "time" as valid argument.
9811
bae7fcc1
PJ
98122011-03-23 Peter Jones <pjones@redhat.com>
9813
9814 Fix incorrect assert failure reporting.
9815
9816 * grub-core/tests/example_functional_test.c (example_test): Add
9817 a failure comment.
9818 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
9819 (failure_start): ...this. Check that malloc succeeded.
9820 Don't call xvasprintf. Return failure struct.
9821 (failure_append_vtext): New function.
9822 (failure_append_text): Likewise.
9823 (add_failure): Likewise.
9824 (grub_test_assert_helper): Likewise.
9825 * include/grub/test.h (grub_test_assert_helper): New declaration.
9826 (grub_test_assert): Macro rewritten.
9827
537dc9be
VS
98282011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9829
9830 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
9831
fa3e01bf
VS
98322011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9833
9834 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
9835
b1d28404
VS
98362011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9837
9838 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
9839 into GRUB-style one.
9840
2e3e2e09
VS
98412011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9842
9843 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
9844 error and not grub_errno.
9845 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
9846
ed57e557
VS
98472011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9848
9849 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
9850 GRUB_USB_SPEED_NONE in case of failure and not the error code.
9851
d1611f01
VS
98522011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9853
9854 * grub-core/efiemu/i386/pc/cfgtables.c
9855 (grub_machine_efiemu_init_tables): Make declaration a prototype.
9856 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
9857 (grub_xnu_unlock): Likewise.
9858 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
9859
7d4e39d6
VS
98602011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9861
9862 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
9863 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
9864 * grub-core/commands/hashsum.c (aliases): Likewise.
9865 * grub-core/commands/setpci.c (pci_registers): Likewise.
9866 * grub-core/disk/usbms.c (attach_hook): Likewise.
9867 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
9868 (zio_checksum_table): Likewise.
9869 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
9870 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
9871 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
9872 * grub-core/lib/relocator.c (leftovers): Likewise.
9873 (extra_blocks): Likewise.
9874 * grub-core/loader/i386/bsd.c (relocator): Likewise.
9875 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
9876 (modules_last): Likewise.
9877 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
9878 (devices): Likewise.
9879 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
9880 (modules_last): Likewise.
9881 * grub-core/normal/auth.c (users): Likewise.
9882 * grub-core/normal/context.c (initial_menu): Likewise.
9883 (current_menu): Likewise.
9884 * grub-core/normal/crypto.c (crypto_specs): Likewise.
9885 * grub-core/term/serial.c (grub_serial_ports): Likewise.
9886 (grub_serial_terminfo_input_template): Likewise.
9887 (grub_serial_terminfo_output_template): Likewise.
9888 (grub_serial_terminfo_input): Likewise.
9889 (grub_serial_terminfo_output): Likewise.
9890 (registered): Likewise.
9891 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
9892
40fc4659
VS
98932011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9894
9895 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
9896 grub_video_mode_type_t.
9897 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
9898 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
9899 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
9900
2da48d28
VS
99012011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
9902
9903 * util/grub-install.in: Correct the x86-64 name as x86_64.
9904
9b43bf39
CW
99052011-03-11 Colin Watson <cjwatson@ubuntu.com>
9906
9907 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
9908 initial chunk read from the kernel always includes GRUB's multiboot
9909 header, which is now outside the first sector.
9910
be1a7ce0
CW
99112011-03-09 Colin Watson <cjwatson@ubuntu.com>
9912
9913 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
9914 cached mmap_size, so that this works correctly when called multiple
9915 times.
9916 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
9917
83a3c48d
CW
99182011-03-09 Colin Watson <cjwatson@ubuntu.com>
9919
9920 * docs/grub.texi (Simple configuration): Tidy up formatting.
9921
57d75699
SJ
99222011-03-07 Szymon Janc <szymon@janc.net.pl>
9923
9924 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
9925 Set-but-not-used variable removed.
9926
028501a0
VS
99272011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9928
9929 Workaround yet another IEEE1275 bug.
9930
9931 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
9932 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
9933 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
9934 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
9935 is set.
9936 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9937 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
9938
d998657d
VS
99392011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
9940
9941 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
9942 error.
9943
fee7cdd4
CW
99442011-02-11 Colin Watson <cjwatson@ubuntu.com>
9945
9946 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
9947 empty, since in that case we can only generate either nothing or a
9948 syntactically invalid configuration file.
9949 Reported by: Michal Suchanek. Fixes Debian bug #612898.
9950
97286eb5
CW
99512011-02-09 Colin Watson <cjwatson@ubuntu.com>
9952
9953 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
9954 (Making a GRUB bootable CD-ROM): Likewise.
9955 (Invoking grub-mkrescue): New section.
9956 Reported by: Yann Dirson. Fixes Debian bug #612585.
9957
22b28eb3
CW
99582011-02-09 Colin Watson <cjwatson@ubuntu.com>
9959
9960 * util/grub-install.in: Remove unnecessary brackets from tr
9961 arguments.
9962 * util/grub.d/10_hurd.in: Likewise.
9963 * util/grub.d/10_kfreebsd.in: Likewise.
9964 * util/grub.d/10_linux.in: Likewise.
9965 * util/grub.d/20_linux_xen.in: Likewise.
9966 Reported by: Jamie Heilman. Fixes Debian bug #612564.
9967
7e735e43
CW
99682011-02-08 Colin Watson <cjwatson@ubuntu.com>
9969
9970 * include/grub/file.h (not_easly_seekable): Rename to ...
9971 (not_easily_seekable): ... this. Update all users.
9972
800f1881
CW
99732011-01-28 Colin Watson <cjwatson@ubuntu.com>
9974
9975 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
9976 grub-mkrescue.
9977
3281d3d6
VS
99782011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
9979
9980 * util/grub-mkimage.c (generate_image): Refuse to create the images
9981 bigger than the actual flash (512K) in Loongson machines. 512K is also
9982 the biggest chip supported by them.
9983
3533413c
VS
99842011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9985
9986 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
9987
73ae4f4f
VS
99882011-01-22 Anthony DeRobertis <anthony@derobert.net>
9989
9990 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
9991 super_offset field.
9992
37f4f608
VS
99932011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
9994
9995 * util/grub-install.in: Ignore install device on platforms
9996 where it doesn't make sense. Always use UUIDs except on pc, efi and
9997 sparc64.
9998 Reported by: Daniel Kahn Gillmor.
9999
03a4ccb5
VS
100002011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10001
10002 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
10003
ffc8f4d8
VS
100042011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10005
10006 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
10007 (iterate_real): Don't rely on partition being non-NULL.
10008
80f23be7
VS
100092011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10010
10011 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
10012 supported platforms. Put a compile time assert for this rather than
10013 generate a warning with 32-bit shift.
10014
5d4f4dd5
VS
100152011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10016
10017 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
10018 logical expression more readable.
10019
e489601a
VS
100202011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10021
10022 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
10023 even if some elements have a name.
10024 Reported by: Alexander GQ Gerasiov.
10025
96e0a6ea
CW
100262011-01-22 Colin Watson <cjwatson@ubuntu.com>
10027
10028 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
10029 path unreadable if `grub-probe -t abstraction' fails, for example if
10030 memberlist fails on an LVM volume group.
10031 Reported by: Darius Jahandarie.
10032
81431e2b
CW
100332011-01-22 Colin Watson <cjwatson@ubuntu.com>
10034
10035 * docs/grub.texi (Simple configuration): Document
10036 GRUB_PRELOAD_MODULES.
10037
5e79d66a
CW
100382011-01-17 Colin Watson <cjwatson@ubuntu.com>
10039
10040 * .bzrignore: Remove nonexistent grub-pbkdf2.
10041
646ada34
VS
100422011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
10043
10044 * configure.ac: Bump version to 1.99~rc1.
10045
04360337
VS
100462011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
10047
10048 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
10049 for safety.
10050
46c9db88
VS
100512011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
10052
10053 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
10054 module.
10055
100562011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
10057
10058 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
10059
4fbf1852
VS
100602011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10061
10062 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
10063 diskdevid.
10064
f1632d4d
VS
100652011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
10066
10067 Fix compilation on cygwin.
10068
10069 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
10070 -R .drectve on cygwin.
10071 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
10072 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
10073 (COND_CYGWIN): New condition.
10074 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
10075 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
10076 not @TARGET_OBJ2ELF@.
10077 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
10078 type to determine whether aux is to be used.
10079
0b5e127b
VS
100802011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10081
10082 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
10083 realpath'ed device string.
10084 Handle floppy (somewhat).
10085 Issue error in unknown case rather than garbage.
10086 Reported by: Axel Beckert.
10087
173b71e9
VS
100882011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10089
10090 * util/grub.d/00_header.in (load_video): Handle the case when no video
10091 drivers available.
10092 Thanks to: Axel Beckert.
10093
f8f479db
VS
100942011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10095
10096 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
10097 variable. Fixes problem on big endian platforms.
10098
8fc0a245
VS
100992011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10100
10101 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
10102 It doesn't work well there.
10103
b8494fbe
VS
101042011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10105
10106 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
10107 warning.
10108 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
10109 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
10110 counter.
10111
b44a558c
VS
101122011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
10113
10114 Use alias->path rather than buggy "canon".
10115
10116 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
10117 (ofdisk_hash_add): New argument curcan. All users updated.
10118
51fa856c
CW
101192011-01-11 Colin Watson <cjwatson@ubuntu.com>
10120
10121 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
10122
9da068a5
VS
101232011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10124
10125 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
10126 loadmask before doing any calculations. Use correct type for offset.
10127 (grub_linux_load64): Likewise.
10128
86205c94
CW
101292011-01-11 Colin Watson <cjwatson@ubuntu.com>
10130
10131 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
10132 with NULL.
10133 (console_grub_equivalences_unshift): Likewise.
10134 Reported by: Daniel Dehennin.
10135
4531a206
VS
101362011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10137
10138 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
10139 (set_env_limn_ro): Likewise.
10140 (GRUB_MOD_INIT): Likewise.
10141 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
10142 ARRAY_SIZE while on it.
10143 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
10144 * grub-core/normal/context.c (grub_env_export): Move from here ...
10145 * grub-core/kern/env.c (grub_env_export): ... here.
10146 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
10147 prefix.
10148 * grub-core/kern/main.c (grub_main): Export root and prefix.
10149 * include/grub/env.h (grub_env_export): Export.
10150 Reported by: Seth Goldberg.
10151
45146057
VS
101522011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10153
10154 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10155 Take into account space used by ELF sections and multiboot palette.
10156 Reported by: Grégoire Sutre.
10157
f093110b
VS
101582011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
10159
10160 * BUGS: New file.
10161
3395fe52
VS
101622011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10163
10164 Pass more appropriate video id to Linux.
10165
10166 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
10167 grub_video_get_driver_id and variable gfxpayloadforcelfb to
10168 fill have_vga.
10169 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
10170 shift params->lfb_size.
10171 * include/grub/i386/linux.h: Make an enume out of have_vga values.
10172
c2fa6cbb
VS
101732011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10174
10175 * util/grub-menulst2cfg.c: Add missing include of misc.h.
10176
b3ff6ff0
VS
101772011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10178
10179 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
10180 separator and pass bootpath/devid even if only one of them is available.
10181 Reported by: Seth Goldberg.
10182
ae67942e
VS
101832011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10184
10185 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
10186 implementations bug on them.
10187
10188 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
10189 memory.
10190 (filter_memory_map): Likewise.
10191
d570097a
VS
101922011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10193
10194 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
10195 Reported by: nebuchadnezzar.
10196
a508e776
VS
101972011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10198
10199 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
10200 Reported by: nebuchadnezzar.
10201
dcb883b1
VS
102022011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10203
10204 Submenu default support.
10205
10206 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
10207 auto_boot. All users updated.
10208 Declared static.
10209 Handle chosen and default with submenus.
10210 (grub_menu_execute_with_fallback): Declared static.
10211 Don't notify failure if autobooted. Upper level does it.
10212 (menuentry_eq): New function.
10213 (get_entry_number): Use menuentry_eq.
10214 (show_menu): New parameter "autobooted". All users updated.
10215 (grub_show_menu): Likewise.
10216 * include/grub/normal.h (grub_show_menu): Likewise.
10217 * include/grub/menu.h (grub_menu_execute_entry): Removed.
10218 (grub_menu_execute_with_fallback): Likewise.
10219
6fef99b4
VS
102202011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10221
10222 * util/grub-mklayout.c (usage): Update help text.
10223
47a77af5
VS
102242011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10225
10226 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
10227
ce6bb3ee
VS
102282011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10229
10230 * util/grub-menulst2cfg.c (main): Trim the line.
10231
db87be2a
VS
102322011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10233
10234 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
10235 (grub_machine_init): Don't check amount of low memory as reportedly
10236 INT 12h can be broken and if low memory is too low we wouldn't have
10237 gotten into grub_machine_init anyway.
10238
c49849cc
VS
102392011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10240
10241 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
10242 (grub_machine_mmap_iterate): Take low memory into account
10243
b1969b30
VS
102442011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10245
10246 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
10247 badfs.
10248 Reported by: TiCPU.
10249
cf0eaf13
VS
102502011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
10251
10252 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
10253 members errors.
10254
1f060f39
GS
102552011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
10256
10257 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
10258 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
10259
a21e5672
GS
102602011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
10261
10262 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
10263 openbsd and netbsd types being in part_bsd module.
10264
c88172fa
VS
102652011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10266
10267 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
10268 (_FILE_OFFSET_BITS): Likewise.
10269 Reported by: Seth Goldberg.
10270
53798c4b
GS
102712011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
10272
10273 * configure.ac: Check for libdevmapper header.
10274
e7121b69
VS
102752011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10276
10277 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
10278 avoid aliasing.
10279 (fzap_lookup): Likewise.
10280 (dnode_get): Likewise.
10281 (make_mdn): Likewise.
10282 (zfs_mount): Likewise.
10283 (fzap_iterate): Use temporary pointer to avoid aliasing.
10284 (grub_zfs_read): Likewise.
10285 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
10286 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
10287 pointers to avoid aliasing.
10288 (grub_cmd_xnu_kernel64): Likewise.
10289 (grub_xnu_load_driver): Likewise.
10290
fc836af9
VS
102912011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10292
10293 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
10294 aliasing warning.
10295 (grub_cmd_terminal_output): Likewise.
10296 Reported and tested by: Grégoire Sutre.
10297
f9f37648
VS
102982011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10299
10300 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
10301 warning.
10302 Reported and tested by: Grégoire Sutre.
10303
ec1dfd63
VS
103042011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10305
10306 * configure.ac: Do CPU substitution even if it's specified explicitly.
10307 Reported and tested by: Alain Greppin.
10308
9462775a
VS
103092011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10310
10311 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
10312 Reported and tested by: Alain Greppin.
10313
0fd48e35
VS
103142011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10315
10316 Satisfy some bison versions need for inttypes.h.
10317
10318 * grub-core/lib/posix_wrap/inttypes.h: New file.
10319 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
10320 (int16_t): Likewise.
10321 (int32_t): Likewise.
10322 (int64_t): Likewise.
10323 Reported and tested by: Alain Greppin.
10324
43f1bc83
VS
103252011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
10326
10327 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
10328 Silence spurious warning.
10329 Reported and tested by: Alain Greppin.
10330
64d1f041
SJ
103312011-01-07 Szymon Janc <szymon@janc.net.pl>
10332
10333 * docs/grub.texi (Support automatic decompression): Update with xz
10334 decompression support.
10335
25953e10
SJ
103362011-01-07 Szymon Janc <szymon@janc.net.pl>
10337
10338 Improve loaders' kernel command line handling.
10339
10340 * grub-core/lib/cmdline.c: New file.
10341 * include/grub/lib/cmdline.h: Likewise.
10342 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
10343 grub_create_loader_cmdline to create kernel command line.
10344 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10345 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
10346 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
10347 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
10348 (linux): Add lib/cmdline.c on common.
10349
e72d259f
VS
103502011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10351
10352 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
10353 inopos might be unaligned.
10354
c0cf26da
VS
103552011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10356
10357 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
10358 endian transformations.
10359 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10360 Based on report by: Doug Nazar.
10361
0ca09e6c
DN
103622011-01-07 Doug Nazar <nazard.michi@gmail.com>
10363
10364 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
10365 array->members[i].start_sector.
10366 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
10367
014b6806
VS
103682011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
10369
10370 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
10371 Reported and tested by: Grégoire Sutre.
10372
415502c2
CW
103732011-01-06 Colin Watson <cjwatson@ubuntu.com>
10374
10375 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
10376 avoid causing test failures by clearing the screen.
10377
71b6a2b7
CW
103782011-01-06 Colin Watson <cjwatson@ubuntu.com>
10379
10380 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
10381 Fix prefix check to handle the case where dir ends with a slash
10382 (most significantly, "/" itself).
10383 Reported by: Michael Vogt.
10384
b3f8d28a
VS
103852011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10386
10387 Run terminfo_cls on initing terminfo output to clear the screen and
10388 move the cursor to (0,0).
10389
10390 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
10391 Call grub_terminfo_output_init.
10392 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
10393 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
10394 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
10395
4c3e4f37
VS
103962011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10397
10398 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
10399 only when needed.
10400
488f71f1
VS
104012011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10402
10403 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
10404 CTRL.
10405
18a38098
VS
104062011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
10407
10408 The E820 type 5 is BADRAM, not EXEC_CODE.
10409
10410 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
10411 (GRUB_E820_BADRAM): New define.
10412 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
10413 into reserved. Propagate BADRAM.
10414 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
10415 (GRUB_E820_BADRAM): New define.
10416
9eae2084
VS
104172011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10418
10419 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
10420 Ignore the memory post-4G.
10421 (grub_relocator_firmware_alloc_region): Additional debug statement.
10422
ebc71d28
VS
104232011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10424
10425 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
10426 names.
10427 Reported by: David Pravec.
10428
446fa400
VS
104292011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10430
10431 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
10432 BIOSes.
10433
a0159f37
VS
104342011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10435
10436 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
10437 Prevent overflow.
10438 (grub_reed_solomon_recover): Likewise.
10439
e5146ca1
VS
104402011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
10441
10442 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
10443
104442011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
10445
10446 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
10447 variable.
10448
5b1bdf12
CW
104492011-01-04 Colin Watson <cjwatson@ubuntu.com>
10450
10451 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
10452 descriptions of extract_legacy_entries_source and
10453 extract_legacy_entries_configfile.
10454 Reported by: Seung Soo, Ha.
10455
99d925aa
CW
104562011-01-03 Colin Watson <cjwatson@ubuntu.com>
10457
10458 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
10459 on devices that do not implement function 0.
10460
4af0504b
DV
104612011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
10462
10463 * grub-core/fs/hfsplus.c: Make parent unsigned.
10464 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
10465 overflows.
10466 (grub_hfsplus_cmp_extkey): Likewise
10467
469ee10a
VS
104682011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
10469
10470 * util/grub-install.in: Correctly use bootloader_id and not
10471 GRUB_DISTRIBUTOR on efibootmgr line.
10472
323a8e9c
VS
104732011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
10474
10475 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
10476
1b394975
IC
104772010-12-31 Ian Campbell <ijc@hellion.org.uk>
10478
10479 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
10480 Xen and reorder menu item wording to make it clearer that this entry
10481 will launch Xen. Print separate messages when loading Xen and
10482 Linux.
10483
275bff5f
VS
104842010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10485
10486 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
10487 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
10488 loop in case of incorrect amiga partmap.
10489
307806cb
VS
104902010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10491
10492 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
10493 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
10494 Reported by:EHeM.
10495
b12b923e
VS
104962010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
10497
10498 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
10499 spurious warning.
10500 Reported by: crocket
10501
14b48a19
VS
105022010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10503
10504 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
10505 Preload EFIemu.
10506 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
10507
693db2df
VS
105082010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10509
10510 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
10511 is loaded
10512 (grub_cmd_xnu_kextdir): Likewise.
10513 (grub_cmd_xnu_splash): Likewise.
10514
c7638645
VS
105152010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10516
10517 Avoid using Reed-Solomon with 0 redundancy.
10518
10519 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
10520 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
10521 or 0 redundancy.
10522 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
10523 (grub_reed_solomon_recover): Likewise.
10524
25dd4780
VS
105252010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
10526
10527 Don't use disk subsystem in freebsd_boot.
10528
10529 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
10530 (freebsd_biosdev): Likewise.
10531 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
10532 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
10533
0b2db943
VS
105342010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
10535
10536 Handling of files of unknown size is currently limited. They can't be
10537 used e.g. for initrd or modules. Moreover gzip handling of not
10538 easily seekable files is buggy. Disable unknown file size for now. May
10539 be inefficient but works.
10540
10541 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
10542 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
10543
5c408d0f
MP
105442010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
10545
10546 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
10547 floppy probe.
10548
190a011a
JD
105492010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
10550
10551 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
10552
022d01b8
SL
105532010-12-25 Shea Levy <shlevy>
10554
10555 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
10556
c4855fdc
VS
105572010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10558
10559 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
10560 Windows Server 2008.
10561 Reported by: Devin Giddings.
10562
0354b867
VS
105632010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
10564
10565 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
10566 writing an error message because of async power management.
10567 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
10568 (grub_reboot): Likewise.
10569
ab66c69f
JU
105702010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
10571
10572 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
10573 keep unit tests from failing when they shouldn't.
10574
1426ef35
CW
105752010-12-21 Colin Watson <cjwatson@ubuntu.com>
10576
10577 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
10578 previous patch increased the size of the RS code by 20 bytes (at
10579 least with gcc-4.4), so increase this by 20 bytes to match.
10580 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
10581
20641b6b
CW
105822010-12-21 Colin Watson <cjwatson@ubuntu.com>
10583
10584 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
10585 scratch area. Make sure to initialise chosen in standalone mode as
10586 well as non-standalone.
10587 Reported by: Robert Hooker and Andy Whitcroft.
10588 Tested by: Andy Whitcroft.
10589
d060ad60
CW
105902010-12-21 Colin Watson <cjwatson@ubuntu.com>
10591
10592 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
10593 constructing a new unescaped string and passing it to grub_xputs in
10594 one go, rather than passing characters to grub_printf one at a time.
10595
b889cfad
CW
105962010-12-21 Colin Watson <cjwatson@ubuntu.com>
10597
10598 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
10599 initialising utf16.
10600
4e01b6c8
CW
106012010-12-21 Colin Watson <cjwatson@ubuntu.com>
10602
10603 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
10604 comment. Add an extra layer of quotation, requiring the output of
10605 this function to be used in a printf format string.
10606 (gettext_printf): New function.
10607 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
10608 Extract translatable strings from here-documents and use a temporary
10609 variable instead, so that xgettext can find them.
10610 * util/grub.d/10_kfreebsd.in: Likewise.
10611 * util/grub.d/10_linux.in: Likewise.
10612 * util/grub.d/20_linux_xen.in: Likewise.
10613
10614 * po/grub.d.sed: New file.
10615 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
10616 arguments. Set c-format flags on all strings extracted from
10617 util/grub.d/ (xgettext refuses to include these itself for strings
10618 it extracted from a shell file, but these really are c-format).
10619
5318fe98
VS
106202010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
10621
10622 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
10623 Avoid next pointing to nowhere.
10624
6c85b743
VS
106252010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10626
10627 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
10628 rather than assuming than rootblock is exactly in the middle.
10629 (grub_affs_label): Likewise.
10630
a2a08a35
VS
106312010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10632
10633 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
10634 reserved_first_sector to 0.
10635 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
10636 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
10637 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
10638
7059d1ec
VS
106392010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
10640
10641 Fix handling of UTF-16 UDF labels.
10642
10643 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
10644 (read_string): .. here.
10645 (grub_udf_label): Use read_string.
10646
30aff4cb
BC
106472010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
10648
10649 * grub-core/normal/menu_entry.c (run): Execute commands from menu
10650 editor under argument scope.
10651 Reported by: Jordan Uggla
10652
5cf86f4b
VS
106532010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10654
10655 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
10656
32570200
CW
106572010-12-18 Colin Watson <cjwatson@ubuntu.com>
10658
10659 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
10660 line, and other keys scroll an entire page (previous handling was
10661 for \r and \n to scroll a page and other keys to scroll two lines).
10662
e1dffcf2
VS
106632010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
10664
10665 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
10666 Set ptrdest to correct get_physical_target_address rather than
10667 incorrect get_virtual_current_address.
10668
b04298cf 106692010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
10670
10671 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
10672 correct cat to grub_uint8_t * rather than grub_uint32_t *.
10673
5367ecd3
CW
106742010-12-10 Colin Watson <cjwatson@ubuntu.com>
10675
10676 * .bzrignore: Ignore grub-core/rs_decoder.S.
10677
1fb430f8
CW
106782010-12-10 Colin Watson <cjwatson@ubuntu.com>
10679
10680 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
10681 .mo/.mo.gz opening sequence to ...
10682 (grub_mofile_open_lang): ... here.
10683 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
10684 * util/grub.d/00_header.in (grub_lang): Include country part of
10685 locale.
10686 Reported by: Mario Limonciello.
10687
a94a6671
RM
106882010-12-09 Robert Millan <rmh@gnu.org>
10689
10690 * NEWS: Document addition of ZFS support.
10691
24b7938b
CW
106922010-12-04 Colin Watson <cjwatson@ubuntu.com>
10693
10694 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
10695 rather than `/ 2', as the latter requires -Wa,--divide which would
10696 require bumping our minimum binutils version.
10697
bddc3ef6
BC
106982010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
10699
10700 * util/grub-script-check.c (main): Print script line number on
10701 error.
10702
bf78d5b2
RM
107032010-12-01 Robert Millan <rmh@gnu.org>
10704
10705 * grub-core/fs/zfs/zfs.c: New file.
10706 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
10707 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
10708 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
10709 * grub-core/fs/zfs/zfsinfo.c: Likewise.
10710
10711 * include/grub/zfs/dmu.h: Likewise.
10712 * include/grub/zfs/dmu_objset.h: Likewise.
10713 * include/grub/zfs/dnode.h: Likewise.
10714 * include/grub/zfs/dsl_dataset.h: Likewise.
10715 * include/grub/zfs/dsl_dir.h: Likewise.
10716 * include/grub/zfs/sa_impl.h: Likewise.
10717 * include/grub/zfs/spa.h: Likewise.
10718 * include/grub/zfs/uberblock_impl.h: Likewise.
10719 * include/grub/zfs/vdev_impl.h: Likewise.
10720 * include/grub/zfs/zap_impl.h: Likewise.
10721 * include/grub/zfs/zap_leaf.h: Likewise.
10722 * include/grub/zfs/zfs.h: Likewise.
10723 * include/grub/zfs/zfs_acl.h: Likewise.
10724 * include/grub/zfs/zfs_znode.h: Likewise.
10725 * include/grub/zfs/zil.h: Likewise.
10726 * include/grub/zfs/zio.h: Likewise.
10727 * include/grub/zfs/zio_checksum.h: Likewise.
10728
10729 * Makefile.util.def: Build ZFS into libgrubmods.
10730 * grub-core/Makefile.core.def: Build zfs.mod.
10731
3f0f3831
SJ
107322010-11-30 Szymon Janc <szymon@janc.net.pl>
10733
10734 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
10735 variable.
10736 * grub-core/commands/wildcard.c (match_files): Likewise.
10737
3a4253b2
RM
107382010-11-30 Robert Millan <rmh@gnu.org>
10739
10740 * grub-core/loader/i386/bsd.c
10741 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
10742 whether kernel is loaded using grub_loader_is_loaded(), rather
10743 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
10744 certain error conditions.
10745
8c317b27
RM
107462010-11-30 Robert Millan <rmh@gnu.org>
10747
c5c9cd3e
RM
10748 * grub-core/commands/echo.c: Include `<grub/term.h>'.
10749 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 10750
49d3ab46
VS
107512010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
10752
10753 Avoid using tricks for initialising endian variables.
10754
10755 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
10756 Make const.
10757 (GRUB_MOD_INIT): Don't byte-swap.
10758 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
10759 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
10760 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
10761 (grub_swap_bytes32_compile_time): Likewise.
10762 (grub_cpu_to_le32_compile_time): Likewise.
10763 (grub_cpu_to_le16_compile_time): Likewise.
10764
f420a804
VS
107652010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
10766
10767 * util/grub-setup.c (setup): Stop recommending --force. People who
10768 understand the dangers of blocklists are able to find this option
10769 anyway and the ones who don't shouldn't use it anyway.
10770
4e7db17b
RM
107712010-11-26 Robert Millan <rmh@gnu.org>
10772
10773 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
10774 Update all users.
10775
9be57a0d
CW
107762010-11-26 Colin Watson <cjwatson@ubuntu.com>
10777
10778 Fix LVM-on-RAID probing.
10779
10780 * util/grub-probe.c (probe): Remember which disk was detected as
10781 RAID (perhaps an LVM physical volume). Use that disk's raidname
10782 rather than that of the top-level disk.
10783
2c7859b3 107842010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 10785
d7647bb6
BC
10786 Fix cmdline argument quotes for setparams command of menuentry
10787 definitions.
7e623b0d
BC
10788
10789 * grub-core/commands/menuentry.c (setparams_prefix): Use single
10790 quotes for arguments.
f866fe80 10791 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 10792 grub_strchrsub function instead.
f866fe80 10793
7955bea0 10794 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 10795
74f72a64
CW
107962010-11-24 Colin Watson <cjwatson@ubuntu.com>
10797
10798 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
10799 effort by skipping "." and ".." entries up-front.
10800 Suggested by: Michael Lazarev.
10801
5a407278
CW
108022010-11-24 Colin Watson <cjwatson@ubuntu.com>
10803
10804 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
10805 ldflags to ldadd, to fix link line ordering.
10806 (none_decompress): Likewise.
10807
3030d8ec
CW
108082010-11-24 Colin Watson <cjwatson@ubuntu.com>
10809
10810 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
10811 platforms.
10812 (grub-emu-lite): Remove kern/emu/cache.S.
10813
b7fbac12
CW
108142010-11-23 Colin Watson <cjwatson@ubuntu.com>
10815
10816 * util/deviceiter.c (compare_devices): If the by-id link for a
10817 device couldn't be resolved, fall back to sorting by the by-id link
10818 rather than segfaulting.
10819 Reported and tested by: Daniel Mierswa.
10820
5225f328
CW
108212010-11-23 Colin Watson <cjwatson@ubuntu.com>
10822
10823 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
10824 ldflags, to fix link line ordering.
10825
038b3ce8
CW
108262010-11-23 Colin Watson <cjwatson@ubuntu.com>
10827
10828 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
10829 linkers are picky about this.
10830
bf16e98e
CW
108312010-11-23 Colin Watson <cjwatson@ubuntu.com>
10832
10833 * grub-core/Makefile.am (command.lst): Adjust sed expression
10834 ordering so that extended and priority commands aren't treated as
10835 ordinary commands.
10836
7242bab6
CW
108372010-11-23 Colin Watson <cjwatson@ubuntu.com>
10838
10839 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
10840 Remove byte-swapping function calls, which are not valid in
10841 structure initialisers.
10842 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
10843 non-const.
10844 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
10845 grub_gpt_partition_type_bios_boot.
10846
14e8b279
CW
108472010-11-22 Colin Watson <cjwatson@ubuntu.com>
10848
10849 Fix test program build on GNU/kFreeBSD.
10850
10851 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
10852 $(LIBNVPAIR)' library dependencies.
10853
e6f63338 108542010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
10855
10856 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
10857
cf8ffc38
CW
108582010-11-22 Colin Watson <cjwatson@ubuntu.com>
10859
10860 * util/grub-install.in: Remove excessive quoting that broke
10861 installations to RAID devices.
10862
7f8b0fd7
VS
108632010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
10864
10865 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
10866 bootloader version instead of 0.
10867
dfd240b1
VS
108682010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
10869
10870 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
10871 warning.
10872
7b61e609
VS
108732010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
10874
10875 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
10876 retrieve the metadat sector if size isn't known.
10877 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
10878
9dfe92d0
RM
108792010-11-18 Robert Millan <rmh@gnu.org>
10880
10881 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
10882 with grub_memcmp().
10883
41cc919e
VS
108842010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
10885
10886 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
10887 arrow.
10888 Reported by: Jordan Uggla.
10889
1afcc914
VS
108902010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10891
10892 Make better UTF compliant.
10893
10894 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
10895 sequences as incorrect.
10896 (grub_is_valid_utf8): Likewise.
10897 (grub_utf8_to_ucs4): Likewise.
10898 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
10899 (grub_ucs4_to_utf8_alloc): Likewise.
10900 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
10901
f1808884
VS
109022010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10903
10904 Make legacy_source behave like source.
10905
10906 * grub-core/commands/legacycfg.c (legacy_file): Don't call
10907 grub_show_menu.
10908 (grub_cmd_legacy_source): Call grub_show_menu if needed.
10909
24ec575b
CW
109102010-11-16 Colin Watson <cjwatson@debian.org>
10911
10912 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
10913 (-Wunused implies -Wunused-parameter, but not vice versa).
10914
72b7c7aa
CW
109152010-11-16 Colin Watson <cjwatson@ubuntu.com>
10916
10917 * configure.ac: Make error messages less confusing by testing for
10918 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
10919 accepted, but produces a diagnostic if something else is wrong).
10920
e98937aa
VS
109212010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
10922
10923 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
10924 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
10925 (now unused).
10926 (grub_keyboard_controller_init)
10927 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
10928 read the initial state since controller isn't inited yet.
10929
f6bbabc3
VS
109302010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
10931
10932 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
10933 allocate_regbeg may need to create new chunk header.
10934
22e7dbb2
VS
109352010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10936
10937 Fix quoting in legacy parser.
10938
10939 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
10940 single quotes.
10941 (grub_legacy_parse): Likewise.
10942 Reported by: Jordan Uggla.
10943 Tested by: Jordan Uggla.
10944
03f80960
VS
109452010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10946
10947 Don't add -lgcc on i386 and x86_64.
10948
10949 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
10950 * conf/Makefile.common (LDADD_KERNEL): Likewise.
10951 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
10952
779dc15b
VS
109532010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10954
10955 * configure.ac: Add -Wno-trampolines when supported.
10956
d20a3b37
MV
109572010-11-14 Modestas Vainius <modax@debian.org>
10958
10959 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
10960 fakeraid.
10961
e5360933
GC
109622010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10963
10964 Add generic logical block size support for UDF.
10965
10966 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
10967 (GRUB_UDF_BLKSZ): Removed.
10968 (struct grub_udf_data): New field "lbshift" to hold the logical block
10969 size of the file system in log2 format. All users updated.
10970 (sblocklist): Change type to unsigned.
10971 (grub_udf_mount): Change type of "sblklist" to unsigned.
10972 Move AVDP search before VRS recognition, because the latter requires
10973 knowledge of the logical block size, which is detected during the
10974 former.
10975 Detect and validate logical block size during AVDP search, adding
10976 support for block sizes 512, 1024 and 4096.
10977 Make VRS recognition independent of block size.
10978
cb0229c5
GC
109792010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10980
10981 Properly handle deleted files on UDF.
10982
10983 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
10984 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
10985 set.
10986
406858a8
GC
109872010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
10988
10989 Support reading files larger than 2 GiB.
10990
10991 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
10992 "offset" to grub_off_t.
10993 (grub_udf_read_file): Likewise for parameter "pos".
10994
130da6a7
VS
109952010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
10996
10997 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
10998 unavailable.
10999 (Simple configuration): Refer to Changes from GRUB Legacy about
11000 save_env availability.
11001
65e93f6b
VS
110022010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11003
11004 * util/grub-install.in: Ignore empty partition table detection
11005 instead of trying to include part_ module.
11006
1fd08bf1
VS
110072010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11008
11009 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
11010 LVM on RAID support.
11011
de1a024f
VS
110122010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
11013
11014 Properly define WORDS_BIGENDIAN in wrapped environments.
11015
11016 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
11017 definition.
11018 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
11019
11020 Reported by: Manoel Rebelo Abranches.
11021 Tested by: Manoel Rebelo Abranches.
11022
bc5dd0b9
VS
110232010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11024
11025 * util/grub-mkconfig.in: Fix quoting.
11026
58c184be
VS
110272010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11028
11029 Support big ext2 files.
11030
11031 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
11032 (grub_ext2_read_block): Support triple indirect blocks.
11033 (grub_ext2_read_file): Use 64-bit types and read size_high.
11034 (grub_ext2_open): Read size_high.
11035 Reported by: Ximin Luo.
11036 Tested by: Manoel Rebelo Abranches.
11037
5f0c02b3
VS
110382010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11039
11040 * util/grub-install.in: Handle filenames containing spaces.
11041 Reported by: Jordan Uggla.
11042 Tested by: Jordan Uggla.
11043
4417aae6
VS
110442010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11045
11046 * util/grub-mkconfig.in (grub_script_check): New variable.
11047 Use grub_script_check instead of grub-script-check.
11048 Reported by: Barry Jackson.
11049
7625a68e
VS
110502010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
11051
11052 * docs/grub.texi (menu): Correct the order.
11053 Reported by: D. Hugh Redelmeier.
11054
10001ac5
VS
110552010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
11056
11057 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
11058 jump.
11059
9c4cf53b
MRA
110602010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
11061
10001ac5
VS
11062 * include/grub/elfload.h (grub_elf32_size): New parameter.
11063 All users updated.
9c4cf53b
MRA
11064 Return maximum segments alignment.
11065 (grub_elf64_size): Likewise.
11066 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
11067 Return maximum segments alignment.
11068 (grub_elf64_size): Likewise.
11069 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
11070 (grub_linux_claimmap_iterate): New function. Uses the
11071 "available" property in the "memory" node for memory allocation
11072 for kernel in the PowerPC loader.
9c4cf53b
MRA
11073 (grub_linux_load32): Correctly find linux entry point offset.
11074 (grub_linux_load64): Likewise.
11075
d2bf06bf
RM
110762010-11-07 Robert Millan <rmh@gnu.org>
11077
11078 On mips-yeeloong, build with -march=loongson2f when this flag is
11079 available (GCC >= 4.4).
11080 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
11081 `-march=mips3'.
11082 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
11083 or otherwise add -march=mips3.
11084
898c99a2
BC
110852010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
11086
87220a68
BC
11087 Suppress shell expansion on echo '*' and echo "*" like cases.
11088 Reported by: Jordan Uggla.
898c99a2
BC
11089
11090 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
11091 string arguments before shell expansion.
11092 * tests/grub_cmd_echo.in: New testcases.
11093
4f9b406a
RM
110942010-11-07 Robert Millan <rmh@gnu.org>
11095
11096 * conf/mips-qemu-mips.rmk: Remove stale file from previous
11097 transition.
11098
80c6d25e
VS
110992010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
11100
11101 * grub-core/kern/emu/hostdisk.c
11102 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
11103
4a1a0153
VS
111042010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11105
11106 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
11107 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
11108 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
11109
34706ddc
VS
111102010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11111
11112 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
11113
6972dea9
VS
111142010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11115
11116 * util/grub-install.in: Replace useless recomendation to pass
11117 --modules with a recomendation to report a bug.
11118
9c693bd6
VS
111192010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
11120
11121 Properly register serial terminfo.
11122 Reported by: Jordan Uggla
11123
11124 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
11125 const.
11126 (grub_serial_terminfo_output_template): Likewise.
11127 (grub_cmd_serial): Register "serial" with terminfo.
11128 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
11129 grub_serial_terminfo_output.
11130
6c9e4c0c
RM
111312010-11-05 Robert Millan <rmh@gnu.org>
11132
11133 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
11134 needed).
11135
b9b3839f
RM
111362010-11-05 Robert Millan <rmh@gnu.org>
11137
11138 On Yeeloong, pass machine type information to Linux.
11139
11140 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
11141 (LOONGSON_MACHTYPE): New macro, set to
11142 "machtype=lemote-yeeloong-2f-8.9inches".
11143 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
11144 additional argument to Linux.
11145
1a3aaff4
RM
111462010-11-04 Robert Millan <rmh@gnu.org>
11147
11148 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
11149 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
11150 (its SATA disks are detected as slaveless IDE master drives on
11151 kFreeBSD).
11152 Reported by Carsten Aulbert.
11153
a75f4f62
CW
111542010-11-02 Colin Watson <cjwatson@ubuntu.com>
11155
11156 * util/bin2h.c (main): Fix spelling error in generated output.
11157
33b4b0c6
GS
111582010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
11159
11160 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
11161
2b36fbf4
VS
111622010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11163
11164 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
11165 vga= option is supplied.
11166
74aaf558
VS
111672010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11168
11169 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
11170 * util/grub.d/10_kfreebsd.in: Likewise.
11171 * util/grub.d/10_linux.in: Likewise.
11172 * util/grub.d/20_linux_xen.in: Likewise.
11173
6428dec3
VS
111742010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11175
11176 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
11177 argument as an argument to no-argument option.
11178
f8729d98
VS
111792010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11180
11181 * util/grub.d/10_linux.in: Add missing load_video with explicit
11182 GRUB_GFXPAYLOAD_LINUX.
11183
89d68fa6
VS
111842010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11185
11186 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
11187
3a1197cd
VS
111882010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11189
11190 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
11191 elements with invlid index.
11192 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
11193 * grub-core/disk/raid.c (insert_array): Automatically reallocate
11194 members.
11195 * include/grub/raid.h (grub_raid_member): New struct.
11196 (grub_raid_array): Transform devices and start_sector into usage of
11197 grub_raid_member. All users updated
11198 (allocated_devs): New member.
11199
71574288
VS
112002010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
11201
11202 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
11203 is modified
11204
8d40ec65
BC
112052010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
11206
11207 NetBSD build fix for getline function conflict from gnulib.
11208
11209 * Makefile.util.def (libgrubkern.a): New library for grub kernel
11210 components that depend on gnulib headers.
11211 (libgrubmods.a): Renamed from earlier libgrub.a.
11212 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
11213
95b9257e
VS
112142010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11215
11216 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
11217 install rather than creating a broken install.
11218
26c53dc6
VS
112192010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11220
11221 * util/grub-setup.c (argp): Remove misleading example of installing to
11222 a partition.
11223
4171b3c5
VS
112242010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11225
11226 * util/grub-setup.c (setup): Clarify the error message.
11227
18568d18
VS
112282010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
11229
11230 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
11231
4f6a2e21
VS
112322010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
11233
11234 * grub-core/kern/emu/misc.c
11235 (grub_make_system_path_relative_to_its_root)
11236 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
11237
112382010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
11239
11240 * grub-core/kern/emu/misc.c
11241 (grub_make_system_path_relative_to_its_root): Revert r2882.
11242
e138c458
VS
112432010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
11244
11245 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
11246 useless field head. All users updated.
11247 (free_subchunk): Correct handling of IN_REGION subchunk.
11248
0cbcdf0e
CW
112492010-10-22 Colin Watson <cjwatson@ubuntu.com>
11250
11251 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
11252 (Supported kernels): Likewise.
11253
b65ea155
GS
112542010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
11255
11256 Make mktemp invocations portable.
11257
11258 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
11259 exit if mktemp fails.
11260 * tests/grub_script_blockarg.in: Likewise.
11261 * tests/partmap_test.in: Likewise.
11262 * tests/util/grub-shell-tester.in: Likewise.
11263 * tests/util/grub-shell.in: Likewise.
11264 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11265 * Makefile.am: Likewise, and chain shell commands with `&&'
11266 instead of ';'.
11267 * util/grub-mkrescue.in: Use the same explicit template as above, and
11268 exit if mktemp fails.
11269
05f43cdd
BC
112702010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
11271
11272 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
11273 Linux kernel, reported by Dennis Schridde.
11274
800e6a9b
SJ
112752010-10-17 Szymon Janc <szymon@janc.net.pl>
11276
11277 * grub-core/normal/auth.c (grub_auth_check_authentication):
11278 Set-but-not-used variable removed.
11279
d82df574
VS
112802010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11281
11282 * docs/grub.texi (GNU/Linux): Document APM unavailability with
11283 32-bit linux protocol.
11284
7bced458
VS
112852010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11286
11287 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
11288 cursor shape for sanity.
11289
5b027690
VS
112902010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11291
11292 * docs/grub.texi (Installation): Document buggy BIOS install.
11293
ba5f65cf
VS
112942010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11295
11296 * docs/grub.texi (Installation): Indent.
11297
fdf2ec9c
VS
112982010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11299
11300 * util/grub-setup.c (setup): New parameter allow_floppy.
11301 (arguments): New member allow_floppy.
11302 (argp_parser): Handle --allow-floppy.
11303 (main): Pass allow_floppy.
11304 * util/grub-install.in: New option --allow-floppy passed though to
11305 grub-setup.
11306
861dfd4c
VS
113072010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11308
11309 * util/grub-install.in: Handle partitionless disks.
11310
f77a8c24
VS
113112010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
11312
11313 * util/grub-setup.c (setup): Don't clean blocklists before readability
11314 verfification.
11315
27d9ee32
VS
113162010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11317
11318 * docs/grub.texi (Installation): Document embedding zone. Remove
11319 obsolete grub-install example.
11320
6bdda8f8
SJ
113212010-10-16 Szymon Janc <szymon@janc.net.pl>
11322
11323 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11324 Set-but-not-used variable ifdef'ed.
11325 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
11326 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
11327 variable removed.
11328 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
11329 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
11330 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11331 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
11332 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
11333 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
11334 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
11335 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
11336 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
11337 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
11338 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
11339 Likewise.
11340
e19b016b
VS
113412010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11342
11343 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
11344 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
11345 enum value.
11346
6c8d3002
VS
113472010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11348
11349 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
11350 synonym to _S5_. Needed for some DSDTs.
11351
c32b51c9
VS
113522010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11353
11354 Userspace ACPI parser debugging.
11355
11356 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
11357 headers and add relevant defines. Don't include standard headers.
11358 (main) [GRUB_DSDT_TEST]: New function.
11359 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
11360 Don't declare functions.
11361
fbfbeb39
VS
113622010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11363
11364 Remove dead grub_efi_mm_fini.
11365
11366 * grub-core/kern/efi/mm.c (allocated_page): Removed.
11367 (ALLOCATED_PAGES_SIZE): Likewise.
11368 (MAX_ALLOCATED_PAGES): Likewise.
11369 (allocated_pages): Likewise.
11370 (grub_efi_allocate_pages): Don't record allocated pages.
11371 (grub_efi_free_pages): Likewise.
11372 (grub_efi_mm_init): Likewise.
11373 (grub_efi_mm_fini): Removed.
11374
65f7ed7c
VS
113752010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11376
11377 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
11378 (grub_efi_mm_init): Take into account the memory map size increase.
11379
24977b44
VS
113802010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
11381
11382 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
11383 (serial_hw_put): Wait based on real time rather than port reads. Don't
11384 roken ports.
11385 * include/grub/serial.h (grub_serial_port): New field broken.
11386
1eb01cd2
RM
113872010-10-16 Robert Millan <rmh@gnu.org>
11388
11389 * grub-core/kern/emu/misc.c
11390 (grub_make_system_path_relative_to_its_root): Fix premature return
11391 when processing non-root ZFS filesystems.
5f8b440b 11392 Reported by Sergio Talens-Oliag.
1eb01cd2 11393
2d5fed60
RM
113942010-10-15 Robert Millan <rmh@gnu.org>
11395
11396 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
11397 guarantee compressed ones are processed first.
11398
d0f4c1ea
VS
113992010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11400
11401 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
11402 grub_efiemu_autocore.
11403
d87c681f
VS
114042010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
11405
11406 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
11407 rather than 0x1b.
11408 (grub_console_getkey): Use correct jae opcode rather than ja.
11409
219b3564
RM
114102010-10-12 Robert Millan <rmh@gnu.org>
11411
11412 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
11413 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
11414 variable. All references updated.
11415
11416 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
11417
20c6bb7e
VS
114182010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
11419
11420 Correctly distinguish mdraid flavours.
11421
11422 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
11423 (insert_array): New argument raid.
11424 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
11425 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
11426 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
11427
74baff84
VS
114282010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
11429
11430 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
11431 handling of special keys.
11432
3ef068df 114332010-10-02 Aleš Nesrsta <starous@volny.cz>
11434
c7980ad9
VS
11435 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
11436 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 11437
a9455194 114382010-10-02 Aleš Nesrsta <starous@volny.cz>
11439
c7980ad9
VS
11440 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
11441 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
11442 users updated.
a9455194 11443 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 11444 Use right endpoint when querying descriptor.
a9455194 11445
441cfe65
VS
114462010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
11447
11448 Clear out 0x80 color bit on EFI.
11449 Tested by: decoder
11450 Reported by: decoder and meta tech.
11451
11452 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
11453 (grub_console_setcolorstate): Clear out 0x80 bit.
11454 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
11455 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
11456 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
11457
bf26bcc4
VS
114582010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
11459
11460 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
11461 Set to "auto".
11462
6e3c515d
VS
114632010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11464
11465 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
11466 mo_file after freeing.
11467
e6d983ba
VS
114682010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11469
11470 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
11471
74ccb5b5
VS
114722010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11473
11474 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
11475 flags.
11476
17821956
VS
114772010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11478
11479 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
11480 usage.
11481
ee74fa48
VS
114822010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
11483
11484 Put terminfo into core on ieee1275 and yeeloong (needed for console).
11485
11486 * gentpl.py: New groups terminfoinkernel and terminfomodule.
11487 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
11488 and terminfo.h when needed.
11489 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
11490 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
11491 (terminfo): Enable only on terminfokernel.
11492 (extcmd): Likewise.
11493 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
11494 * include/grub/lib/arg.h: Likewise.
11495 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
11496 incorrect usage of ->.
11497
aa438e68
VS
114982010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11499
11500 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
11501 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
11502
57994012
VS
115032010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11504
11505 Fix coreboot compilation.
11506
11507 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
11508 Take VBE info into account even if only text is supported.
11509 (fill_vbe_info): Take into account the case when only VGA text
11510 is supported.
11511 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
11512 on coreboot, multiboot and qemu.
11513
2a406611
VS
115142010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11515
11516 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
11517 debug messages.
11518 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
11519
d33613fc
VS
115202010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11521
11522 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
11523 parameters.
11524
44a1b432
VS
115252010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11526
11527 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
11528 if they were BSD-style.
11529
edde54e6
VS
115302010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11531
11532 * grub-core/boot/i386/pc/lnxboot.S: Replace
11533 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
11534 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
11535
b65830fa
VS
115362010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
11537
11538 Write embedding zone using Reed-Solomon.
11539
11540 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
11541 * grub-core/Makefile.am (rs_decoder.S): New target.
11542 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
11543 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
11544 (multiboot): Move to RS part.
11545 (post_reed_solomon): New label.
11546 (grub_boot_drive): Move to non-RS part since it's modified in memory
11547 on boot.
11548 Include rs_decoder.S.
11549 * grub-core/lib/reed_solomon.c: New file.
11550 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
11551 New definition.
11552 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
11553 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
11554 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
11555 * include/grub/partition.h (grub_partition_map): Change prototype of
11556 embed to allow returning additional sectors.
11557 * include/grub/reed_solomon.h: New file.
11558 * util/grub-setup.c (setup): Handle Reed-Solomon.
11559
0b4b227f
CW
115602010-09-28 Colin Watson <cjwatson@ubuntu.com>
11561
11562 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
11563 i386 and x86-64 definedness tests.
11564
f772623b
YB
115652010-09-27 Yves Blusseau <blusseau@zetam.org>
11566
11567 Fix generation of kernel_syms.lst
11568
11569 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
11570 ASM_PREFIX
11571
8e57a6ca
RM
115722010-09-26 Robert Millan <rmh@gnu.org>
11573
11574 Support degraded ZFS arrays in "grub-probe -t device" resolution.
11575
11576 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
11577 the pool is an array of devices, iterate through it and return the
11578 first device that passes a stat() test (instead of blindly returning
11579 the first one).
11580
f9130836
RM
115812010-09-26 Robert Millan <rmh@gnu.org>
11582
11583 Build fixes for GNU/kFreeBSD.
11584
11585 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
11586 to programs that require ZFS conversion.
11587 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
11588 kernels that don't have FLOPPY_MAJOR.
11589
96510faf
BC
115902010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
11591
11592 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
11593
449333eb
BC
115942010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
11595
11596 Fix grub-emu build.
11597
11598 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
11599 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
11600 mdraid09 and mdraid1x.
11601
e1fd1939
CW
116022010-09-24 Colin Watson <cjwatson@ubuntu.com>
11603
11604 Re-enable grub-extras.
11605
11606 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
11607 avoid confusing Automake. Run autogen only twice, once for the top
11608 level and once for grub-core. Add Makefile.util.def and
11609 Makefile.core.def from extra modules to the appropriate autogen
11610 invocations. If Makefile.common exists in an extra module, include
11611 it in both Makefile.util.am and grub-core/Makefile.core.am;
11612 similarly, include any Makefile.util.common file in Makefile.util.am
11613 and any Makefile.core.common file in grub-core/Makefile.core.am.
11614 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
11615 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
11616 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
11617 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
11618
11619 * gentpl.py (gvar_add): Turn GVARS into a set.
11620 (global_variable_initializers): Sort global variables on output.
11621 (vars_init): New function.
11622 (first_time): Likewise.
11623 (library): Ensure that non-global variable initialisations are
11624 emitted before the first time we emit code for a library block.
11625 Append to variables rather than setting them. Only emit
11626 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
11627 each conditional path.
11628 (program): installdir() emits an Autogen macro, so must be passed to
11629 var_add rather than gvar_add.
11630 (data): Likewise.
11631 (script): Likewise.
11632 (rules): New function, centralising handling for different target
11633 types. Set up Guile association lists for first_time and vars_init,
11634 and send most output to a diversion so that variable initialisations
11635 can be emitted first.
11636 (module_rules): Use new rules function.
11637 (kernel_rules): Likewise.
11638 (image_rules): Likewise.
11639 (library_rules): Likewise.
11640 (program_rules): Likewise.
11641 (script_rules): Likewise.
11642 (data_rules): Likewise.
11643
11644 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
11645
11646 * .bzrignore: Add contrib and grub-core/contrib. Remove
11647 grub-core/Makefile.gcry.am.
11648
1d12cf29
YB
116492010-09-24 Yves Blusseau <blusseau@zetam.org>
11650
11651 * grub-core/lib/LzFind.c: Add missing include.
11652 * grub-core/lib/LzmaEnc.c: Likewise.
11653 * grub-core/script/lexer.c: Likewise.
11654 * grub-core/script/yylex.l: Likewise.
11655 * util/grub-macho2img.c: Likewise.
11656 * util/grub-menulst2cfg.c: Likewise.
11657 * util/grub-mklayout.c: Likewise.
11658 * util/grub-mkpasswd-pbkdf2.c
11659 * util/grub-mkrelpath.c: Likewise.
11660 * util/resolve.c: Likewise.
11661
dd363028
BC
116622010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
11663
11664 * Makefile.util.def (example_unit_test): Add
11665 grub-core/gnulib/libgnu.a.
11666
f5a109e2
GS
116672010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
11668
11669 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
11670
6d0fa83c
VS
116712010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
11672
11673 Support xz compression on yeeloong.
11674
11675 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
11676 * configure.ac: Check for LZMA.
11677 * grub-core/Makefile.core.def (xz_decompress): New target.
11678 (none_decompress): Likewise.
11679 * grub-core/boot/decompressor/minilib.c: New file.
11680 * grub-core/boot/decompressor/none.c: Likewise.
11681 * grub-core/boot/decompressor/xz.c: Likewise.
11682 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
11683 * grub-core/kern/mips/cache_flush.S: Likewise.
11684 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
11685 * grub-core/kern/mips/startup.S: Move first stage to ...
11686 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
11687 nomacro.
11688 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
11689 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
11690 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
11691 Allocate statically.
11692 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
11693 Allocate statically or use scratch. Don't check CRC32.
11694 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
11695 Allocate statically. Don't check CRC32.
11696 * include/grub/decompressor.h: New file.
11697 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
11698 Removed.
11699 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
11700 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
11701 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
11702 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
11703 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
11704 * util/grub-mkimage.c (grub_compression_t): New type.
11705 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
11706 (image_target_desc): New field default_compression.
11707 (image_targets): Adjust yeeloong targets.
11708 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
11709 (compress_kernel): New parameter comp.
11710 (generate_image): Likewise. Handle new compression case.
11711 (options): New option --compression
11712 (help): Likewise.
11713 (main): Handle new option.
11714
1b655af6
GS
117152010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
11716
11717 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
11718
8f03f0b5
CW
117192010-09-22 Colin Watson <cjwatson@ubuntu.com>
11720
11721 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
11722 typo in __i386__ conditional.
11723
7835dfd3
VS
117242010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
11725
11726 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
11727 include.
11728
e255597e
VS
117292010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
11730
6d0fa83c 11731 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
11732
11733 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
11734 new tags as supported.
11735 (acpiv2_size): New function.
11736 (grub_multiboot_get_mbi_size): Take new tags into account.
11737 (grub_multiboot_make_mbi): Add new tags.
11738 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 11739
6cc14051 117402010-09-21 Aleš Nesrsta <starous@volny.cz>
11741
11742 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
11743 Added missing configuration of USB device.
11744
df7769d8
CW
117452010-09-21 Colin Watson <cjwatson@ubuntu.com>
11746
11747 * grub-core/normal/menu_entry.c (run): Make sure we always return
11748 a value.
11749
b031012d
CW
117502010-09-21 Colin Watson <cjwatson@ubuntu.com>
11751
11752 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
11753 NumberOfPages is UINT64 according to the UEFI specification, not
11754 UINTN. Fix printf format.
11755
174de8f3
CW
117562010-09-21 Colin Watson <cjwatson@ubuntu.com>
11757
11758 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
11759 `err' to grub_usb_err_t.
11760 Reported and tested by: KESHAV P.R.
11761
d7dbe923
CW
117622010-09-21 Colin Watson <cjwatson@ubuntu.com>
11763
11764 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
11765 tpart non-const, so that we can assign to it. (Since this is a
11766 typedef, the constness refers to the pointer rather than what it
11767 points to.)
11768
8d5e2af3
CW
117692010-09-21 Colin Watson <cjwatson@ubuntu.com>
11770
11771 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
11772 $(top_srcdir)/grub-core/gnulib as well as
11773 $(top_builddir)/grub-core/gnulib.
11774 Reported by: KESHAV P.R.
11775
5c527783
CW
117762010-09-21 Colin Watson <cjwatson@ubuntu.com>
11777
11778 * util/grub-install.in: Fix the bootloader ID option to be
11779 consistently --bootloader-id, not --bootloader_id.
11780 Reported by: KESHAV P.R.
11781
d309a16e
CW
117822010-09-21 Colin Watson <cjwatson@ubuntu.com>
11783
11784 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
11785 check hash checksum." consistently translatable.
11786
b830cd16
YB
117872010-09-21 Yves Blusseau <blusseau@zetam.org>
11788
11789 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
11790 $(top_builddir).
11791
c4fe27a8
CW
117922010-09-21 Colin Watson <cjwatson@ubuntu.com>
11793
11794 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
11795 (GRUB_MOD_INIT): Register sha1sum command.
11796 (GRUB_MOD_FINI): Unregister sha1sum command.
11797
a4c1d277
YB
117982010-09-21 Yves Blusseau <blusseau@zetam.org>
11799
11800 Keep boot and grub directory names in sync with utils scripts
11801
11802 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
11803 * config.h.in: Add previous macros.
11804 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
11805 * util/grub-install.in: Use $bootdir and $grubdir variables.
11806
4eff79d2
CW
118072010-09-21 Colin Watson <cjwatson@ubuntu.com>
11808
11809 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
11810 convert partition names to disk names if the new `convert' parameter
11811 is set.
11812 (grub_util_biosdisk_get_grub_dev): If opening the disk device
11813 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
11814 disk in its own right. This can happen with Xen disk images.
11815
934d7e44
YB
118162010-09-21 Yves Blusseau <blusseau@zetam.org>
11817
11818 * util/grub-editenv.c: Update strings to avoid warnings when generating
11819 grub.pot file.
11820 * util/grub-setup.c: Likewise.
934d7e44 11821
df3367cc
VS
118222010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
11823
11824 * configure.ac: Change version to 1.99~beta0.
11825
77a94e98
VS
118262010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
11827
11828 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
11829 Add BADRAM.
11830 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
11831 Likewise.
11832 * include/multiboot.h: Resynced with specification.
11833 * include/multiboot2.h: Likewise.
11834
269004c1
CW
118352010-09-21 Colin Watson <cjwatson@ubuntu.com>
11836
11837 Fix po directory handling.
11838
11839 * configure.ac: Create po/Makefile.in rather than po/Makefile.
11840 * grub-core/gnulib/Makefile.am: Import gettext module.
11841 * m4/gnulib-cache.m4: Likewise.
11842 * m4/gnulib-comp.m4: Likewise.
11843 * m4/gettext.m4: New file, from gnulib.
11844 * m4/glibc2.m4: Likewise.
11845 * m4/iconv.m4: Likewise.
11846 * m4/intdiv0.m4: Likewise.
11847 * m4/intl.m4: Likewise.
11848 * m4/intldir.m4: Likewise.
11849 * m4/intlmacosx.m4: Likewise.
11850 * m4/intmax.m4: Likewise.
11851 * m4/inttypes-pri.m4: Likewise.
11852 * m4/lcmessage.m4: Likewise.
11853 * m4/lib-ld.m4: Likewise.
11854 * m4/lib-link.m4: Likewise.
11855 * m4/lib-prefix.m4: Likewise.
11856 * m4/lock.m4: Likewise.
11857 * m4/nls.m4: Likewise.
11858 * m4/po.m4: Likewise.
11859 * m4/printf-posix.m4: Likewise.
11860 * m4/progtest.m4: Likewise.
11861 * m4/threadlib.m4: Likewise.
11862 * m4/uintmax_t.m4: Likewise.
11863 * m4/visibility.m4: Likewise.
11864 * po/Makefile.am: Remove.
11865 * po/Makefile.in.in: New file, from gettext.
11866 ($(DOMAIN).pot-update): Support POTFILES-shell.
11867 * po/Makevars: New file.
11868 * po/POTFILES-shell: Rename to ...
11869 * po/POTFILES-shell.in: ... this. Update.
11870 * po/POTFILES: Rename to ...
11871 * po/POTFILES.in: ... this. Update.
11872 * po/Rules-quot: New file, from gettext.
11873 * po/boldquot.sed: Likewise.
11874 * po/en@boldquot.header: Likewise.
11875 * po/en@quot.header: Likewise.
11876 * po/insert-header.sin: Likewise.
11877 * po/quot.sed: Likewise.
11878 * po/remove-potcdate.sin: Likewise.
11879
3e0fa5d0
VS
118802010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11881
11882 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
11883
ade9bd66
VS
118842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11885
11886 * util/grub.d/20_linux_xen.in: Use submenus.
11887
fc55cc4c
VS
118882010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11889
11890 Support submenus.
11891
11892 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
11893 parameter submenu. All users updated.
11894 * grub-core/normal/main.c (free_menu): Rename to ...
11895 (grub_normal_free_menu): ... this. Made global.
11896 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
11897 if requested.
11898 * grub-core/normal/menu_entry.c (screen): New field submenu.
11899 (make_screen): Set submenu.
11900 (run): Open new context if requested.
11901 * include/grub/menu.h (grub_menu_entry): New field submenu.
11902 * include/grub/normal.h (grub_normal_free_menu): New proto.
11903
600cedf7
VS
119042010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11905
11906 Menu entries extractor.
11907
11908 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
11909 variants.
11910 (GRUB_MOD_INIT): Register new variants.
11911 (GRUB_MOD_FINI): Unregister new variants.
11912 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
11913 into grub_cmd_legacy_source.
11914 (grub_cmd_legacy_source): Implement extractor variants.
11915 (GRUB_MOD_INIT): Register new variants.
11916 (GRUB_MOD_FINI): Unregister new variants.
11917 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
11918 as an extractor.
11919 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
11920 search as an extractor.
11921 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
11922 test as an extractor.
11923 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
11924 as an extractor.
11925 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
11926 (grub_env_new_context): New function.
11927 (grub_env_context_open): Likewise.
11928 (grub_env_extractor_open): Likewise.
11929 (grub_env_extractor_close): Likewise.
11930 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
11931 grub_extractor_level.
11932 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
11933 * include/grub/env.h (grub_env_extractor_open): New proto.
11934 (grub_env_extractor_close): Likewise.
11935 * include/grub/normal.h (grub_extractor_level): New external variable.
11936
7bda3a87
VS
119372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11938
11939 Make cutmem accept a region specification.
11940 Suggested by: Samuel Thibault
11941
11942 * grub-core/mmap/mmap.c (parsemem): New function.
11943 (grub_cmd_cutmem): Handle new arguments.
11944
2ea57f88
VS
119452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11946
11947 New command cutmem.
11948
11949 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
11950 (GRUB_MOD_INIT): Register new command.
11951 (GRUB_MOD_FINI): Unregister new command.
11952
74342e31
VS
119532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11954
11955 Support some annoying BSD and Minix subpartitions.
11956
11957 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
11958 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
11959 Properly handle concatenation.
11960 * grub-core/kern/device.c (grub_device_iterate): Likewise.
11961 * grub-core/normal/completion.c (iterate_partition): Likewise.
11962 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
11963 contain partition. All users updated.
11964 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
11965 struct.
11966 (grub_openbsdlabel_partition_map): Likewise.
11967 (bsdlabel_partition_map_iterate): Rename to ..
11968 (iterate_real): ... this. New arguments sector, freebsd and pmap.
11969 (bsdlabel_partition_map_iterate): New function.
11970 (netopenbsdlabel_partition_map_iterate): Likewise.
11971 (netbsdlabel_partition_map_iterate): Likewise.
11972 (openbsdlabel_partition_map_iterate): Likewise.
11973 (GRUB_MOD_INIT): Register new partmaps.
11974 (GRUB_MOD_FINI): Unregister new partmaps.
11975 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
11976 (grub_partition_msdos_iterate): ... this. All users updated.
11977 Don't support embedding other than in a minix partition.
11978 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
11979 proto.
11980 * include/grub/partition.h (grub_partition): New field msdostype.
11981 * util/grub-install.in: Handle openbsd and netbsd types being in
11982 part_bsd module.
11983
1e8d555b
VS
119842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11985
11986 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
11987
11988 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
11989 * grub-core/Makefile.core.def (mdraid): Renamed to ...
11990 (mdraid09): ... this.
11991 (mdraid1x): New module.
11992 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
11993 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
11994
899d8af4
VS
119952010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
11996
11997 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
11998 vsprintf.
11999
40901acd
CW
120002010-09-20 Colin Watson <cjwatson@ubuntu.com>
12001
12002 * grub-core/commands/efi/lsefimmap.c: Correct header.
12003 * NEWS: Update.
12004
dfe3b247
CW
120052010-09-20 Colin Watson <cjwatson@ubuntu.com>
12006
12007 * util/grub-editenv.c (argp_parser): Don't pass translated strings
12008 as printf format strings; the translations might contain '%' which
12009 could cause a crash.
12010 (main): Likewise.
12011 * util/grub-fstest.c (argp_parser): Likewise.
12012 * util/grub-setup.c (argp_parser): Likewise.
12013 (main): Likewise.
12014
3286a4b4
VS
120152010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12016
12017 Use argp in grub-fstest.
12018
12019 * util/grub-fstest.c: Don't include getopt.h.
12020 Include argp.h.
12021 (root): New variable.
12022 (args_count): Likewise.
12023 (nparm): Likewise.
12024 (num_disks): Likewise.
12025 (images): Likewise.
12026 (cmd): Likewise.
12027 (debug_str): Likewise.
12028 (args): Likewise.
12029 (options): Transformed to argp.
12030 (usage): Removed.
12031 (main): Split argument parsing into ...
12032 (argp_parser): ... this. Changed to argp format.
12033 (argp): New variable.
12034 (main): Use argp_parse.
12035
3dccbe4b
TG
120362010-09-20 Tristan Gingold <gingold@free.fr>
120372010-09-20 Robert Millan <rmh.grub@aybabtu.com>
120382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12039
12040 * grub-core/commands/efi/lsefimmap.c: New file.
12041 * grub-core/Makefile.core.def (lsefimmap): New module.
12042 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
12043
38c259a7
VS
120442010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12045
12046 Pause the execution (10s max) if any errors are displayed so the user
12047 has a chance to see them.
12048
12049 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
12050 (grub_print_error): Increment grub_err_printed_errors.
12051 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
12052 execution if any errors were displayed.
12053 (show_menu): Remove old code for pause.
12054 * grub-core/normal/menu_entry.c (run): Likewise.
12055 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
12056 users updated.
12057 (grub_normal_get_char_counter): Likewise.
12058 * include/grub/err.h (grub_err_printed_errors): New external variable.
12059 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
12060
f218b09c
VS
120612010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12062
12063 Support multiboot VBE info.
12064
12065 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
12066 Take VBE info into account.
12067 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
12068 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12069 Call fill_vbe_info when appropriate.
12070 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
12071 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
12072 as supported.
12073 (grub_multiboot_get_mbi_size): Take new tags into account.
12074 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
12075 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
12076 Call fill_vbe_tag when appropriate.
12077 (grub_multiboot_make_mbi): Properly align tags.
12078 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
12079 function.
12080 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
12081 proto.
12082 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
12083
a9cc5438
VS
120842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12085
12086 Suport manual terminal geometry specification.
12087
12088 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
12089 Save state in grub_ofconsole_terminfo_output.
12090 (grub_ofconsole_term): Use grub_terminfo_getwh.
12091 (grub_ofconsole_getwh): Removed.
12092 * grub-core/term/serial.c (grub_serial_getwh): Removed.
12093 (grub_serial_term): Use grub_terminfo_getwh.
12094 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
12095 (options): New struct.
12096 (OPTION_*): New enum.
12097 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
12098 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
12099 width and height.
12100 (grub_terminfo_getwh): New proto.
12101 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
12102
1a8fed20
VS
121032010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12104
12105 Handle legacy "terminal" command.
12106
12107 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
12108 and FLAG_TERMINAL.
12109 (legacy_commands): Add terminal and title.
12110 (grub_legacy_parse): Handle terminal. Simplify title handling.
12111
41e9c57d
VS
121122010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12113
12114 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
12115 parameters overflow.
12116
61c874c5
CW
121172010-09-20 Colin Watson <cjwatson@ubuntu.com>
12118
12119 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
12120 widthspec.h.
12121
12122 * docs/grub.texi (Shell-like scripting): Document `!'.
12123 (Network): Simplify using new i386-pc-pxe format. Mention
12124 grub-mknetdir.
12125
12126 * NEWS: Update.
12127
943682b4
CW
121282010-09-20 Colin Watson <cjwatson@ubuntu.com>
12129
12130 * Makefile.am (SUBDIRS): Restore "."; it's important to force
12131 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
12132 when needed.
12133
6d3d698d
CW
121342010-09-20 Colin Watson <cjwatson@ubuntu.com>
12135
12136 * grub-core/commands/efi/lsefisystab.c: Correct header.
12137 * grub-core/commands/efi/lssal.c: Likewise.
12138 * grub-core/commands/testload.c: Likewise.
12139
c982589f
CW
121402010-09-20 Colin Watson <cjwatson@ubuntu.com>
12141
12142 * util/grub-mkrescue.in: Add explicit root argument to --set to
12143 prevent the UUID being interpreted as an argument to --set (matches
12144 previous change to prepare_grub_to_access_device).
12145
a63c31b6
CW
121462010-09-20 Colin Watson <cjwatson@ubuntu.com>
12147
12148 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
12149 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
12150 the verbosity of later #ifs.
12151 (find_partition_start): Define this function on FreeBSD too.
12152 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
12153 function.
12154 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
12155 on FreeBSD.
12156
6439b8ee
YB
121572010-09-20 Yves Blusseau <blusseau@zetam.org>
12158
12159 * util/grub-editenv.c: Use argp instead of getopt.
12160
c5930ec8
YB
121612010-09-20 Yves Blusseau <blusseau@zetam.org>
12162
12163 * util/grub-setup.c: Use argp instead of getopt.
12164
15c69261
YB
121652010-09-20 Yves Blusseau <blusseau@zetam.org>
12166
12167 Use gnulib-tool to create gnulib source files.
12168
12169 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
12170 grub-core/gnulib directories
12171 * .bzignore: Add **/.deps and autogenerated gnulib files
12172 * configure.ac: Assign auxiliary directory to build-aux, add invocation
12173 of gnulib macros, add grub-core/gnulib/Makefile
12174 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
12175 include m4 directory to aclocal.
12176 * Makefile.util.def: Remove direct compilation of gnulib source files
12177 and use the new grub-core/gnulib/libgnu.a.
12178 * build-aux/config.rpath: move config.rpath from top directory to
12179 build-aux
12180 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
12181 in gnulib headers
12182 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
12183 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
12184 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
12185 header.
12186 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
12187 string.
12188
e511c9f5
YB
121892010-09-20 Yves Blusseau <blusseau@zetam.org>
12190
12191 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
12192 grub-core/genmod.sh and grub-core/gensyminfo.sh
12193
c2dede05
BC
121942010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
12195
12196 Add a test for echo command options.
12197
12198 * tests/grub_cmd_echo.in: New test.
12199 * Makefile.util.def: Rules for new test.
12200
c55f5018
SJ
122012010-09-20 Szymon Janc <szymon@janc.net.pl>
12202
12203 Remove crc.mod and move crc command to hashsum.mod.
12204 Remove lib/crc.c - users updated to use gcrypt implementation.
12205
12206 * grub-core/commands/crc.c: Removed.
12207 * grub-core/Makefile.core.def (crc): Module removed.
12208 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
12209 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
12210 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
12211 * grub-core/lib/crc.c: Removed.
12212 * include/grub/lib/crc.h: Removed.
12213 * Makefile.util.def (crc): Remove lib/crc.c
12214 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
12215 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
12216 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
12217 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
12218 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
12219 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
12220
e0337366
VS
122212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
12222
12223 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
12224
742f9232
VS
122252010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12226
12227 Split config.h for util and core.
12228
12229 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
12230 (ADDR32): Likewise.
12231 (DATA32): Likewise.
12232 (BSS_START_SYMBOL): Likewise.
12233 (END_SYMBOL): Likewise.
12234 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
12235 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
12236 * config.h.in: New file.
12237 * configure.ac: Use config-util.h as config define file.
12238 Rename MACHINE into GRUB_MACHINE. All users updated.
12239 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
12240 updated.
12241 (NESTED_FUNC_ATTR): Likewise.
12242 Substitue new variables.
12243 (COND_HAVE_ASM_USCORE): New conditional.
12244 * grub-core/Makefile.am (ASM_PREFIX): New variable.
12245 (kernel_syms.lst): Use ASM_PREFIX.
12246 * grub-core/kern/emu/console.c: Include config-util.h.
12247 * grub-core/kern/emu/misc.c: Likewise.
12248 * grub-core/kern/emu/mm.c: Likewise.
12249 * include/grub/emu/misc.h: Likewise.
12250 * include/grub/libgcc.h: Likewise.
12251
39feb0e8
VS
122522010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12253
12254 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
12255 constants usage.
12256 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
12257 Fix GRUB_TERM_KEY_* constants usage.
12258 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
12259
9af6dac3
VS
122602010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12261
12262 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
12263 print pointer.
12264 * grub-core/bus/usb/uhci.c: Remove empty define.
12265 (grub_uhci_check_transfer): Add missing cast.
12266 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
12267 print pointer.
12268 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
12269 PRIuGRUB_SIZE.
12270 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
12271
d6d94820
VS
122722010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12273
12274 * grub-core/Makefile.core.def (legacycfg): Add
12275 lib/i386/pc/vesa_modes_table.c on emu.
12276
3572f2b6
BC
122772010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
12278
12279 Reduce number of temporary files generated by build system.
12280
12281 * grub-core/gencmdlist.sh: Removed.
12282 * grub-core/genfslist.sh: Removed.
12283 * grub-core/genhandlerlist.sh: Removed.
12284 * grub-core/genmodsrc.sh: Removed.
12285 * grub-core/genpartmaplist.sh: Removed.
12286 * grub-core/genparttoollist.sh: Removed.
12287 * grub-core/gentermiinallist.sh: Removed.
12288 * grub-core/genvideolist.sh: Removed.
12289
12290 * grub-core/genmod.sh.in: New file.
12291 * grub-core/gensyminfo.sh.in: New file.
12292
12293 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
12294 * conf/Makefile.extra-dist: Update with new files.
12295 * gentpl.py: Remove rules related to unnecessary temporary files.
12296 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
12297 and und-* files.
12298 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
12299 genmod.sh scripts.
12300 * grub-core/bus/usb/uhci.c: Remove empty #define.
12301 * grub-core/genmoddep.awk: Updated with new syminfo format.
12302 * util/bash-completion.d/Makefile.am: Add config.log to
12303 CLEANFILES.
12304
c836b030
YB
123052010-09-19 Yves Blusseau <blusseau@zetam.org>
12306
12307 * Makefile.util.def: Add forgotten $(LIBINTL) library.
12308
2f4e8053
BC
123092010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
12310
12311 * util/grub-mkconfig.in: Check the config script for syntax errors
12312 before saving.
12313
75831c34
CW
123142010-09-19 Colin Watson <cjwatson@ubuntu.com>
123152010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12316
12317 * Makefile.util.def (grub-install): Use util/grub-install.in on all
12318 platforms.
12319 * util/grub-install.in: Add EFI and IEEE1275 support.
12320 * util/i386/efi/grub-install.in: Removed.
12321 * util/ieee1275/grub-install.in: Likewise.
12322
eaf41b25
VS
123232010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
12324
12325 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
12326 (grub_cmd_cmosclean): Likewise.
12327 (GRUB_MOD_INIT): Register command cmosclean.
12328 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
12329 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
12330
1a9130dd
CPE
123312010-09-18 Carles Pina i Estany <carles@pina.cat>
123322010-09-18 Aleš Nesrsta <starous@volny.cz>
123332010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12334
12335 Add keyboard layouts support.
12336
12337 * Makefile.util.def (grub-mklayout): New file.
12338 (grub-kbdcomp): New script.
12339 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
12340 Add keyboard_layouts.h.
12341 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
12342 commands/boot.c on yeeloong.
12343 (keylayouts): New module.
12344 * grub-core/bus/usb/ohci.c
12345 * grub-core/bus/usb/uhci.c
12346 * grub-core/bus/usb/usbhub.c (rescan): New variable.
12347 (grub_usb_add_hub): Poll interrupt pipe for device handling.
12348 (attach_root_port): Likewise.
12349 (poll_nonroot_hub): Likewise.
12350 (grub_usb_poll_devices): Likewise.
12351 (detach_device): Close transfer.
12352 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
12353 function.
12354 (grub_usb_bulk_setup_readwrite): Likewise.
12355 (grub_usb_bulk_finish_readwrite): Likewise.
12356 * grub-core/commands/keylayouts.c: New file.
12357 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
12358 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
12359 aliases.
12360 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
12361 support scancode 2.
12362 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
12363 * include/grub/keyboard_layouts.h: New file.
12364 * util/grub-mklayout.c: New file.
12365 * util/grub-kbdcomp.in: Likewise.
12366
a1d84a5e
VS
123672010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12368
12369 Unify memory types.
12370
12371 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
12372 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
12373 types.
12374 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
12375 (grub_upper_mem): Likewise.
12376 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
12377 * include/grub/memory.h (grub_memory_type_t): New enum.
12378 All users updated.
12379
9696382e
VS
123802010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12381
12382 * grub-core/Makefile.core.def (lsapm): New module.
12383 * grub-core/commands/i386/pc/lsapm.c: New file.
12384 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
12385 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
12386 Likewise.
12387 * include/grub/i386/pc/apm.h: New file.
12388 * include/multiboot.h (multiboot_apm_info): New struct.
12389
123902010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
12391
12392 GRUB-legacy configuration file support.
12393
12394 * Makefile.util.def (grub-menulst2cfg): New util.
12395 * docs/man/grub-menulst2cfg.h2m: New file.
12396 * grub-core/Makefile.core.def (legacycfg): New module.
12397 * grub-core/commands/legacycfg.c: New file.
12398 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
12399 (grub_normal_add_menu_entry): ... this.
12400 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
12401 (grub_normal_set_password): ...this.
12402 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
12403 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
12404 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
12405 * grub-core/lib/legacy_parse.c: New file.
12406 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
12407 * include/grub/i386/pc/vesa_modes_table.h: New file.
12408 * include/grub/legacy_parse.h: Likewise.
12409 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
12410 * util/grub-menulst2cfg.c: New file.
12411
bf8d1338
CW
124122010-09-17 Colin Watson <cjwatson@ubuntu.com>
12413
12414 * grub-core/kern/emu/hostdisk.c
12415 (convert_system_partition_to_system_disk): Initialise node.
12416
9c0bad2e
CW
124172010-09-17 Colin Watson <cjwatson@ubuntu.com>
12418
12419 * grub-core/kern/emu/hostdisk.c
12420 (convert_system_partition_to_system_disk): Fix devmapper memory pool
12421 leak.
12422 Reported and based on patch by: Modestas Vainius.
12423
a939d135
CW
124242010-09-17 Colin Watson <cjwatson@ubuntu.com>
12425
12426 Fix DM-RAID probing with recent versions of device-mapper udev
12427 rules.
12428
12429 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
12430 canonicalise device paths under /dev/mapper/.
12431 (convert_system_partition_to_system_disk): Compare the
12432 uncanonicalised path to /dev/mapper/ rather than the canonicalised
12433 path, since device nodes under /dev/mapper/ are often symlinks.
12434
0f7ee3c9
YB
124352010-09-17 Yves Blusseau <blusseau@zetam.org>
12436
12437 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
12438
10854d0d
YB
124392010-09-16 Yves Blusseau <blusseau@zetam.org>
12440
12441 * configure.ac: Avoid some annoying error messages if freetype-config
12442 program is not found.
12443
108538d8
CW
124442010-09-16 Colin Watson <cjwatson@ubuntu.com>
12445
12446 Support RAID on virtio devices, and others.
12447
12448 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
12449 Rename to ...
12450 [__MINGW32__] (grub_find_device): ... this.
12451 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
12452 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
12453 reasonable default if dir is NULL.
12454 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
12455 ...
12456 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
12457 (grub_guess_root_device): Update callers.
12458 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
12459
12460 * util/raid.c (grub_util_getdiskname): Remove.
12461 (grub_util_raid_getmembers): Use grub_find_device rather than
12462 grub_util_getdiskname.
12463
e5bfc130
CW
124642010-09-16 Colin Watson <cjwatson@ubuntu.com>
12465
12466 * docs/grub.texi (serial): Remove obsolete comment about GRUB
12467 needing to be compiled with serial support.
12468 (ls): Indicate that multiple files are accepted.
12469 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
12470 indicate that multiple files are accepted.
12471
be458ae2
CW
124722010-09-16 Colin Watson <cjwatson@ubuntu.com>
12473
12474 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
12475 libgrub_a_init.c, and util/bash-completion.d/grub.
12476
cb731b5e
VS
124772010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12478
12479 * util/grub-setup.c (setup): Fix incorrect container semantics.
12480
35139e8a
VS
124812010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12482
12483 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
12484 misusage.
12485 Reported by: J. Nick Terry
12486
e50fca4a
VS
124872010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12488
12489 Move embedding routines to partmap sources files.
12490
12491 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
12492 [GRUB_UTIL]: New variable.
12493 (gpt_partition_map_iterate): Set part.parent.
12494 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
12495 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
12496 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
12497 New function.
12498 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
12499 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
12500 (grub_partition_map) [GRUB_UTIL]: New field embed.
12501 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
12502 (setup): Use ->embed.
12503
f00478b7
VS
125042010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12505
12506 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
12507 function.
12508 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
12509 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
12510
2b94e3ff
YB
125112010-09-15 Yves Blusseau <blusseau@zetam.org>
12512
12513 Add function to get completions from usage.
12514
12515 * util/bash-completion.d/grub-completion.bash.in: Add function to get
12516 completions from usage. Use LC_ALL=C to get options properly.
12517
2e04a006
VS
125182010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12519
12520 * grub-core/gnulib/basename-lgpl.c: Imported.
12521 * grub-core/gnulib/basename.c: Likewise.
12522 * grub-core/gnulib/dirname-lgpl.c: Likewise.
12523 * grub-core/gnulib/dirname.c: Likewise.
12524 * grub-core/gnulib/dirname.h: Likewise.
12525 * grub-core/gnulib/stripslash.c: Likewise.
12526
5dcdf93a
VS
125272010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
12528
12529 * grub-core/gnulib/error.c: Resynced.
12530 * grub-core/gnulib/getopt.c: Likewise.
12531 * grub-core/gnulib/getopt_int.h: Likewise.
12532 * grub-core/gnulib/regex.h: Likewise.
12533 * grub-core/gnulib/regex_internal.c: Likewise.
12534 * grub-core/gnulib/regex_internal.h: Likewise.
12535
014f47b7
SJ
125362010-09-15 Szymon Janc <szymon@janc.net.pl>
12537
12538 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
12539 CRC calculations and validity checks.
12540 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
12541 calculations.
12542
dd521a4a
SJ
125432010-09-15 Szymon Janc <szymon@janc.net.pl>
12544
12545 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
12546
79c4eeb9
VS
125472010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12548
12549 Fix incorrect echo options handling.
12550 Reported by: Yves Blusseau.
12551
12552 * include/grub/command.h (grub_command_flags_t): New flags
12553 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
12554 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
12555 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
12556
ed80f7d5
VS
125572010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12558
12559 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
12560 users updated.
12561 (GRUB_COMMAND_FLAG_MENU): Likewise.
12562 (GRUB_COMMAND_FLAG_BOTH): Likewise.
12563 (GRUB_COMMAND_FLAG_TITLE): Removed.
12564 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
12565 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
12566 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
12567 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
12568 (grub_command_flags_t): New enum. All users updated.
12569
5fe7620a
SG
125702010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
12571
12572 Fix solaris compilation.
12573
12574 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
12575 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
12576 (grub-emu-list): Likewise.
12577
545b752f
VS
125782010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12579
12580 Remove deprecated root command.
12581
12582 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
12583 updated.
12584
6c1a338c
VS
125852010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12586
12587 * util/i386/pc/grub-setup.c: Merge this ...
12588 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
12589 * util/grub-setup.c: ... into this.
12590 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
12591 New struct.
12592
125932010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12594
12595 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
12596 possible.
12597
d2ea4551
VS
125982010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12599
12600 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
12601 allocate p.
12602
3c3b5040
VS
126032010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12604
12605 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
12606 explicit root argument to set to prevent UUID to be interpreted as
12607 argument to set.
12608
b71c3fae
VS
126092010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12610
12611 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
12612
275433e6
VS
126132010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12614
12615 Don't export grub_gate_a20.
12616
12617 * grub-core/kern/i386/pc/init.c: Remove leftovers.
12618 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
12619 to ...
12620 (grub_gate_a20): ... this. All users updated.
12621 * include/grub/i386/pc/init.h: Removed. All users updated.
12622
a5dbb1f1
VS
126232010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12624
12625 Create euro.pf2 which supports most European languages.
12626
12627 * Makefile.am (grubdata_DATA): Add euro.pf2.
12628 (euro.pf2): New target.
12629 (CLEANFILES): Add euro.pf2.
12630
62a747cb
VS
126312010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
12632
12633 * configure.ac: Disable emu-usb by default to prevent inadvertent
12634 device takeover.
12635
608e43b1
VS
126362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12637
12638 Disable usbserial on grub-emu since our libusb code isn't good enough
12639 yet.
12640
12641 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
12642 (usbserial_pl2303): Likewise.
12643 (usbserial_ftdi): Likewise.
12644
94564f81
VS
126452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12646
12647 * include/grub/disk.h (grub_disk): Remove has_partitions.
12648 All users updated.
12649 * disk/loopback.c (grub_loopback): Remove has_partitions.
12650 All users updated.
12651 (options): Remove partitions. All users updated.
12652 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
12653 * util/i386/pc/grub-setup.c (setup): copy partition table only when
12654 actual partition table is found.
12655
3352800b
VS
126562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12657
12658 Remove readability checks (too many false negatives).
12659
12660 * util/grub-install.in: Remove readability checks.
12661 * util/grub-mkconfig.in: Likewise.
12662 * util/grub.d/10_hurd.in: Likewise.
12663 * util/grub.d/10_kfreebsd.in: Likewise.
12664 * util/grub.d/10_linux.in: Likewise.
12665 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
12666 way.
12667
2419f17a
VS
126682010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12669
12670 Enable acpi shutdown on all ACPI platforms.
12671
12672 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
12673 on coreboo, multiboot and EFI.
12674 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
12675 (grub_acpi_halt): Likewise.
12676 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
12677 (grub_cmd_halt): Don't call grub_acpi_halt directly.
12678 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
12679 * grub-core/lib/i386/halt.c (grub_halt)
12680 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
12681
0575c7c3
VS
126822010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12683
12684 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
12685 context.
12686
54ac3cd1
VS
126872010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12688
12689 * grub-core/video/efi_gop.c: Fix over-80-chars line.
12690 * grub-core/video/efi_uga.c: Likewise.
12691
b2a30ac5
VS
126922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12693
12694 Filter devaliases and never open same device twice.
12695
12696 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
12697 (last_ihandle): Likewise.
12698 (ofdisk_hash_ent): New member shortest.
12699 (ofdisk_hash_add): Add canonical path too.
12700 (scan): New function.
12701 (grub_ofdisk_iterate): Iterate over hashed entries.
12702 (compute_dev_path): Don't add :0.
12703 (grub_ofdisk_open): Don't really open the disk.
12704 (grub_ofdisk_close): Avoid closing unrelated disk.
12705 (grub_ofdisk_read): Implement reopen logic.
12706 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
12707 New function.
12708 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
12709 New proto.
12710
fb53b340
VS
127112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12712
12713 Fix sparc64.
12714
12715 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
12716 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
12717 right address. Add sparc64_ieee1275_ldflags.
12718 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
12719 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
12720 to grub_host_to_target_addr
12721 (load_image): Likewise.
12722
f452b040
VS
127232010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12724
12725 * grub-core/normal/completion.c (complete_file): Handle device
12726 containing slash.
12727 Fix based on patch by Doug Nazar.
12728
9b5b2541
VS
127292010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12730
12731 grub-mknetdir script.
12732
12733 * Makefile.util.def (grub-mknetdir): New module.
12734 * tests/util/grub-shell.in: Support boot=net
12735 * util/grub-mknetdir.in: New file.
12736
9d2be652
VS
127372010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12738
12739 videoinfo on non-vbe.
12740
12741 * grub-core/Makefile.core.def (vbeinfo): Removed.
12742 (vbetest): Removed.
12743 (videoinfo): New module.
12744 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
12745 * grub-core/commands/i386/pc/vbetest.c: Removed.
12746 * grub-core/commands/videoinfo.c: New file.
12747 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
12748 specification.
12749 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
12750 as vbetest.
12751 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
12752 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
12753 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
12754 mode_number. New parameter mode. All users updated.
12755 (grub_video_gop_iterate): New function.
12756 (grub_video_efi_gop): New member iterate.
12757 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
12758 (grub_vbe_set_video_mode): Remove setting useless fields.
12759 (vbe2videoinfo): New function.
12760 (grub_video_vbe_iterate): Likewise.
12761 (grub_video_vbe_setup): Use vbe2videoinfo.
12762 (grub_video_vbe_print_adapter_specific_info): New function.
12763 (grub_video_vbe_adapter): New fields iterate and
12764 print_adapter_specific_info.
12765 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
12766 All users updated.
12767 (grub_video_mode_info): New field mode_number.
12768 (grub_video_adapter): New fields iterate and
12769 print_adapter_specific_info.
12770
179503f5
TG
127712010-09-13 Tristan Gingold <gingold@free.fr>
127722010-09-13 Robert Millan <rmh.grub@aybabtu.com>
127732010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12774
12775 * grub-core/commands/efi/lsefisystab.c: New file.
12776 * grub-core/commands/efi/lssal.c: Likewise.
12777 * grub-core/Makefile.core.def (lsacpi): New module.
12778 (lsefisystab): Likewise.
12779 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
12780 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
12781 (grub_efi_sal_system_table): New struct.
12782 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
12783 (grub_efi_sal_system_table_memory_descriptor): Likewise.
12784 (grub_efi_sal_system_table_platform_features): Likewise.
12785 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
12786 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
12787 (grub_efi_sal_system_table_ap_wakeup): Likewise.
12788 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
12789
cf9827de
VS
127902010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12791
12792 Support explicit user claim that a device is BIOS-visible.
12793
12794 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
12795 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
12796 * grub-core/kern/emu/hostdisk.c
12797 (convert_system_partition_to_system_disk): Support mdX.
12798 (find_system_device): New parameter add. All users updated.
12799 (grub_util_biosdisk_is_present): New function.
12800 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
12801 proto.
12802
53f0eb1f
VS
128032010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
12804
12805 Search hints support.
12806
12807 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
12808 All users updated.
12809
b23ffd70
YB
128102010-09-13 Yves Blusseau <blusseau@zetam.org>
12811
12812 Bash completion script for util commands
12813
12814 * Makefile.am: Add util/bash-completion.d directory
12815 * configure.ac: Likewise.
12816 * util/bash-completion.d/Makefile.am: New file.
12817 * util/bash-completion.d/grub-completion.bash.in: Likewise.
12818
d547dc28
VS
128192010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12820
12821 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
12822 (print_backlog): set backlog_ucs4 and backlog_glyphs.
12823 Reported by: Yves Blusseau.
12824
2fc8ccb9
VS
128252010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12826
12827 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
12828 partition size and offset.
12829
d8a84076
VS
128302010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12831
12832 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
12833
84fb3b3d
VS
128342010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12835
12836 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
12837
768ec2e2
VS
128382010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12839
12840 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
12841 (grub_xvasprintf): Likewise.
12842
4870900f
VS
128432010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12844
12845 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
12846
faca6bec
VS
128472010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
12848
12849 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
12850 args ending with NULL.
12851
128522010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
12853
12854 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
12855 pointer.
12856
3c70f225
SJ
128572010-09-11 Szymon Janc <szymon@janc.net.pl>
12858
12859 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
12860
4df7996d
VS
128612010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12862
12863 Shutdown using ACPI.
12864
12865 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
12866 * grub-core/commands/acpihalt.c: New file.
12867 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
12868 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
12869 (grub_acpi_halt): New proto.
12870 (GRUB_ACPI_SLP_EN): New const.
12871 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
12872 (GRUB_ACPI_OPCODE_*): New enum.
12873 (GRUB_ACPI_EXTOPCODE_*): Likewise.
12874
126b4c32
TG
128752010-09-11 Tristan Gingold <gingold@free.fr>
128762010-09-11 Robert Millan <rmh.grub@aybabtu.com>
128772010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12878
12879 * commands/lsacpi.c: New file.
12880 * grub-core/Makefile.core.def (lsacpi): New module.
12881 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
12882 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
12883 (grub_acpi_madt_entry_header): New struct.
12884 (grub_acpi_madt): Likewise.
12885 (grub_acpi_madt_entry_interrupt_override): Likewise.
12886 (grub_acpi_madt_entry_sapic): Likewise.
12887 (grub_acpi_madt_entry_lsapic): Likewise.
12888 (grub_acpi_madt_entry_platform_int_source): Likewise.
12889 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
12890 (PRIuGRUB_UINT32_T): Likewise.
12891 (PRIxGRUB_UINT64_T): Likewise.
12892
1aa4fe88
VS
128932010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12894
12895 Implement loading palette on ieee1275_fb.
12896
12897 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
12898 (have_setcolors): Likewise.
12899 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
12900 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
12901 (grub_video_ieee1275_set_palette): Implement.
12902
25761e13
VS
129032010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
129042010-09-11 Colin Watson <cjwatson@ubuntu.com>
12905
12906 * util/grub-install.in (grub_partition): New variable.
12907 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
12908 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
12909 Fixes a bug reported by Yves Blusseau.
12910
050abaea
VS
129112010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
12912
12913 Fix emu on mipsel.
12914
12915 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
12916 =grub_cpu_flush_cache on all mips and not only yeeloong.
12917 * configure.ac (COND_mips): New conditional.
12918 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
12919 platforms.
12920 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
12921 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
12922 [GRUB_LINKER_HAVE_INIT]: New function.
12923 (grub_emu_post_init): Likewise.
12924 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
12925 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
12926 * include/grub/cache.h (_mips): Include mips/cache.h.
12927 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
12928 LVM and RAID prototypes.
12929 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
12930 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
12931 function.
12932
5ed7d816
CW
129332010-09-10 Colin Watson <cjwatson@ubuntu.com>
12934
12935 * util/grub-install.in: Don't try to verify core.img until after
12936 running grub-mkimage to create it.
12937
90367e04
RM
129382010-09-10 Robert Millan <rmh@gnu.org>
12939
12940 * util/grub.d/10_hurd.in: Add misc readability checks.
12941 * util/grub.d/10_kfreebsd.in: Likewise.
12942 * util/grub.d/10_linux.in: Likewise.
12943
c452fa66
CW
129442010-09-10 Colin Watson <cjwatson@ubuntu.com>
12945
12946 * util/grub-install.in: ${imgext} won't be defined here until the
12947 install branch is merged. For the meantime, only verify core.img on
12948 i386-pc and sparc64-ieee1275 platforms.
12949
c38fe9f4
RM
129502010-09-10 Robert Millan <rmh@gnu.org>
12951
12952 Solaris support in grub_find_zpool_from_dir(). Thanks
12953 Seth Goldberg for referring to getextmntent() facility.
12954
12955 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
12956 `sys/mkdev.h'.
12957 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
12958 `<sys/mnttab.h>'.
12959 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
12960 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
12961 method for finding zpool name.
12962
905f7773
CW
129632010-09-10 Colin Watson <cjwatson@ubuntu.com>
12964
12965 grub-fstest needs the host and hostfs modules while other utilities
12966 actively require those modules to be absent, so grub-fstest needs
12967 its own initialisation and finalisation code.
12968
12969 * Makefile.am (grub_fstest.pp): New target.
12970 (grub_fstest_init.lst): Likewise.
12971 (grub_fstest_init.c): Likewise.
12972 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
12973
fb90b546
RM
129742010-09-10 Robert Millan <rmh@gnu.org>
12975
12976 * configure.ac: Check for `struct statfs.f_fstypename' and
12977 `struct statfs.f_mntfromname'.
12978
12979 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
12980 kFreeBSD-specific code.
12981
66d4bea5
RM
129822010-09-10 Robert Millan <rmh@gnu.org>
12983
12984 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
12985 on ZFS. Now non-main filesystems are supported as / too.
12986
b6a690ee
CW
129872010-09-09 Colin Watson <cjwatson@ubuntu.com>
12988
12989 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
12990 and grub-core/disk/host.c to ...
12991 (grub-fstest): ... here. Having the host disk implementation
12992 present confuses grub-probe and other utility programs.
12993
12994 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
12995 when writing to a file, not when writing to stdout.
12996
8901b00c 129972010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
12998
12999 * tests/partmap_test.in: New test for partitions.
13000 * Makefile.util.def: Rules for new test.
13001
7bf45fdd
RM
130022010-09-09 Robert Millan <rmh@gnu.org>
13003
13004 * util/grub-probe.c (probe): Fix a pair of unhandled error
13005 conditions.
13006
4dfbc574
RM
130072010-09-09 Robert Millan <rmh@gnu.org>
13008
13009 Basic Btrfs support (detection and UUID).
13010
13011 * grub-core/fs/btrfs.c: New file.
13012 * Makefile.util.def (library): Register btrfs.c.
13013 * grub-core/Makefile.core.def: Likewise.
13014
6b8e78ae
RM
130152010-09-08 Robert Millan <rmh@gnu.org>
13016
13017 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
13018 with (optional) parameters to specify device and relative path.
13019 * util/grub-install.in: Use is_path_readable_by_grub() to
13020 verify readability of a few critical files.
13021 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
13022 verify readability of grub.cfg.new.
13023
27f21a8b
VS
130242010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
13025
13026 Split minix.mod into minix.mod and minix2.mod.
13027
13028 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
13029 * grub-core/Makefile.core.def (minix2): New module.
13030 * grub-core/fs/minix.c: Use definitions instead of runtime version
13031 checking.
13032 * grub-core/fs/minix2.c: New file.
13033
c0e53ea5
YB
130342010-09-08 Yves Blusseau <blusseau@zetam.org>
13035
13036 Add new --boot-directory option to replace --root-directory
13037
13038 * util/grub-install.in: Add new --boot-directory option
13039 * util/grub-reboot.in: Likewise.
13040 * util/grub-set-default.in: Likewise.
13041
b9fe6ea2
YB
130422010-09-08 Yves Blusseau <blusseau@zetam.org>
13043
13044 * util/grub-mkconfig.in: Use new variable.
13045
d87aedff
YB
130462010-09-08 Yves Blusseau <blusseau@zetam.org>
13047
13048 * configure.ac: Define some useful variables.
13049
e55e8495
VS
130502010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
13051
13052 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13053 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
13054 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
13055 Use terminfo and don't use cursor-on/cursor-off unless it's known
13056 to work.
13057 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
13058 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
13059
6fa6d675
CW
130602010-09-08 Colin Watson <cjwatson@ubuntu.com>
13061
13062 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
13063 starts with "(,", fill the drive containing the loaded image in
13064 between those two characters, but expect that a full partition
13065 specification including partition map names will follow.
13066
92f2aef0
RM
130672010-09-08 Robert Millan <rmh@gnu.org>
13068
13069 * configure.ac: Remove `--enable-grub-fstest' option.
13070 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
13071
13072 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
13073 `grub-fstest' instead of `grub-probe' for readability verification.
13074 * util/grub-probe.c (probe): Remove readability verification kludge.
13075
99fd620d
RM
130762010-09-08 Robert Millan <rmh@gnu.org>
13077
13078 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
13079 initializing `GRUB_FS'.
13080
058e30ac 130812010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
13082
13083 Not command (!) support to GRUB script.
13084
13085 * tests/grub_script_not.in: New test.
13086 * Makefile.util.def: Rules for new test.
13087
13088 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
13089 ! command as a special case.
13090 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
13091
b61d05ed 130922010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13093
058e30ac 13094 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
13095 grub_free.
b61d05ed 13096
4d69c786 130972010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13098
13099 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
13100
aa3119c4 131012010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
13102
13103 * docs/grub.texi (Shell-like scripting): Documentation for break,
13104 continue, shift and return commands.
13105
db0f7e3d
VS
131062010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
13107
13108 Rename CD-ROM to cd on BIOS.
13109
13110 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
13111 "cd".
13112 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
13113
88b87c93
VS
131142010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13115
13116 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
13117 * util/grub-probe.c (main): Likewise.
13118 * util/i386/pc/grub-setup.c (main): Likewise.
13119 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
13120 Reported and debugged by: alexxy
13121
294f324d
VS
131222010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13123
13124 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
13125 diagnostic info.
13126
d7ee3441
JS
131272010-09-05 Jo Shields <directhex@apebox.org>
13128
13129 * util/grub.d/30_os-prober.in: Add missing classes.
13130
d7e06c1f
VS
131312010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13132
13133 * docs/grub.texi (Theme file format): Document new position format.
13134
fc157e53
VS
131352010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13136
13137 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
13138 a table. Use @code instead of @verbatim.
13139
506e9a1c
CB
131402010-09-05 Colin D Bennett <colin@gibibit.com>
13141
13142 Gfxmenu documentation.
13143
13144 * docs/grub.texi (Theme file format): New chapter.
13145
f0aff67c
SJ
131462010-09-05 Szymon Janc <szymon@janc.net.pl>
13147
13148 * grub-core/Makefile.core.def (xzio): New module.
13149 * grub-core/io/xzio.c: New file.
13150 * grub-core/lib/xzembed/xz.h: New file (from xembed).
13151 * grub-core/lib/xzembed/xz_config.h: Likewise.
13152 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
13153 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
13154 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
13155 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
13156 * grub-core/lib/xzembed/xz_private.h: Likewise.
13157 * grub-core/lib/xzembed/xz_stream.h: Likewise.
13158 * include/grub/file.h (grub_file_filter_id): New compression filter
13159 GRUB_FILE_FILTER_XZIO.
13160
82a85062
VS
131612010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13162
13163 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
13164 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
13165 size.
13166
3579415d
VS
131672010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13168
13169 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
13170 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
13171
5124ae6d
VS
131722010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13173
13174 Uncompressed checksum support.
13175
13176 * grub-core/commands/hashsum.c (options): Add option --uncompress.
13177 (check_list): New parameter uncompress.
13178 (grub_cmd_hashsum): Handle --uncompress.
13179
9aadb3d1
VS
131802010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13181
13182 Reintroduce testload.
13183
13184 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
13185 from here ...
13186 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
13187 (GRUB_MOD_INIT): New function.
13188 (GRUB_MOD_FINI): Likewise.
13189 * grub-core/Makefile.core.def (testload): New module.
13190
a17792c3
SJ
131912010-09-05 Szymon Janc <szymon@janc.net.pl>
13192
13193 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
13194 (uint8_t): New type.
13195 (uint16_t): Likewise.
13196 (uint32_t): Likewise.
13197 (uint64_t): Likewise.
13198
b81e40a3
SJ
131992010-09-05 Szymon Janc <szymon@janc.net.pl>
13200
13201 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
13202
fc2ef117
VS
132032010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
13204
13205 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
13206 Made static.
13207 (grub_gzfile_open): Removed. All users updated.
13208 (GRUB_MOD_INIT): New function.
13209 (GRUB_MOD_FINI): Likewise.
13210 * grub-core/kern/file.c (grub_file_filters_all): New variable.
13211 (grub_file_filters_enabled): Likewise.
13212 (grub_file_open): Handle filters.
13213 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
13214 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
13215 * include/grub/file.h (grub_file_filter_id_t): New type.
13216 (grub_file_filter_t): Likewise.
13217 (grub_file_filters_all): New extern variable.
13218 (grub_file_filters_enabled): Likewise.
13219 (grub_file_filter_register): New inline function.
13220 (grub_file_filter_unregister): Likewise.
13221 (grub_file_filter_disable): Likewise.
13222 (grub_file_filter_disable_compression): Likewise.
13223 * include/grub/gzio.h: Removed.
13224
35ee15e0
BC
132252010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13226
13227 Filename expansion support for wildcards in GRUB script.
13228
13229 * tests/grub_script_expansion.in: New test.
13230 * Makefile.util.def: Rule for new test.
13231
13232 * grub-core/commands/wildcard.c: New file, implements filename
13233 expansion support for GRUB script.
13234 * grub-core/Makefile.core.def: Rule update for regexp.mod.
13235 * grub-core/script/argv.c: Cosmetic changes.
13236 * grub-core/script/execute.c (grub_script_arglist_to_argv):
13237 Refactored to perform wildcard expansion on arguments.
13238 * include/grub/script_sh.h (grub_script_wildcard_translator): New
13239 struct.
13240
13241 * tests/util/grub-shell.in: Fix quoting for read input.
13242
5f0c4aca
BC
132432010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13244
13245 Support for updating environment variables with matched substrings
13246 of regexp.
13247
13248 * tests/grub_cmd_regexp.in: New test.
13249 * Makefile.util.def: Rule for new test.
13250
13251 * grub-core/commands/regexp.c: New option -s to update environment
13252 variables with regexp matches.
13253
3759a35f
SJ
132542010-09-04 Szymon Janc <szymon@janc.net.pl>
13255
13256 * include/grub/file.h (grub_file): New member not_easly_seekable.
13257 (grub_file_seekable): New inline function.
13258 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
13259 easily seekable.
13260 (grub_gzio_open): Set not_easly_seekable.
13261 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
13262 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
13263
ed8c6dec
BC
132642010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13265
13266 Support for options to appear multiple times on cmdline.
13267
13268 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
13269 * grub-core/commands/extcmd.c: Support for repeatable option.
13270 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
13271 repeatable option support.
13272
13273 Refactor menuentry into a regular command.
13274
13275 * grub-core/commands/menuentry.c: New file, menuentry command
13276 implementation.
13277 * grub-core/Makefile.core.def: Rule update for normal.mod.
13278 * grub-core/normal/main.c: Moved menuentry creation to
13279 grub-core/commands/menuentry.c.
13280 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
13281 (grub_menu_execute_entry_real): Removed.
13282 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
13283 function.
13284 (grub_script_execute_menuentry): Removed.
13285 * grub-core/script/parser.y (menuentry): Removed.
13286 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
13287 * grub-core/script/yylex.l (menuentry): Removed.
13288 * include/grub/menu.h (grub_menu_init): New prototype.
13289 (grub_menu_fini): New prototype.
13290 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
13291 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
13292 (grub_script_execute_sourcecode): New prototype.
13293
dacd0cf0
BC
132942010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13295
13296 "return" command for GRUB script functions.
13297
13298 * tests/grub_script_return.in: New test.
13299 * Makefile.util.def: Rules for new test.
13300
13301 * grub-core/script/execute.c (grub_script_return): New function.
13302 * grub-core/script/main.c: Register/unregister return commaond.
13303 * include/grub/script_sh.h (grub_script_return): New prototype.
13304
52e72f9d
BC
133052010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13306
13307 "setparams" command to update positional parameters.
13308
13309 * tests/grub_script_setparams.in: New test.
13310 * Makefile.util.def: Rules for new test.
13311
13312 * grub-core/script/argv.c (grub_script_argv_make): New function.
13313 * grub-core/script/execute.c (replace_scope): New function.
13314 (grub_script_setparams): New function.
13315 * grub-core/script/lexer.c: Remove unused variables.
13316 * grub-core/script/main.c: Register/unregister setparams command.
13317 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
13318 (grub_script_setparams): New prototype.
13319
25b60c91
BC
133202010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13321
13322 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
13323 grub_free order.
13324
37e7bf68
BC
133252010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13326
13327 Support for passing block of commands as an argument to extcmds.
13328
13329 * Makefile.util.def: Rules for new test.
13330 * tests/grub_script_blockarg.in: New test.
13331 * grub-core/tests/test_blockarg.c: New file, block argument
13332 command used in the test.
13333
13334 * include/grub/extcmd.h (grub_extcmd_context): New struct.
13335 (grub_register_extcmd_prio): New function prototype.
13336 (grub_extcmd_dispatcher): New function prototype.
13337 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
13338 type.
13339 * include/grub/script_sh.h (struct grub_script): New members
13340 `children', `next_siblings' and `refcnt' for block arguments and
13341 reference counting.
13342 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
13343 (grub_script_arg): New member `script' for block argument.
13344 (grub_script_argv): New member `script' for block argument.
13345 (grub_parser_param): New member `scripts' for block argument.
13346 (grub_script_mem_free): New extern function prototype.
13347 (grub_script_ref): New function prototype.
13348 (grub_script_unref): New function prototype.
13349
13350 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
13351 extcmd form to support block arguments.
13352 * grub-core/script/argv.c: Block arguments support.
13353 * grub-core/script/execute.c: Likewise.
13354 * grub-core/script/lexer.c: Likewise.
13355 * grub-core/script/main.c: Likewise.
13356 * grub-core/script/script.c: Likewise.
13357 * grub-core/script/parser.y: Likewise. New `block' and `block0'
13358 non-terminals.
13359
13360 * grub-core/commands/acpi.c: Update extcmd implementations with
13361 grub_extcmd_context_t.
13362 * grub-core/commands/cat.c: Likewise.
13363 * grub-core/commands/echo.c: Likewise.
13364 * grub-core/commands/extcmd.c: Likewise.
13365 * grub-core/commands/hashsum.c: Likewise.
13366 * grub-core/commands/hdparm.c: Likewise.
13367 * grub-core/commands/help.c: Likewise.
13368 * grub-core/commands/hexdump.c: Likewise.
13369 * grub-core/commands/i386/cpuid.c: Likewise.
13370 * grub-core/commands/i386/pc/drivemap.c: Likewise.
13371 * grub-core/commands/i386/pc/halt.c: Likewise.
13372 * grub-core/commands/i386/pc/sendkey.c: Likewise.
13373 * grub-core/commands/iorw.c: Likewise.
13374 * grub-core/commands/keystatus.c: Likewise.
13375 * grub-core/commands/loadenv.c: Likewise.
13376 * grub-core/commands/ls.c: Likewise.
13377 * grub-core/commands/lspci.c: Likewise.
13378 * grub-core/commands/memrw.c: Likewise.
13379 * grub-core/commands/probe.c: Likewise.
13380 * grub-core/commands/search_wrap.c: Likewise.
13381 * grub-core/commands/setpci.c: Likewise.
13382 * grub-core/commands/sleep.c: Likewise.
13383 * grub-core/disk/loopback.c: Likewise.
13384 * grub-core/hello/hello.c: Likewise.
13385 * grub-core/loader/i386/bsd.c: Likewise.
13386 * grub-core/loader/xnu.c: Likewise.
13387 * grub-core/term/gfxterm.c: Likewise.
13388 * grub-core/term/serial.c: Likewise.
13389 * grub-core/tests/lib/functional_test.c: Likewise.
13390
888d1500
BC
133912010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
13392
13393 Multi-line quoted strings support.
13394
13395 * grub-core/script/lexer.c (append_newline): Removed.
13396 (grub_script_lexer_yywrap): Refactored.
13397 (grub_script_lexer_init): Refactored.
13398 * grub-core/script/yylex.l (yywrap): New function.
13399 (grub_lexer_resplit): New function.
13400 (grub_lexer_unput): New function.
13401 * include/grub/script_sh.h (grub_lexer_param): New members, unput
13402 and resplit.
13403 * tests/grub_script_echo1.in: Added few more testcases.
13404
dda060dd
VS
134052010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
13406
13407 * grub-core/kern/misc.c: Don't add abort alias in utils.
13408 Reported by: echoline.
13409
6556eba9
BC
134102010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
13411
13412 Add missing files into "make dist" tarball for other platforms.
13413
13414 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
13415 * conf/Makefile.common (dist_noinst_DATA): New variable.
13416 * conf/Makefile.extra-dist: Added missing make dist files.
13417 * grub-core/Makefile.core.def: Likewise.
13418
c8e7bf5f
VS
134192010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
13420
13421 Compress grub_prefix.
13422
13423 * grub-core/boot/i386/pc/lnxboot.S: Use
13424 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
13425 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
13426 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
13427 GRUB_MACHINE_PREFIX_END. All users updated.
13428 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
13429 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
13430 + 0x40.
13431 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
13432 * util/grub-mkimage.c (image_target_desc): Change data_end to
13433 prefix_end. All users updated.
13434
a7c00cdb
VS
134352010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
13436
13437 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
13438 value.
13439 (grub_openbsd_boot): Likewise.
13440 (grub_netbsd_boot): Likewise.
13441 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
13442 (grub_xnu_boot): Likewise.
13443
9f915872
VS
134442010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13445
13446 * configure.ac: Clean LIBS variable after tests.
13447
efa1bee7
CW
134482010-09-02 Colin Watson <cjwatson@ubuntu.com>
13449
13450 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
13451
61d720e5
VS
134522010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13453
13454 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
13455 echo if libdevmapper will be used.
13456
ef8e0ec8
IT
134572010-09-02 Ian Turner <Ian.Turner@deshaw.com>
13458
13459 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
13460 constant for the same file.
13461
03e261d8
VS
134622010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13463
13464 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
13465
c2a4eba6
CW
134662010-09-02 Colin Watson <cjwatson@ubuntu.com>
13467
13468 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
13469 grub-core/*.pp.
13470
9056cbf3
CW
134712010-09-02 Colin Watson <cjwatson@ubuntu.com>
13472
13473 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
13474 required by the boot protocol.
13475
13476 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
13477 ebp and edi members.
13478 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
13479 state.ebp and state.edi.
13480 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
13481 %ebp and %edi according to grub_relocator32_ebp and
13482 grub_relocator32_edi respectively.
13483 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
13484 and state.edi.
13485
529cc99a
VS
134862010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13487
13488 Add i386-pc-pxe image target.
13489
13490 * util/grub-mkimage.c (image_target_desc): New enum value
13491 IMAGE_I386_PC_PXE.
13492 (image_targets): New target i386-pc-pxe.
13493 (generate_image): Handle i386-pc-pxe image.
13494
9a093920
VS
134952010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
13496
13497 Fix grub_pxe_scan.
13498
13499 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
13500 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
13501 All users updated.
13502 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
13503 (grub_pxe_pxenv): Correct type.
13504
f9cefc4e
CW
135052010-09-01 Colin Watson <cjwatson@ubuntu.com>
13506
13507 * NEWS: Document most of the important changes since 1.98.
13508
4066f57f
CW
135092010-09-01 Colin Watson <cjwatson@ubuntu.com>
13510
13511 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
13512 generated manual page) a little.
13513
da2891f9
CW
135142010-09-01 Colin Watson <cjwatson@ubuntu.com>
13515
13516 * docs/grub.texi: Add myself as an author.
13517
ad717fae
VS
135182010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
13519
13520 * Makefile.util.def (libgrub.a): Add missing sunpc.
13521 Reported by: Seth Goldberg.
13522
eefe8abd
VS
135232010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13524
13525 Interrupt wrapping and code simplifications.
13526
9494ef9a
VS
13527 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
13528 x86_noieee1275 which are functionaly equivalent in this case.
13529 (grub-install): Make source on each platform explicit. Enable on
13530 all noemu.
13531 * gentpl.py (x86_efi_pc): Removed group.
13532 (x86_noefi): Likewise.
13533 (i386_noefi): Likewise.
13534 (x86_noieee1275): Likewise.
13535 (i386_noieee1275): Likewise.
13536 (i386_noefi_noieee1275): Likewise.
13537 (i386_pc_qemu_coreboot): Likewise.
13538 (i386_coreboot_multiboot): Likewise.
13539 (i386_pc_coreboot_multiboot_qemu): Likewise.
13540 (x86_noefi_mips): Likewise.
13541 (noieee1275): Likewise.
13542 (ieee1275_mips): Likewise.
13543 (noemu_noieee1275): Likewise.
13544 (cmos): New group.
13545 (usb): Likewise.
13546 (videoinkernel): Likewise.
13547 (videomodules): Likewise.
eefe8abd 13548 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
13549 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
13550 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
13551 include/grub/loader.h, include/grub/msdos_partition.h,
13552 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
13553 include/grub/machine/console.h, include/grub/machine/vga.h,
13554 include/grub/machine/vbe.h, include/grub/machine/init.h,
13555 include/grub/machine/kernel.h, include/grub/cpu/time.h,
13556 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 13557 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
13558 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
13559 * grub-core/Makefile.core.def (kernel): Explicit the source for
13560 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
13561 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
13562 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
13563 Use videoinkernel tag.
13564 (usb): Enable on all usb.
13565 (usbserial_common): Likewise.
13566 (usbserial_pl2303): Likewise.
13567 (usbserial_ftdi): Likewise.
13568 (uhci): Enable on all x86.
13569 (ohci): Enable on all pci.
13570 (cmostest): Enable on all CMOS.
13571 (acpi): Include commands/acpi.c on all platforms.
13572 (halt): Add relevant lib/*/halt.c.
13573 (hdparm): Enable on all pci.
13574 (lspci): Likewise.
13575 (usbtest): Enable on all usb.
13576 (ata): Enable on all pci.
13577 (ata_pthru): Likewise.
13578 (usbms): Enable on all usb.
13579 (usb_keyboard): Likewise.
13580 (font): Use tag videomodules.
13581 (bufio): Likewise.
13582 (datetime): Use tag cmos. Enable on all noemu.
13583 (mmap): Use tags common and x86.
13584 (gfxterm): Use tag videomodules.
13585 (bitmap): Likewise.
13586 (bitmap_scale): Likewise.
13587 (video_fb): Likewise.
13588 (video): Likewise.
13589 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
13590 adjust padding accordingly. All users updated.
13591 (grub_ohci_transaction): Fix bad format specification.
13592 (GRUB_MOD_INIT): Add asserts for struct size.
13593 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
13594 (grub_alloc_td): Likewise.
13595 (grub_free_queue): Likewise.
13596 (grub_uhci_transfer): Likewise.
13597 (grub_uhci_transaction): Fix bad format specification.
13598 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
13599 (grub_usb_bulk_readwrite): Likewise.
13600 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
13601 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
13602 Made static.
13603 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
13604 Made static.
13605 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
13606 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
13607 Transformed into C.
13608 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
13609 Moved from here ...
13610 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
13611 ... here. Transformed into C. Made static.
13612 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
13613 Moved from here ...
13614 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
13615 ... here. Transformed into C. Made static.
13616 * grub-core/kern/i386/pc/startup.S
13617 (grub_biosdisk_check_int13_extensions): Moved from here ...
13618 * grub-core/disk/i386/pc/biosdisk.c
13619 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
13620 Made static.
13621 * grub-core/kern/i386/pc/startup.S
13622 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
13623 * grub-core/disk/i386/pc/biosdisk.c
13624 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
13625 Transformed into C. Made static.
13626 * grub-core/kern/i386/pc/startup.S
13627 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
13628 * grub-core/disk/i386/pc/biosdisk.c
13629 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
13630 Transformed into C. Made static.
13631 * grub-core/kern/i386/pc/startup.S
13632 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
13633 * grub-core/disk/i386/pc/biosdisk.c
13634 (grub_biosdisk_get_diskinfo_standard): ... here.
13635 Transformed into C. Made static.
13636 * grub-core/kern/i386/pc/startup.S
13637 (grub_biosdisk_get_num_floppies): Moved from here ...
13638 * grub-core/disk/i386/pc/biosdisk.c
13639 (grub_biosdisk_get_num_floppies): ... here.
13640 Transformed into C. Made static.
13641 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
13642 New function.
13643 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
13644 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
13645 Transformed into C. Made static.
13646 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
13647 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
13648 Transformed into C. Made static.
13649 * grub-core/kern/i386/ieee1275/init.c: Removed.
13650 * grub-core/kern/i386/misc.S: Likewise.
13651 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
13652 Splitted from here ...
13653 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
13654 Transformed into C. Made static. All users updated.
13655 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
13656 Transformed into C. Made static. All users updated.
13657 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
13658 Moved from here...
13659 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
13660 Transformed into C. Made static. All users updated.
13661 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
13662 Moved from here...
13663 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
13664 Transformed into C. Made static. All users updated.
13665 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
13666 Removed (replaced by C version).
13667 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
13668 Moved from here...
13669 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
13670 Transformed into C. Made static.
13671 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
13672 Moved from here...
13673 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
13674 ... here. Transformed into C.
13675 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
13676 Moved from here...
13677 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
13678 ... here. Transformed into C.
13679 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
13680 Moved from here...
13681 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
13682 ... here. Transformed into C. Made static.
13683 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
13684 Moved from here...
13685 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
13686 ... here. Transformed into C.
21ed554b
VS
13687 * grub-core/kern/i386/pc/startup.S
13688 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
13689 * grub-core/video/i386/pc/vbe.c
13690 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
13691 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
13692 Moved from here...
13693 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
13694 ... here. Transformed into C.
13695 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
13696 Moved from here...
13697 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
13698 ... here. Transformed into C.
13699 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
13700 Moved from here...
13701 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
13702 ... here. Transformed into C.
13703 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
13704 Moved from here...
13705 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
13706 ... here. Transformed into C.
13707 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
13708 Moved from here...
13709 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
13710 ... here. Transformed into C. Made static.
13711 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
13712 Moved from here...
13713 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
13714 ... here. Transformed into C. Made static.
13715 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
13716 Moved from here...
13717 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
13718 ... here. Transformed into C. Made static.
13719 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
13720 pxe_rm_entry as third argument.
13721 (grub_bios_interrupt): New function.
13722 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
13723 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
13724 of calling grub_stop.
13725 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
13726 * grub-core/lib/efi/halt.c (grub_halt): ...here.
13727 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
13728 * grub-core/lib/emu/halt.c (grub_halt): ... here.
13729 * grub-core/lib/i386/halt.c: Moved from here ...
13730 * grub-core/lib/i386/halt.c: ... here.
13731 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
13732 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
13733 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
13734 grub_stop_floppy.
13735 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
13736 * include/grub/i386/coreboot/init.h: Removed.
13737 * include/grub/i386/multiboot/init.h: Likewise.
13738 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
13739 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
13740 * include/grub/i386/pc/int.h: New file.
13741 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
13742 (grub_pxe_scan): Removed.
13743 (grub_pxe_call): Update prototype.
13744 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
13745 prototypes.
13746 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
13747 * include/grub/i386/qemu/init.h: Removed.
13748 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
13749 noreturn.
13750 (grub_halt): Likewise.
13751 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
13752 (grub_reboot): Likewise.
13753 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
13754 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
13755 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
13756
215dd471
RM
137572010-08-30 Robert Millan <rmh@gnu.org>
13758
13759 * NEWS: Document addition of ZFS support in `grub-install' and
13760 `grub-mkconfig'.
13761
ebd65b82
BC
137622010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
13763
13764 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
13765 dprintf output.
13766
11721d19
VS
137672010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13768
13769 Remove leftover embedding of font objects.
13770
13771 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
13772 * util/grub-install.in (font): Removed.
13773 * util/grub-mkimage.c (generate_image): Remove font support. All users
13774 updated.
13775
37837d4e
VS
137762010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13777
13778 Remove leftover embedding of font objects.
13779
13780 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
13781 * util/grub-install.in (font): Removed.
13782 * util/grub-mkimage.c (generate_image): Remove font support. All users
13783 updated.
13784
b4c1aae0
VS
137852010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13786
13787 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 13788 Reported by: Ian Turner
b4c1aae0 13789
8920a08d
VS
137902010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13791
13792 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
13793 timeout to avoid indefinite boot stalling.
13794
f21db033
VS
137952010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13796
13797 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
13798 (grub_env_write_color_highlight): Likewise.
13799
9a9de209
VS
138002010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13801
13802 * grub-core/normal/term.c (print_more): Return to normal and not
13803 to standard state after printing "---MORE---".
13804
3dca01d7
VS
138052010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
13806
13807 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
13808 Mask out the bit 0x80 since it has other meaning that specifiing color.
13809
0b986c40
VS
138102010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
13811
13812 New relocator. Allows for more kernel support and more straightforward
13813 loader writing.
13814
13815 * Makefile.am (BOOTTARGET): New variable.
13816 (QEMU32): Likewise.
13817 (linux.init.x86_64): New target.
13818 (linux.init.i386): Likewise.
13819 (multiboot.elf): Likewise.
13820 (kfreebsd.elf): Likewise.
13821 (kfreebsd.aout): Likewise.
13822 (pc-chainloader.elf): Likewise.
13823 (pc-chainloader.bin): Likewise.
13824 (ntldr.elf): Likewise.
13825 (ntldr.bin): Likewise.
13826 (multiboot2.elf): Likewise.
13827 (kfreebsd.init.x86_64): Likewise.
13828 (kfreebsd.init.i386): Likewise.
13829 (knetbsd.init.i386): Likewise.
13830 (kopenbsd.init.i386): Likewise.
13831 (knetbsd.init.x86_64): Likewise.
13832 (kopenbsd.init.x86_64): Likewise.
13833 (linux-initramfs.i386): Likewise.
13834 (linux-initramfs.x86_64): Likewise.
13835 (kfreebsd-mfsroot.i386.img): Likewise.
13836 (knetbsd.image.i386): Likewise.
13837 (kopenbsd.image.i386): Likewise.
13838 (kopenbsd.image.x86_64): Likewise.
13839 (knetbsd.miniroot-image.i386.img): Likewise.
13840 (kfreebsd-mfsroot.x86_64.img): Likewise.
13841 (knetbsd.image.x86_64): Likewise.
13842 (knetbsd.miniroot-image.x86_64.img): Likewise.
13843 (kfreebsd-mfsroot.i386.gz): Likewise.
13844 (bootcheck-kfreebsd-i386): Likewise.
13845 (kfreebsd-mfsroot.x86_64.gz): Likewise.
13846 (bootcheck-kfreebsd-x86_64): Likewise.
13847 (knetbsd.miniroot-image.i386.gz): Likewise.
13848 (bootcheck-knetbsd-i386): Likewise.
13849 (bootcheck-kopenbsd-i386): Likewise.
13850 (bootcheck-kopenbsd-x86_64): Likewise.
13851 (knetbsd.miniroot-image.x86_64.gz): Likewise.
13852 (bootcheck-knetbsd-x86_64): Likewise.
13853 (bootcheck-linux-i386): Likewise.
13854 (bootcheck-linux-x86_64): Likewise.
13855 (bootcheck-linux16-i386): Likewise.
13856 (bootcheck-linux16-x86_64): Likewise.
13857 (bootcheck-multiboot): Likewise.
13858 (bootcheck-multiboot2): Likewise.
13859 (bootcheck-kfreebsd-aout): Likewise.
13860 (bootcheck-pc-chainloader): Likewise.
13861 (bootcheck-ntldr): Likewise.
13862 (CLEANFILES): Add new targets.
13863 (BOOTCHECKS): New variable.
13864 (.PHONY): Add bootchecks.
13865 (SUCCESSFUL_BOOT_STRING): New variable.
13866 (BOOTCHECK_TIMEOUT): Likewise.
13867 (bootcheck): New target
13868 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
13869 * configure.ac: Correct efiemu excuse.
13870 * docs/grub.texi (Supported kernels): New chapter.
13871 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
13872 include/grub/mm_private.h. Simplify inclusion of
13873 include/grub/boot.h, include/grub/loader.h
13874 and include/grub/msdos_partition.h
13875 (KERNEL_HEADER_FILES) [i386_coreboot]:
13876 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
13877 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
13878 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
13879 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
13880 include/grub/machine/loader.h.
13881 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
13882 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
13883 extra_dist.
13884 (pci.mod): Enable on i386-multiboot.
13885 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
13886 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
13887 i386-qemu.
13888 (relocator.mod): Rewritten.
13889 (aout.mod): Enable on all x86.
13890 (bsd.mod): Likewise.
13891 (ntldr.mod): New module.
13892 (linux.mod): Use loader/i386/linux.c on all x86.
13893 (xnu.mod): Enable on all x86.
13894 (vga_text.mod): disable on EFI and QEMU.
13895 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
13896 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
13897 * grub-core/efiemu/loadcore.c: Likewise.
13898 * grub-core/efiemu/main.c: Likewise.
13899 (grub_efiemu_exit_boot_services): Removed.
13900 (grub_efiemu_finish_boot_services): Likewise.
13901 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
13902 function.
13903 * grub-core/efiemu/i386/nocfgtables.c: New file.
13904 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
13905 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
13906 (grub_efi_finish_boot_services): Moved from here ...
13907 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
13908 Fille finish memory map and related data.
13909 (finish_mmap_buf): New variable.
13910 (grub_efi_uintn_t finish_mmap_size): Likewise.
13911 (grub_efi_uintn_t finish_key): Likewise.
13912 (grub_efi_uintn_t finish_desc_size): Likewise.
13913 (grub_efi_uint32_t finish_desc_version): Likewise.
13914 (grub_efi_is_finished): Likewise.
13915 (grub_efi_get_memory_map): Use saved memory map if EFI is already
13916 finished.
13917 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
13918 (grub_elf64_phdr_iterate): Likewise.
13919 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
13920 (grub_os_area_size): Likewise.
13921 (grub_machine_init): Don't reserve os area.
13922 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
13923 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
13924 * grub-core/kern/i386/loader.S: Removed.
13925 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
13926 (grub_os_area_size): Likewise.
13927 (grub_machine_init): Don't reserve os area.
13928 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
13929 Don't call grub_dl_unload_all.
13930 Don't include loader.S.
13931 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
13932 Declare the memory after _end as available.
13933 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 13934 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 13935 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
13936 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
13937 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
13938 * include/grub/mm_private.h (grub_mm_header): ... here.
13939 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
13940 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
13941 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
13942 (grub_mm_region): ..here. Removed addr. Added pre_size.
13943 All users updated.
13944 * grub-core/kern/mm.c (base): Renamed to ...
13945 (grub_mm_base): ... this. Made global.
13946 (grub_real_malloc): Alloc from end of region.
13947 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
13948 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
13949 * grub-core/kern/powerpc/cache_flush.S: ... here.
13950 * grub-core/lib/efi/relocator.c: New file.
13951 * grub-core/lib/i386/relocator.c: Rewritten.
13952 * grub-core/lib/i386/relocator16.S: New file.
13953 * grub-core/lib/i386/relocator32.S: Likewise.
13954 * grub-core/lib/i386/relocator64.S: Likewise.
13955 * grub-core/lib/i386/relocator_asm.S: Rewritten.
13956 * grub-core/lib/i386/relocator_common.S: New file.
13957 * grub-core/lib/ieee1275/relocator.c: Likewise.
13958 * grub-core/lib/mips/relocator.c: Rewritten.
13959 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
13960 stylistic adjustments.
13961 * grub-core/lib/powerpc/relocator.c: New file.
13962 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
13963 * grub-core/lib/relocator.c: Rewritten.
13964 * grub-core/lib/x86_64/relocator_asm.S: New file.
13965 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
13966 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
13967 (bsd_tag): New struct.
13968 (tags): New variable.
13969 (tags_last): Likewise.
13970 (netbsd_module): New struct.
13971 (netbsd_mods): New variable.
13972 (netbsd_mods_last): Likewise.
13973 (openbsd_opts): New parameter "serial".
13974 (OPENBSD_SERIAL_ARG): New definition.
13975 (netbsd_opts): New parameter "serial".
13976 (NETBSD_SERIAL_ARG): New definition.
13977 (grub_freebsd_add_meta): Reorganised into ...
13978 (grub_bsd_add_meta): ...this. All users updated.
13979 (grub_freebsd_add_mmap): Reorganised into ...
13980 (generate_e820_mmap): ...this...
13981 (grub_bsd_add_mmap): ...and this. All users updated.
13982 (grub_freebsd_list_modules): Use tags.
13983 (grub_netbsd_add_meta_module): New function.
13984 (grub_netbsd_list_modules): Likewise.
13985 (grub_freebsd_boot): Use relocator and finish EFI.
13986 (grub_openbsd_boot): Likewise.
13987 (grub_netbsd_setup_video): New function.
13988 (grub_netbsd_add_modules): Likewise.
13989 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
13990 and finish EFI.
13991 (grub_bsd_unload): Unload tags.
13992 (grub_bsd_load_aout): Use relocator.
13993 (grub_bsd_elf32_size_hook): New function.
13994 (grub_bsd_elf32_hook): Use relocator.
13995 (grub_bsd_elf64_size_hook): New function.
13996 (grub_bsd_elf64_hook): Use relocator.
13997 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
13998 (grub_bsd_load): Zero-out openbsd_ramdisk.
13999 (grub_bsd_load): Use relocator.
14000 (grub_cmd_openbsd): Support serial.
14001 (grub_cmd_netbsd): Support modules.
14002 (grub_cmd_freebsd_module): Use relocator.
14003 (grub_netbsd_module_load): New function.
14004 (grub_cmd_netbsd_module): Likewise.
14005 (grub_cmd_openbsd_ramdisk): Likewise.
14006 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
14007 kopenbsd_ramdisk.
14008 (GRUB_MOD_FINI): Unregister new commands.
14009 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
14010 (grub_freebsd_load_elfmodule_obj): Use relocator.
14011 (grub_freebsd_load_elfmodule): Likewise.
14012 (grub_freebsd_load_elf_meta): Likewise.
14013 (grub_netbsd_load_elf_meta): New function.
14014 (grub_openbsd_find_ramdisk): Likewise.
14015 * grub-core/loader/i386/bsd_helper.S: Removed.
14016 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
14017 * grub-core/loader/i386/bsd_trampoline.S: Removed.
14018 * grub-core/loader/i386/efi/linux.c: Likewise.
14019 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
14020 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
14021 (DEFAULT_VIDEO_MODE): Likewise.
14022 (real_mode_target): New variable.
14023 (prot_mode_target): Likewise.
14024 (initrd_mem_target): Likewise.
14025 (relocator): Likewise.
14026 (efi_mmap_buf): Likewise.
14027 (efi_mmap_size): Likewise.
14028 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
14029 (free_pages): Use relocator.
14030 (allocate_pages): Account for efi_mmap and use relocator. Return error.
14031 (grub_linux_setup_video): Return error.
14032 (grub_linux_trampoline_start): Removed.
14033 (grub_linux_trampoline_end): Likewise.
14034 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
14035 andd video parameters depending on firmware.
14036 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
14037 [GRUB_MACHINE_EFI]: Pass EFI parameters.
14038 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
14039 (grub_cmd_initrd): Use relocator.
14040 * grub-core/loader/i386/linux_trampoline.S: Removed.
14041 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
14042 (elf_sec_entsize): Likewise.
14043 (elf_sec_shstrndx): Likewise.
14044 (elf_sections): Likewise.
14045 (grub_multiboot_load): Use relocator.
14046 (grub_multiboot_get_mbi_size): Account for sections.
14047 (grub_multiboot_make_mbi): Use relocator and support sections.
14048 (grub_multiboot_add_elfsyms): New function.
14049 (grub_multiboot_free_mbi): Free sections.
14050 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
14051 (grub_linux_real_target): Likewise.
14052 (grub_linux_real_chunk): Likewise.
14053 (grub_linux16_prot_size): Likewise.
14054 (grub_linux16_boot): Use relocator.
14055 (grub_linux_unload): Unload relocator.
14056 (grub_cmd_linux): Use relocator.
14057 (grub_cmd_initrd): Likewise.
14058 * grub-core/loader/i386/pc/ntldr.c: New file.
14059 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
14060 Don't try to guess CPU frequency.
14061 (grub_xnu_set_video): Stretch bitmap.
14062 (grub_xnu_boot): Use relocator.
14063 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
14064 (grub_linux_unload): Free relocator.
14065 (grub_linux_load32): Use relocator.
14066 (grub_linux_load64): Likewise.
14067 (grub_cmd_initrd): Likewise.
14068 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
14069 (grub_multiboot_unload): Unload relocator.
14070 (grub_cmd_multiboot): Use relocator.
14071 (grub_cmd_module): Likewise.
14072 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
14073 Use relocator and support sections.
14074 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
14075 (elf_sec_entsize): Likewise.
14076 (elf_sec_shstrndx): Likewise.
14077 (elf_sections): Likewise.
14078 (grub_multiboot_load): Use relocator.
14079 (grub_multiboot_get_mbi_size): Account for sections.
14080 (grub_multiboot_make_mbi): Use relocator and support sections.
14081 (grub_multiboot_add_elfsyms): New function.
14082 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
14083 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
14084 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
14085 Prototype changed. All users updated.
14086 (grub_xnu_align_heap): Simplified.
14087 (grub_xnu_writetree_toheap): Likewise.
14088 (grub_xnu_unload): Unload relocator.
14089 (grub_cmd_xnu_kernel): Use relocator.
14090 (grub_cmd_xnu_kernel64): Likewise.
14091 (grub_xnu_register_memory): Simplified.
14092 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
14093 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
14094 EFI is finished.
14095 (grub_console_checkkey): Likewise.
14096 (grub_console_getkey): Likewise.
14097 (grub_console_getwh): Likewise.
14098 (grub_console_getxy): Likewise.
14099 (grub_console_gotoxy): Likewise.
14100 (grub_console_cls): Likewise.
14101 (grub_console_setcolorstate): Likewise.
14102 (grub_console_setcursor): Likewise.
14103 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
14104 * grub-core/tests/boot/kbsd.init-i386.S: New file.
14105 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
14106 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
14107 * grub-core/tests/boot/kernel-8086.S: Likewise.
14108 * grub-core/tests/boot/kernel-i386.S: Likewise.
14109 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
14110 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
14111 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
14112 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
14113 * grub-core/tests/boot/knetbsd.cfg: Likewise.
14114 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
14115 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
14116 * grub-core/tests/boot/linux.cfg: Likewise.
14117 * grub-core/tests/boot/linux.init-i386.S: Likewise.
14118 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
14119 * grub-core/tests/boot/linux16.cfg: Likewise.
14120 * grub-core/tests/boot/multiboot.cfg: Likewise.
14121 * grub-core/tests/boot/multiboot2.cfg: Likewise.
14122 * grub-core/tests/boot/ntldr.cfg: Likewise.
14123 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
14124 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
14125 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
14126 New definition.
14127 * include/grub/dl.h (grub_dl_unload_all): Removed.
14128 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
14129 (grub_efi_finish_boot_services): Change prototype.
14130 (grub_efi_is_finished): New variable.
14131 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
14132 Changed prototype.
14133 (grub_efiemu_finish_boot_services): Removed.
14134 (grub_machine_efiemu_init_tables): New prototype.
14135 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
14136 (grub_elf64_phdr_iterate): Likewise.
14137 * include/grub/i386/bsd.h: Include relocator.h.
14138 (freebsd_tag_header): New struct.
14139 (grub_openbsd_bios_mmap): Removed.
14140 (grub_unix_real_boot): Removed.
14141 (grub_freebsd_load_elfmodule32): Changed prototype.
14142 (grub_freebsd_load_elfmodule_obj64): Likewise.
14143 (grub_freebsd_load_elf_meta32): Likewise.
14144 (grub_freebsd_load_elf_meta64): Likewise.
14145 (grub_freebsd_add_meta): Removed.
14146 (grub_netbsd_load_elf_meta32): New prototype.
14147 (grub_netbsd_load_elf_meta64): Likewise.
14148 (grub_bsd_add_meta): Likewise.
14149 (grub_openbsd_ramdisk_descriptor): New struct.
14150 (grub_openbsd_find_ramdisk32): New prototype.
14151 (grub_openbsd_find_ramdisk64): Likewise.
14152 * include/grub/i386/coreboot/loader.h: Removed.
14153 * include/grub/i386/efi/loader.h: Likewise.
14154 * include/grub/i386/ieee1275/loader.h: Likewise.
14155 * include/grub/i386/linux.h (linux_kernel_header): Change void *
14156 to grub_uint32_t.
14157 * include/grub/i386/loader.h: Removed.
14158 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
14159 value.
14160 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
14161 (grub_phys_addr_t): New type.
14162 (grub_vtop): New inline function.
14163 (grub_map_memory): Likewise.
14164 (grub_unmap_memory): Likewise.
14165 * include/grub/i386/multiboot/loader.h: Removed.
14166 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
14167 (NETBSD_BTINFO_CONSOLE): New definition.
14168 (NETBSD_BTINFO_SYMTAB): Likewise.
14169 (NETBSD_BTINFO_MODULES): Likewise.
14170 (NETBSD_BTINFO_FRAMEBUF): Likewise.
14171 (grub_netbsd_bootinfo): New struct.
14172 (grub_netbsd_btinfo_common): Use explicit bitsize.
14173 (grub_netbsd_btinfo_mmap_entry): Removed.
14174 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
14175 (grub_netbsd_btinfo_bootdisk): New struct.
14176 (grub_netbsd_btinfo_symtab): Likewise.
14177 (grub_netbsd_btinfo_serial): Likewise.
14178 (grub_netbsd_btinfo_modules): Likewise.
14179 (grub_netbsd_btinfo_framebuf): Likewise.
14180 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
14181 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
14182 Likewise.
14183 (grub_openbsd_bootargs): Use explicit bitsize.
14184 (grub_openbsd_bootarg_console): New struct.
14185 (GRUB_OPENBSD_COM_MAJOR): New definition.
14186 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
14187 * include/grub/i386/pc/efiemu.h: Removed.
14188 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
14189 * include/grub/i386/qemu/loader.h: Removed.
14190 * include/grub/i386/relocator.h: Rewritten.
14191 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
14192 * include/grub/mips/memory.h: New file.
14193 * include/grub/mips/multiboot.h: Rewritten.
14194 * include/grub/mips/relocator.h: Rewritten.
14195 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
14196 (grub_vtop): New function.
14197 (grub_map_memory): Likewise.
14198 (grub_unmap_memory): Likewise.
14199 * include/grub/misc.h (ALIGN_DOWN): New definition.
14200 * include/grub/mm.h (grub_mm_check_real): New proto.
14201 (GRUB_MM_CHECK): New definition.
14202 * include/grub/mm_private.h: New file.
14203 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
14204 (grub_multiboot_get_mbi_size): Removed.
14205 (grub_multiboot_make_mbi): Change prottype.
14206 (grub_multiboot_set_accepts_video): New proto.
14207 (grub_multiboot_add_elfsyms): Likewise.
14208 (grub_multiboot_payload_eip): New variable.
14209 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
14210 New prototype.
14211 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
14212 New definition.
14213 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
14214 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
14215 * include/grub/powerpc/ieee1275/loader.h: Removed.
14216 * include/grub/powerpc/memory.h: New file.
14217 * include/grub/powerpc/relocator.h: Likewise.
14218 * include/grub/relocator.h: Likewise.
14219 * include/grub/relocator_private.h: Likewise.
14220 * include/grub/sparc64/ieee1275/loader.h: Removed.
14221 * include/grub/x86_64/memory.h: New file.
14222 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
14223 (grub_xnu_heap_malloc): Likewise.
14224 (grub_xnu_heap_real_start): Removed.
14225 (grub_xnu_heap_start): Likewise.
14226 (grub_xnu_relocator): New variable.
14227 (grub_xnu_heap_target_start): Likewise.
14228 * tests/util/grub-shell.in: Support non-pc.
14229 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 14230
5303b85d
VS
142312010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14232
14233 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
14234 on malloc error.
14235 (grub_bidi_logical_to_visual): Check that malloc succeded.
14236 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
14237 puts.
14238 (grub_xputs_normal): Likewise.
14239
d768d159
VS
142402010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14241
14242 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
14243 extra_dist.
14244
142452010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14246
14247 * grub-core/efiemu/runtime/efiemu.sh: Removed.
14248
5bf84df4
VS
142492010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14250
14251 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
14252
3626810e
VS
142532010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
14254
14255 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
14256 dprintf.
14257
a7363f53
BC
142582010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
14259
14260 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
14261
902f75f6
VS
142622010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14263
14264 * grub-core/normal/term.c (print_more): Fix a memory leak.
14265 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
14266 (grub_xputs_normal): Likewise.
14267
3c707967
VS
142682010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14269
14270 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
14271 the begining of the string
14272
2053cc07
VS
142732010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14274
14275 * grub-core/script/script.c (grub_script_parse): Free parsed on
14276 failure.
14277
46422ebf
VS
142782010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14279
14280 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
14281 on failure.
14282
9e0fa3f6
VS
142832010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14284
14285 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
14286 return.
14287
3393cf16
VS
142882010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14289
14290 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
14291 (scroll_up): Fix a memory leak.
14292
b17540cb
VS
142932010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
14294
14295 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
14296 errors.
14297
67140446
VS
142982010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
14299
14300 Handle USB pendrives exposed as floppies.
14301
14302 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
14303 floppy.
14304 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
14305 Check for partitions on all devices.
14306
e35e46fc
VS
143072010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
14308
14309 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
14310 (readkey): Likewise.
14311
d24c6190
BC
143122010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
14313
14314 Multiple variable names support to "export" command.
14315
14316 * normal/context.c (grub_cmd_export): "export" command supports
14317 multiple variable names.
14318
04ddcc6a
ST
143192010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
14320
14321 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
14322 --target=drive output to Mach device name.
14323
0c8b61d8
BC
143242010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14325
14326 New Automake based build system for GRUB.
14327
14328 * ABOUT-NLS: New file.
14329 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
14330 in Makefile.util.def file.
14331 * Makefile.util.def: New file. Autogen build definitions file for
14332 GRUB host utils.
14333 * conf/Makefile.common: New file. Common variables for GRUB host
14334 utils and target modules.
14335 * conf/Makefile.extra-dist: New file. Extra files for make dist.
14336 * docs/Makefile.am: New file. Automake file for docs.
14337 * gentpl.py: New file. Python script to generate Autogen
14338 template.
14339 * grub-core/Makefile.am: New file. GRUB target modules' rules
14340 that doesn't fit in Makefile.core.def file.
14341 * grub-core/Makefile.core.def: New file. Autogen build
14342 definitions file for GRUB target modules.
14343 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
14344 specific setjmp.S file.
14345 * po/Makefile.am: New file.
14346
14347 * .bzrignore: New ignores.
14348 * INSTALL: New requirements, without Ruby.
14349 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
14350 * autogen.sh: Updated to invoke autogen as necessary.
14351 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
14352 and defines for Automake conditionals.
14353 * geninit.sh: Refactoring.
14354
14355 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
14356 necessary.
14357 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
14358 New prototype.
14359
14360 * include/grub/test.h: Fix functional test modules' naming.
14361 * grub-core/tests/example_functional_test.c: Fix test module name.
14362
14363 * util/misc.c: Hosted versions' of grub functions for libgrub.a
14364 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
14365 * util/grub-editenv.c: Likewise.
14366 * util/grub-fstest.c: Likewise.
14367 * util/grub-mkdevicemap.c: Likewise.
14368 * util/grub-mkfont.c: Likewise.
14369 * util/grub-mkimage.c: Likewise.
14370 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14371 * util/grub-probe.c: Likewise.
14372 * util/grub-script-check.c: Likewise.
14373 * util/i386/pc/grub-setup.c: Likewise.
14374 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14375
14376 * tests/util/grub-shell.in: Fix override directory path.
14377 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
14378 * util/import_gcry.py: Create Makefile.gcry.def file instead.
14379
14380 * util/lvm.c: Update #includes.
14381 * util/raid.c: Likewise.
14382 * util/resolve.c: Likewise.
14383 * grub-core/bus/emu/pci.c: Likewise.
14384 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
14385 * grub-core/lib/posix_wrap/string.h: Likewise.
14386 * grub-core/kern/emu/main.c: Likewise.
14387
14388 * grub-core/gensymlist.sh: New file. Script for generating kernel
14389 symbols file.
14390 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
14391
14392 * grub-core/gentrigtables.c: Fix unused variable warnings.
14393
14394 * Makefile.in: Removed.
14395 * conf/any-emu.rmk: Removed.
14396 * conf/common.rmk: Removed.
14397 * conf/i386-coreboot.rmk: Removed.
14398 * conf/i386-efi.rmk: Removed.
14399 * conf/i386-ieee1275.rmk: Removed.
14400 * conf/i386-multiboot.rmk: Removed.
14401 * conf/i386-pc.rmk: Removed.
14402 * conf/i386-qemu.rmk: Removed.
14403 * conf/i386.rmk: Removed.
14404 * conf/mips-yeeloong.rmk: Removed.
14405 * conf/mips.rmk: Removed.
14406 * conf/powerpc-ieee1275.rmk: Removed.
14407 * conf/sparc64-ieee1275.rmk: Removed.
14408 * conf/tests.rmk: Removed.
14409 * conf/x86-efi.rmk: Removed.
14410 * conf/x86_64-efi.rmk: Removed.
14411 * gendistlist.sh: Removed.
14412 * geninitheader.sh: Removed.
14413 * genkernsyms.sh.in: Removed.
14414 * genmk.rb: Removed.
14415 * gensymlist.sh.in: Removed.
14416 * mkinstalldirs: Removed.
14417 * boot: Moved ...
14418 * grub-core/boot: ... to here.
14419 * bus: Moved ...
14420 * grub-core/bus: ... to here.
14421 * commands: Moved ...
14422 * grub-core/commands: ... to here.
14423 * disk: Moved ...
14424 * grub-core/disk: ... to here.
14425 * efiemu: Moved ...
14426 * grub-core/efiemu: ... to here.
14427 * font: Moved ...
14428 * grub-core/font: ... to here.
14429 * fs: Moved ...
14430 * grub-core/fs: ... to here.
14431 * gencmdlist.sh: Moved ...
14432 * grub-core/gencmdlist.sh: ... to here.
14433 * genemuinit.sh: Moved ...
14434 * grub-core/genemuinit.sh: ... to here.
14435 * genemuinitheader.sh: Moved ...
14436 * grub-core/genemuinitheader.sh: ... to here.
14437 * genfslist.sh: Moved ...
14438 * grub-core/genfslist.sh: ... to here.
14439 * genhandlerlist.sh: Moved ...
14440 * grub-core/genhandlerlist.sh: ... to here.
14441 * genmoddep.awk: Moved ...
14442 * grub-core/genmoddep.awk: ... to here.
14443 * genmodsrc.sh: Moved ...
14444 * grub-core/genmodsrc.sh: ... to here.
14445 * genpartmaplist.sh: Moved ...
14446 * grub-core/genpartmaplist.sh: ... to here.
14447 * genparttoollist.sh: Moved ...
14448 * grub-core/genparttoollist.sh: ... to here.
14449 * genterminallist.sh: Moved ...
14450 * grub-core/genterminallist.sh: ... to here.
14451 * gentrigtables.c: Moved ...
14452 * grub-core/gentrigtables.c: ... to here.
14453 * genvideolist.sh: Moved ...
14454 * grub-core/genvideolist.sh: ... to here.
14455 * gettext: Moved ...
14456 * grub-core/gettext: ... to here.
14457 * gfxmenu: Moved ...
14458 * grub-core/gfxmenu: ... to here.
14459 * gnulib: Moved ...
14460 * grub-core/gnulib: ... to here.
14461 * hello: Moved ...
14462 * grub-core/hello: ... to here.
14463 * hook: Moved ...
14464 * grub-core/hook: ... to here.
14465 * io: Moved ...
14466 * grub-core/io: ... to here.
14467 * kern: Moved ...
14468 * grub-core/kern: ... to here.
14469 * lib: Moved ...
14470 * grub-core/lib: ... to here.
14471 * loader: Moved ...
14472 * grub-core/loader: ... to here.
14473 * mmap: Moved ...
14474 * grub-core/mmap: ... to here.
14475 * normal: Moved ...
14476 * grub-core/normal: ... to here.
14477 * partmap: Moved ...
14478 * grub-core/partmap: ... to here.
14479 * parttool: Moved ...
14480 * grub-core/parttool: ... to here.
14481 * script: Moved ...
14482 * grub-core/script: ... to here.
14483 * term: Moved ...
14484 * grub-core/term: ... to here
14485 * tests/example_functional_test.c: Moved ...
14486 * grub-core/tests/example_functional_test.c: ... to here.
14487 * tests/lib/functional_test.c: Moved ...
14488 * grub-core/tests/lib/functional_test.c: ... to here.
14489 * tests/lib/test.c: Moved ...
14490 * grub-core/tests/lib/test.c: ... to here.
14491 * video: Moved ...
14492 * grub-core/video: ... to here.
14493
645586e6
BC
144942010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
14495
14496 Replace --enable-grub-emu-modules with grub-emu-lite.
14497
14498 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
14499 cache.S.
14500
14501 * include/grub/emu/misc.h (grub_emu_init): New prototype.
14502 * kern/emu/full.c: New file. For grub-emu specific initialization.
14503 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
14504 * kern/emu/main.c: Call initialization function grub_emu_init.
14505
14506 * Makefile.in: Include grub-emu-lite in install.
14507 * commands/parttool.c: Use grub_no_autoload to differentiate
14508 between grub-emu and grub-emu-lite.
14509 * include/grub/misc.h: New variable grub_no_autoload.
14510
14511 * conf/any-emu.rmk: New rules for grub-emu-lite.
14512 * configure.ac: Remove --enable-grub-emu-modules.
14513 * genmk.rb: Cleanup unnecessary rules.
14514 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
14515
14516 * normal/main.c: Don't load list files on grub-emu-lite.
14517 * util/misc.c (grub_arch_sync_caches): Removed.
14518
f86a4030
CW
145192010-08-23 Colin Watson <cjwatson@ubuntu.com>
14520
14521 * kern/mips/startup.S (grub_prefix): Update comment to refer to
14522 grub-mkimage rather than grub-mkelfimage.
14523 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
14524
06776944
VS
145252010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
14526
14527 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
14528 a key after CapsLock or NumLock. It's just a qemu bug.
14529
df262419
VS
145302010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
14531
14532 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
14533 needed by libusb wrapper.
14534
b40ea81b
ST
145352010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
14536
14537 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
14538
dee50575
VS
145392010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
14540
14541 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
14542 --nounzip is passed.
14543
fb1d7b79
VS
145442010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
14545
14546 USB hotunplugging and USB serial support.
14547
14548 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
14549 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
14550 (grub_uhci_transfer): Respect timeout and set *actual.
14551 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
14552 non-standard length.
14553 (grub_usb_device_attach): Autoload modules.
14554 (GRUB_MOD_INIT): Set grub_term_poll_usb.
14555 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
14556 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
14557 users updated.
14558 (grub_usb_add_hub): Fill nports and children.
14559 (attach_root_port): Receive hub instead of controller.
14560 All users updated. Fill hub->devices.
14561 (grub_usb_root_hub): Allocate hub->devices.
14562 (detach_device): New function.
14563 (poll_nonroot_hub): Fill children and detach devices.
14564 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
14565 actual arguments. All users updated.
14566 (grub_usb_bulk_read_extended): New function.
14567 * bus/usb/serial/common.c: New file.
14568 * bus/usb/serial/ftdi.c: Likewise.
14569 * bus/usb/serial/pl2303.c: Likewise.
14570 * commands/terminal.c (handle_command): Support wildcard.
14571 * commands/usbtest.c: Output "Unknown" instead of empty string.
14572 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
14573 (usbserial_common_mod_SOURCES): New variable.
14574 (usbserial_common_mod_CFLAGS): Likewise.
14575 (usbserial_common_mod_LDFLAGS): Likewise.
14576 (pkglib_MODULES): Add usbserial_pl2303.mod.
14577 (usbserial_pl2303_mod_SOURCES): New variable.
14578 (usbserial_pl2303_mod_CFLAGS): Likewise.
14579 (usbserial_pl2303_mod_LDFLAGS): Likewise.
14580 (pkglib_MODULES): Add usbserial_ftdi.mod.
14581 (usbserial_ftdi_mod_SOURCES): New variable.
14582 (usbserial_ftdi_mod_CFLAGS): Likewise.
14583 (usbserial_ftdi_mod_LDFLAGS): Likewise.
14584 (pkglib_MODULES): Add serial.mod.
14585 (serial_mod_SOURCES): New variable.
14586 (serial_mod_CFLAGS): Likewise.
14587 (serial_mod_LDFLAGS): Likewise.
14588 * conf/i386-pc.rmk: Likewise.
14589 * conf/mips-yeeloong.rmk: Likewise.
14590 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
14591 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
14592 * disk/usbms.c (first_available_slot): New variable.
14593 (grub_usbms_attach): Don't reuse free slots due to potential cache
14594 problems.
14595 * include/grub/serial.h: Moved to ..
14596 * include/grub/ns8250.h: ...this.
14597 * include/grub/serial.h: New file.
14598 * include/grub/term.h (grub_term_poll_usb): New variable.
14599 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
14600 readkey. All users updated.
14601 (grub_terminfo_output_state): Pass term to put.
14602 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
14603 (grub_usb_controller_dev): Add timeout and actual arguments to
14604 transfer. All users updated.
14605 (grub_usb_interface): New field detach_data.
14606 (grub_usb_device): New fields children and nports.
14607 (grub_usb_ep_type_t): New type.
14608 (grub_usb_get_ep_type): New function.
14609 (grub_usb_bulk_read_extended): Likewise.
14610 * include/grub/usbdesc.h (grub_usb_desc): New type.
14611 * include/grub/usbserial.h: New file.
14612 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
14613 * kern/term.c (grub_term_poll_usb): New variable.
14614 (grub_getkey): Call grub_term_poll_usb if set.
14615 (grub_checkkey): Likewise.
14616 (grub_getkeystatus): Likewise.
14617 * term/serial.c: Moved controller-specific parts to ...
14618 * term/ns8250.c: ... here.
14619 * term/serial.c: Mostly rewritten.
14620 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
14621 according to spec.
14622
21a313de
RM
146232010-08-20 Robert Millan <rmh@gnu.org>
14624
14625 Make kFreeBSD code more generic to support ext2fs as root, ufs as
14626 a separate module and maybe other interesting combinations.
14627
14628 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
14629 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
14630 (kfreebsd_entry): Add generic filesystem module load routine.
14631 Map GRUB `ext2' to kFreeBSD `ext2fs'.
14632
63c734a6
CW
146332010-08-20 Colin Watson <cjwatson@ubuntu.com>
14634
14635 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
14636 "numcenter" (I misunderstood the purpose of this entry).
14637 * docs/grub.texi (sendkey): Likewise.
14638
c4d16542
CW
146392010-08-20 Colin Watson <cjwatson@ubuntu.com>
14640
14641 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
14642 status flag options; simply omitting the option is equivalent and
14643 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
14644 (keysym_table): Rename "num5numlock" to "numlock".
14645 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
14646 can uniformly say that only the last of multiple `sendkey'
14647 invocations has any effect.
14648 * docs/grub.texi (sendkey): New section.
14649
93541d66
CW
146502010-08-19 Colin Watson <cjwatson@ubuntu.com>
14651
14652 * commands/i386/pc/sendkey.c (options): Fix three typos.
14653
b4ece5e1
VS
146542010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
14655
14656 Implement sendkey support.
14657
14658 * commands/i386/pc/sendkey.c: New file.
14659 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
14660 (sendkey_mod_SOURCES): New variable.
14661 (sendkey_mod_CFLAGS): Likewise.
14662 (sendkey_mod_LDFLAGS): Likewise.
14663
51f1f5af
CW
146642010-08-18 Colin Watson <cjwatson@ubuntu.com>
14665
14666 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
14667 fix warnings from Autoconf.
14668
9da94e05
CW
146692010-08-18 Colin Watson <cjwatson@ubuntu.com>
14670
14671 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
14672 to avoid false positives with some assemblers that output things
14673 like "someprefix_func" as part of their output.
14674
729a0f2e
RM
146752010-08-15 Robert Millan <rmh@gnu.org>
14676
14677 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
14678 errors.
14679 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
14680 grub_get_libzfs_handle() errors.
14681
f3710e08
RM
146822010-08-14 Robert Millan <rmh@gnu.org>
14683
14684 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
14685 filesystem is not ZFS.
14686
7a3c13de
BC
146872010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14688
14689 Fix for misspelled color names defaulting to black/black (bug
14690 reported by Doug Nazar)
14691
14692 * include/grub/normal.h (grub_parse_color_name_pair): Add return
14693 status to prototype.
14694 * normal/color.c (grub_parse_color_name_pair): Return failure
14695 status.
14696 (grub_env_write_color_normal): Ignore bad color names.
14697 (grub_env_write_color_highlight): Likewise.
14698 * normal/main.c (GRUB_MOD_INIT): Set default color names.
14699
ab8ba50d
BC
147002010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14701
14702 "shift" command support to GRUB script.
14703
14704 * include/grub/script_sh.h (grub_script_shift): New prototype.
14705 * script/execute.c (grub_script_shift): New function.
14706 * script/main.c (grub_script_init): Register shift command.
14707 (grub_script_fini): Unregister shift command.
14708 * util/grub-script-check.c (grub_script_cmd_shift): New function.
14709
14710 * tests/grub_script_shift.in: New testcase.
14711 * conf/tests.rmk: Rules for new testcase.
14712
4d61999e
BC
147132010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14714
14715 "continue" command support to GRUB script.
14716
14717 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
14718 (grub_script_break): Continue support.
14719 * script/main.c (grub_script_init): Register continue command.
14720 (grub_script_fini): Unregister continue command.
14721
14722 * tests/grub_script_continue.in: New testcase.
14723 * conf/tests.rmk: Rules for new testcase.
14724
4df51e00
BC
147252010-08-12 BVK Chaitanya <bvk@dbook>
14726
14727 "break" command support to GRUB script.
14728
14729 * conf/common.rmk: Rule updates to grub-script-check.
14730 * include/grub/misc.h (grub_min): New function.
14731 * include/grub/script_sh.h (grub_script_init): New prototype.
14732 (grub_script_fini): New prototype.
14733 (grub_script_break): New prototype.
14734 * script/main.c (grub_script_init): New function.
14735 (grub_script_fini): New function.
14736 * script/execute.c (grub_script_break): New function.
14737 * normal/main.c: Calls to grub_script_{init,fini}.
14738 * util/grub-script-check.c (grub_script_break): New function.
14739
14740 * tests/grub_script_break.in: New testcase.
14741 * conf/tests.rmk: Rules for new test case.
14742
f12c8420
BC
147432010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14744
14745 Function parameters support to GRUB script.
14746
14747 * script/yylex.l (VARIABLE): Regular expression update.
14748 * script/function.c (grub_script_function_call): Moved ...
14749 * script/execute.c (grub_script_function_call): ... to here.
14750 (grub_script_execute_arglist_to_argv): Removed.
14751 (grub_script_arglist_to_argv): New function.
14752 * script/argv.c: New file.
14753 (grub_script_argv_free): New function.
14754 (grub_script_argv_next): Likewise.
14755 (grub_script_argv_append): Likewise.
14756 (grub_script_argv_split_append): Likewise.
14757 * include/grub/script_sh.h (grub_script_argv): New struct.
14758 (grub_script_argv_free): New function.
14759 (grub_script_argv_next): Likewise.
14760 (grub_script_argv_append): Likewise.
14761 (grub_script_argv_split_append): Likewise.
14762
14763 * conf/common.rmk (normal.mod): New source script/argv.c.
14764
14765 * tests/grub_script_echo1.in: More tests.
14766 * tests/grub_script_vars1.in: Likewise.
14767 * tests/grub_script_functions.in: New test case.
14768 * conf/tests.rmk: Rules for new testcase.
14769
8022b748
BC
147702010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
14771
14772 Remove grub_script_cmdblock struct.
14773
14774 * include/grub/script_sh.h: Remove grub_script_cmdblock.
14775 * script/parser.y: Likewise.
14776 * script/execute.c: Rename cmdblock suffix to cmdlist.
14777 * script/script.c: Likewise.
14778 * util/grub-script-check.c: Likewise.
14779
79a6ba61
YB
147802010-08-11 Yves Blusseau <blusseau@zetam.org>
14781
14782 * .bzrignore: add grub-macho2img
14783
d04b9414
VS
147842010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
14785
14786 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
14787
f947ab49
VS
147882010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
14789
14790 Remove the dump of sm712 initialisation sequence.
14791
14792 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
14793 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
14794 (GRUB_VGA_IO_MISC_WRITE): Likewise.
14795 (GRUB_VGA_CR_*): Added many registers.
14796 (GRUB_VGA_SR_*): Likewise.
14797 (GRUB_VGA_GR_*): Likewise.
14798 (grub_vga_write_arx): New function.
14799 (grub_video_hw_config): New struct.
14800 (grub_vga_set_geometry): New function.
14801 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
14802 GRUB_PCI_CLASS_SUBCLASS_VGA.
14803 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
14804 * video/sm712.c (grub_sm712_write_reg): New function
14805 (grub_sm712_read_reg): Likewise.
14806 (grub_sm712_sr_write): Likewise.
14807 (grub_sm712_gr_write): Likewise.
14808 (grub_sm712_cr_write): Likewise.
14809 (grub_sm712_write_arx): Likewise.
14810 (grub_sm712_cr_shadow_write): Likewise.
14811 (grub_sm712_write_dda_lookup): Likewise.
14812 (grub_video_sm712_setup): Initialise the video rather then
14813 blindly replay the dump.
14814 (main) [TEST]: Add a routine to be able to compile as standalone for
14815 tests.
14816 * video/sm712_init.c (sm712_init): Removed.
14817 (sm712_sr_seq1): New array.
14818 (sm712_sr_seq2): Likewise.
14819
f0206638
VS
148202010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
14821
14822 * include/grub/vga.h: Add missing grub/pci.h include.
14823
2764da3b
YB
148242010-08-10 Yves Blusseau <blusseau@zetam.org>
14825
14826 * util/grub-macho2img.c (main): fix typo
14827
cf0c775e
VS
148282010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
14829
14830 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
14831 (grub_vga_gr_read): Likewise.
14832 (grub_vga_cr_write): Likewise.
14833 (grub_vga_cr_read): Likewise.
14834 (grub_vga_sr_write): Likewise.
14835 (grub_vga_sr_read): Likewise.
14836 (grub_vga_palette_read): Likewise.
14837 (grub_vga_palette_write): Likewise.
14838 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
14839 (grub_sm712_sr_read): New function.
14840 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
14841 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
14842
07f360e9
RM
148432010-08-09 Robert Millan <rmh@gnu.org>
14844
14845 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
14846 out unused variables on non-ZFS build.
14847
346c2072
RM
148482010-08-08 Robert Millan <rmh@gnu.org>
14849
14850 Fix path generation for sub-filesystems in ZFS.
14851
14852 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
14853 missing slash.
14854
71175420
RM
148552010-08-08 Robert Millan <rmh@gnu.org>
14856
14857 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
14858
0d8286f3
RM
148592010-08-08 Robert Millan <rmh@gnu.org>
14860
14861 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
14862 exist, issue a proper error message (rely on `ls' for translated
14863 strings).
14864
55dd2924
RM
148652010-08-08 Robert Millan <rmh@gnu.org>
14866
14867 Fix grub-probe invocation.
14868
14869 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
14870
d3dd9e80
RM
148712010-08-04 Robert Millan <rmh@gnu.org>
14872
14873 * configure.ac: Remove checks for getfsstat() and getmntany().
14874 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
14875 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
14876 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
14877 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
14878 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
14879 function.
14880 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
14881 via find_mount_point_from_dir() and getfsstat() / getmntany().
14882
0de22aa9
RM
148832010-08-04 Robert Millan <rmh@gnu.org>
14884
14885 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
14886 (grub_find_zpool_from_mount_point): Merge into ...
14887 (grub_find_zpool_from_dir): ... this.
14888 * kern/emu/misc.c: Likewise.
14889
14890 * kern/emu/misc.c
14891 (grub_make_system_path_relative_to_its_root): Replace
14892 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
14893 with grub_find_zpool_from_dir().
14894 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
14895
62858144
RM
148962010-08-04 Robert Millan <rmh@gnu.org>
14897
14898 Support OpenSolaris in ZFS device resolution.
14899
14900 * configure.ac: Check for getmntany().
14901 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
14902 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
14903 support.
14904
9dd6fd50
RM
149052010-08-03 Robert Millan <rmh@gnu.org>
14906
14907 Fix grub-emu build.
14908
14909 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
14910 * include/grub/emu/misc.h: ... here.
14911
14912 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
14913 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
14914
14915 * util/misc.c: Remove `<grub/util/libzfs.h>'.
14916 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
14917 (grub_get_libzfs_handle): Move to ...
14918 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
14919 (grub_get_libzfs_handle): ... here.
14920
c9f7ff97
BC
149212010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
14922
14923 * script/execute.c (grub_script_execute_cmdline): Check for NULL
14924 as command name case.
14925
a870a783
CW
149262010-08-02 Colin Watson <cjwatson@ubuntu.com>
14927
14928 * disk/raid.c (insert_array): Select unique numbers for named arrays
14929 as well, for use as keys in the disk cache.
14930
c7db243b
RM
149312010-08-01 Robert Millan <rmh@gnu.org>
14932
14933 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
14934 kFreeBSD device name, except on ZFS where the filesystem label is
14935 used.
14936 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
14937 `/boot/zfs/zpool.cache'.
14938 Set mountfrom kernel variable using ${kfreebsd_device}.
14939
f7abdefb
RM
149402010-08-01 Robert Millan <rmh@gnu.org>
14941
14942 Make it even harder to use uninitialized `libzfs_handle' (and
14943 make the interface a bit simpler).
14944
14945 * include/grub/util/misc.h (grub_util_init_libzfs)
14946 (libzfs_handle): Remove.
14947 (grub_get_libzfs_handle): New prototype.
14948
14949 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
14950 attribute.
14951 (grub_util_init_libzfs): Remove.
14952 (grub_get_libzfs_handle): New function.
14953
14954 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
14955 grub_get_libzfs_handle() to obtain a libzfs handle instead of
14956 accessing `libzfs_handle' directly.
14957
c882acc0
RM
149582010-08-01 Robert Millan <rmh@gnu.org>
14959
14960 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
14961 (grub_find_zpool_from_mount_point): New function prototypes.
14962
14963 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
14964 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
14965
14966 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
14967 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
14968 `static' attribute.
14969
14970 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
14971 finding zpool from mount point into ...
14972 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
14973
14974 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
14975 requested path is part of a ZFS pool, use
14976 grub_find_zpool_from_mount_point() to detect its filesystem name,
14977 and generate a path with `/fsname@path' syntax.
14978
8bfe31d8
CW
149792010-08-01 Colin Watson <cjwatson@ubuntu.com>
14980
14981 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
14982 (void) rather than () so that this is a proper prototype.
14983
553df63d
VS
149842010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14985
14986 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
14987
8687cf07
VS
149882010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
14989
14990 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
14991 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
14992
ea9be8ea
CW
149932010-08-01 Colin Watson <cjwatson@ubuntu.com>
14994
14995 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
14996
6eea041a
CW
149972010-08-01 Colin Watson <cjwatson@ubuntu.com>
14998
14999 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
15000
2cfb45df
CW
150012010-08-01 Colin Watson <cjwatson@ubuntu.com>
15002
15003 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
15004 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
15005 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
15006 disable gfxpayload.
15007 (Shell-like scripting): Add real content.
15008 (Serial terminal): Suggest `terminal_input serial; terminal_output
15009 serial' rather than putting the two commands on separate lines,
15010 since console input will be inoperative after the first command.
15011 (menuentry): Document --class, --users, and --hotkey options.
15012 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
15013 Vladimir Serbinenko).
15014
7decd202
VS
150152010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
150162010-08-01 Colin Watson <cjwatson@ubuntu.com>
15017
15018 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
15019
c882acc0
RM
150202010-08-01 Robert Millan <rmh@gnu.org>
15021
15022 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
15023 (grub_find_zpool_from_mount_point): New function prototypes.
15024
15025 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
15026 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
15027
15028 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
15029 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
15030 `static' attribute.
15031
15032 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
15033 finding zpool from mount point into ...
15034 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
15035
15036 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
15037 requested path is part of a ZFS pool, use
15038 grub_find_zpool_from_mount_point() to detect its filesystem name,
15039 and generate a path with `/fsname@path' syntax.
15040
deb0caa3
RM
150412010-08-01 Robert Millan <rmh@gnu.org>
15042
15043 Prevent accidental use of uninitialized libzfs_handle.
15044
15045 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
15046 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
15047 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
15048
ce04ef47
CW
150492010-08-01 Colin Watson <cjwatson@ubuntu.com>
15050
15051 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
15052 util/grub.d/10_linux.in). Fixes Debian bug #591093.
15053
ebf53056
RM
150542010-08-01 Robert Millan <rmh@gnu.org>
15055
15056 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 15057
3710bb6b
RM
150582010-07-31 Robert Millan <rmh@gnu.org>
15059
15060 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
15061
8072efeb
RM
150622010-07-31 Robert Millan <rmh@gnu.org>
15063
15064 * kern/emu/misc.c: Add missing license header.
15065
3169f4c7
RM
150662010-07-31 Robert Millan <rmh@gnu.org>
15067
15068 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
15069
15070 * include/grub/util/libnvpair.h: Include `<config.h>'.
15071 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
15072 declaring libnvpair prototypes ourselves.
15073 * include/grub/util/libzfs.h: Include `<config.h>'.
15074 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
15075 declaring libzfs prototypes ourselves.
15076
15077 (libzfs_handle): Moved to ...
15078 * include/grub/util/misc.h (libzfs_handle): ... here.
15079 Include `<grub/util/libzfs.h>'.
15080
c9a00aee
RM
150812010-07-30 Robert Millan <rmh@gnu.org>
15082
15083 * include/grub/emu/misc.h: Add missing license header.
15084
a184f9c8
RM
150852010-07-30 Robert Millan <rmh@gnu.org>
15086
15087 Enable `grub-probe -t device' resolution on ZFS.
15088
15089 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
15090 * include/grub/util/libnvpair.h: New file.
15091 * include/grub/util/libzfs.h: New file.
15092
15093 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
15094 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
15095 `<grub/util/libnvpair.h>'.
15096 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
15097
15098 (find_mount_point_from_dir): New static function.
15099 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
15100 function.
15101 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
15102 find_root_device_from_libzfs() before ressorting to find_root_device().
15103
15104 * include/grub/util/misc.h (grub_util_init_libzfs): New function
15105 prototype.
15106 * util/misc.c: Include `<grub/util/libzfs.h>'.
15107 (grub_util_init_libzfs): New function.
15108 [HAVE_LIBZFS] (libzfs_handle): New global variable.
15109 [HAVE_LIBZFS] (fini_libzfs): New static function.
15110 (grub_util_init_libzfs): New function.
15111 * util/grub-probe.c (main): Call grub_util_init_libzfs().
15112
f7790cdd
RM
151132010-07-30 Robert Millan <rmh@gnu.org>
15114
15115 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
15116 (xmalloc, xrealloc, xstrdup, xasprintf): Add
15117 `warn_unused_result' attribute.
15118 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
15119 (grub_xasprintf, grub_xvasprintf): Likewise.
15120 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
15121
0806b63c
RM
151222010-07-29 Robert Millan <rmh@gnu.org>
15123
15124 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
15125 (probe): Handle `PRINT_FS_LABEL'.
15126 (main): Handle `-t fs_label'.
15127
9f841f5c
RM
151282010-07-29 Robert Millan <rmh@gnu.org>
15129
15130 * configure.ac: Remove grub-mkisofs checks.
15131
46371121
VS
151322010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
15133
15134 * util/ieee1275/grub-install.in: Don't use empty grub_device.
15135 Reported by: Lennart Sorensen.
15136
151372010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15138
15139 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
15140 prior to terminal_input/terminal_output separation. It's been over 1.5
15141 years and those versions weren't widely deployed.
15142
a9600892
CW
151432010-07-22 Colin Watson <cjwatson@ubuntu.com>
15144
15145 * disk/raid.c (insert_array): Don't count named arrays when looking
15146 for unused array numbers.
697e053c 15147 Reported and tested by: Michael Guntsche.
a9600892 15148
c03507df
CW
151492010-07-20 Colin Watson <cjwatson@ubuntu.com>
15150
15151 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
15152 implementation of this so that grub-emu links again, with a note
15153 that this should support hotplugging in the future.
15154
b26f1c11
CW
151552010-07-20 Colin Watson <cjwatson@ubuntu.com>
15156
15157 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
15158
efc9d7f1
CW
151592010-07-20 Colin Watson <cjwatson@ubuntu.com>
15160
15161 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
15162 handle on failure.
15163 (grub_loopback_close): Remove empty function.
15164 (grub_loopback_dev): Remove close method.
15165
dd8ff5c9
CW
151662010-07-20 Colin Watson <cjwatson@ubuntu.com>
15167
15168 Disable EFI cursor when the EFI console becomes inactive.
15169
15170 * term/efi/console.c (grub_efi_console_init): New function.
15171 (grub_efi_console_fini): New function.
15172 (grub_console_term_output): Register init and fini methods.
15173
5e3bec67
VS
151742010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15175
15176 * tests/util/grub-shell-tester.in: Remove bashism and declare as
15177 sh script.
15178
afaec079
VS
151792010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15180
15181 * disk/loopback.c (grub_loopback): Replace filename with file.
15182 (delete_loopback): Handle new semantics.
15183 (grub_cmd_loopback): Likewise.
15184 (grub_loopback_iterate): Likewise.
15185 (grub_loopback_close): Likewise.
15186
a6a11f3c
VS
151872010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15188
15189 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
15190 with -p "".
15191 Reported by: Tito Keitel.
15192
64a638b0
VS
151932010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15194
15195 * docs/grub.texi (Naming convention): Document new naming convention.
15196
ab8ba957
VS
151972010-07-20 Vadim Solomin <vadic052@gmail.com>
151982010-07-20 Colin Watson <cjwatson@ubuntu.com>
15199
15200 Generate device.map in something closer to the old ordering.
15201
15202 * util/deviceiter.c (struct device): New declaration.
15203 (compare_file_names): Rename to ...
15204 (compare_devices): ... this. Sort by kernel name in preference to
15205 the stable by-id name, but keep the latter as a fallback comparison.
15206 Update header comment.
15207 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
15208 of `struct device' rather than of plain file names.
15209
a29d6a4b
TF
152102010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
15211
15212 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
15213 on i386.
15214
39d824e8
VS
152152010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
15216
15217 * commands/acpi.c (setup_common_tables): Use sizeof instead of
15218 hardcoding size.
15219 (setv1table): Likewise.
15220
f058276b
FZ
152212010-07-20 Colin Watson <cjwatson@ubuntu.com>
15222
15223 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
15224 removing the homehost if present.
15225 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
15226 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
15227 removing the homehost if present.
15228 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
15229 if possible.
15230 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
15231
15232 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
15233 parameter. Set its pointer target to 0.
15234 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
15235 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
15236 `data_offset' value from the superblock for 1.x metadata.
15237 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
15238 data on the device.
15239 (insert_array): Record the start sector of data on the device.
15240 (grub_raid_register): Pass start_sector parameters to
15241 grub_raid_list->detect and insert_array.
15242 * include/grub/raid.h (struct grub_raid_array): Add start_sector
15243 member.
15244 (struct grub_raid): Add start_sector parameter to `detect'.
15245
15246 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
15247 __attribute__ ((packed)), leaving a comment.
15248 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
15249 (grub_mdraid_detect_09): ... here and ...
15250 (grub_mdraid_detect_1x): ... here.
15251
152522010-07-20 Peter Henn <peter.henn@web.de>
15253
15254 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
15255 chunk size and disk size, which are already given as sector counts
15256 as distinct from the 0.90 units. Fetch the correct device number
15257 from the role table instead of using the table index.
15258
152592010-07-20 Felix Zielcke <fzielcke@z-51.de>
15260
15261 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
15262 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
15263 (WriteMostly1): New macro.
15264 Set array->name to NULL for metadata format 0.90. Add support for
15265 metadata 1.x. Fix some comments.
15266 * disk/raid.c (): Add support for name based RAID arrays. Fix a
15267 few comments.
15268 * util/getroot.c (grub_util_get_grub_dev): Add support for
15269 /dev/md/name style devices.
15270
4b761da9
CW
152712010-07-20 Colin Watson <cjwatson@ubuntu.com>
15272
15273 * .bzrignore: Ignore 20_linux_xen.
15274
5771289a
CW
152752010-07-17 Colin Watson <cjwatson@ubuntu.com>
15276
15277 * util/import_unicode.py: Remove unnecessary imports.
15278
5dab68df
AN
152792010-07-17 Aleš Nesrsta <starous@volny.cz>
15280
15281 Hotplugging and USB hub support.
15282
15283 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
15284 (grub_ohci): Likewise.
15285 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
15286 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
15287 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
15288 (GRUB_OHCI_CTRL_EDS): Likewise.
15289 (GRUB_OHCI_BULK_EDS): Likewise.
15290 (GRUB_OHCI_TDS): Likewise.
15291 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
15292 (grub_ohci_ed_phys2virt): New function.
15293 (grub_ohci_virt_to_phys): Likewise.
15294 (grub_ohci_td_phys2virt): Likewise.
15295 (grub_ohci_td_virt2phys): Likewise.
15296 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
15297 attachment.
15298 (grub_ohci_find_ed): New function.
15299 (grub_ohci_alloc_td): Likewise.
15300 (grub_ohci_free_td): Likewise.
15301 (grub_ohci_free_tds): Likewise.
15302 (grub_ohci_transfer): Use previously allocated memory.
15303 (grub_ohci_portstatus): Reset status changed bit.
15304 (grub_ohci_detect_dev): Supply status changed.
15305 (grub_ohci_fini_hw): Free memory.
15306 (grub_ohci_restore_hw): Reallocate memory.
15307 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
15308 Reset status change.
15309 (grub_uhci_detect_dev): Supply status_change.
15310 * bus/usb/usb.c (attach_hooks): New var.
15311 (grub_usb_device_attach): New function.
15312 (grub_usb_register_attach_hook_class): Likewise.
15313 (grub_usb_unregister_attach_hook_class): Likewise.
15314 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
15315 (grub_usb_add_hub): Reset connection changed bit.
15316 (attach_root_port): New function.
15317 (grub_usb_root_hub): Likewise.
15318 (poll_nonroot_hub): Likewise.
15319 (grub_usb_poll_devices): Likewise.
15320 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
15321 * disk/usbms.c (grub_usbms_open): Use device hooks.
15322 (grub_usbms_iterate) :Poll devices.
15323 (grub_usbms_finddevs): Split into ...
15324 (grub_usbms_attach): ... this ...
15325 (grub_usbms_attach): ... and this.
15326 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
15327 in detect_dev.
15328 (grub_usb_interface): New fields attached and detach_hook.
15329 (grub_usb_attach_hook_class): New type.
15330 (grub_usb_attach_desc): New struct.
15331 (grub_usb_register_attach_hook_class): New function.
15332 (grub_usb_unregister_attach_hook_class): Likewise.
15333 (grub_usb_poll_devices): Likewise.
15334 (grub_usb_device_attach): Likewise.
15335 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
15336 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
15337
3222efaf
VS
153382010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15339
15340 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
15341 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
15342 delta determination style. Works with most NetBSD partitions too.
15343
139b714a
VS
153442010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15345
15346 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
15347 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
15348
986aad56
VS
153492010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
15350
15351 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
15352
99be513c
AB
153532010-07-14 Anton Blanchard <anton@samba.org>
15354
15355 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
15356 ET_DYN files.
15357
18075f62
GS
153582010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15359
15360 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
15361
8d9a5b15
GS
153622010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
15363
15364 * kern/partition.c (grub_partition_check_containment): New function to
15365 check that a partition is physically contained in a parent. Since
15366 offsets are relative (and non-negative), this reduces to checking that
15367 the partition ends before its parent.
15368 (grub_partition_map_probe): Discard out-of-range sub-partitions.
15369 (grub_partition_iterate): Likewise.
15370 * include/grub/partition.h (grub_partition_map): Slightly more detailed
15371 comments.
15372 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
15373 partitions that start before their parent, and add debug printfs.
15374
19563c25
CW
153752010-07-13 Colin Watson <cjwatson@ubuntu.com>
15376
15377 * Makefile.in (.SUFFIX): Spell correctly, as ...
15378 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
15379 bare module name without `.mod', e.g. `test') tried to invoke a
15380 Modula-2 compiler.
15381
1a1f1e67
CW
153822010-07-13 Colin Watson <cjwatson@ubuntu.com>
15383
15384 * README: Point to the Info manual.
15385
811b0dca
JS
153862010-07-13 Jiro SEKIBA <jir@unicus.jp>
15387
15388 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
15389 2nd superblock position from partition size.
15390
e4f4eafc
CW
153912010-07-10 Colin Watson <cjwatson@ubuntu.com>
15392
15393 * Makefile.in (MAINTAINER_CLEANFILES): Remove
15394 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
15395 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
15396 outputs.
15397
4274c30f
VS
153982010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15399
15400 Restructure SCSI .id handling.
15401 Reported and tested by: Aleš Nesrsta.
15402
15403 * disk/ata.c (grub_atapi_close): Removed. All users updated.
15404 (grub_atapi_dev): Changed .name to "ata". New field .id.
15405 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
15406 (grub_usbms_dev): New field .id.
15407 * disk/scsi.c (grub_scsi_iterate): Generate name.
15408 (grub_scsi_open): Parse name.
15409 * include/grub/scsi.h (grub_make_scsi_id): New function.
15410 (grub_scsi_dev): Change iterate and open to number instead of naming
15411 busses. All users updated.
15412 (grub_scsi): Remove name. Add .bus.
15413
5bc24388
VS
154142010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15415
15416 * commands/help.c (grub_cmd_help): Fix a typo.
15417
249975ba
VS
154182010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15419
15420 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
15421 Reported and tested by: Colin Watson.
15422
3eaac1a1
VS
154232010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
15424
15425 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
15426 in this context.
15427
becce1b1
VS
154282010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
15429
15430 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
15431
f7bf0918
CW
154322010-07-07 Colin Watson <cjwatson@ubuntu.com>
15433
15434 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
15435 indentation.
15436
0b0f9620
CW
154372010-07-06 Colin Watson <cjwatson@ubuntu.com>
15438
15439 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
15440 and disk/raid6_recover.c.
15441 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15442 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
15443
1e545469
CW
154442010-07-06 Colin Watson <cjwatson@ubuntu.com>
15445
15446 * term/gfxterm.c (repaint_schedulded): Rename to ...
15447 (repaint_scheduled): ... this. Update all callers.
15448 (repaint_was_schedulded): Rename to ...
15449 (repaint_was_scheduled): ... this. Update all callers.
15450
5357687a
CW
154512010-07-06 Colin Watson <cjwatson@ubuntu.com>
15452
15453 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
15454 which we expect to be handled by upper layers.
15455
29d7e783
BC
154562010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
15457
15458 * bus/usb/usbhub.c: #include time.h header.
15459
37582066
CW
154602010-07-06 Colin Watson <cjwatson@ubuntu.com>
15461
15462 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
15463 entry_name also for entries without stat blocks (e.g. ".."); fixes
15464 corruption of the first entry in a directory.
15465
c8c06953
CW
154662010-07-06 Colin Watson <cjwatson@ubuntu.com>
15467
15468 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
15469 after setting gfxterm as the active terminal. GRUB_BACKGROUND
15470 doesn't work otherwise.
15471
e75056f1
CW
154722010-07-05 Colin Watson <cjwatson@ubuntu.com>
15473
15474 * docs/grub.texi (Features): Update list of supported file systems.
15475 (GNU/Linux): Update for GRUB 2.
15476 (Serial terminal): Remove mention of --disable-serial, which was a
15477 GRUB Legacy configure option. Update instructions to use
15478 `terminal_input' and `terminal_output' rather than `terminal'.
15479 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
15480 configuration' and `Installing GRUB using grub-install'.
15481 (Menu entry editor): Update for GRUB 2.
15482 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
15483 Document new -a, -u, and -v options.
15484 (initrd): New section.
15485 (initrd16): New section.
15486 (linux): New section.
15487 (linux16): New section.
15488 (search): The `var' argument to `--set' is optional.
15489 (GRUB only offers a rescue shell): Go into a little more detail on
15490 drive ordering.
15491
5cf69151
CW
154922010-07-05 Colin Watson <cjwatson@ubuntu.com>
15493
15494 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
15495
e3f90044
CW
154962010-07-05 Colin Watson <cjwatson@ubuntu.com>
15497
15498 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
15499 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
15500
38d8f4f3
CW
155012010-07-05 Colin Watson <cjwatson@ubuntu.com>
15502
15503 * util/i386/pc/grub-setup.c (setup): Rename prefix to
15504 install_prefix, in line with install_dos_part and install_bsd_part.
15505 Add new prefix variable, which is copied to install_prefix after
15506 comparing core.img in memory with the one read from disk in the
15507 no-embedding case, and use that rather than overwriting
15508 install_prefix immediately when installing to a partition.
15509 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
15510 Bicakci.
15511
57ebd41e
GS
155122010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
15513
15514 * configure.ac: Avoid == in test command, it's not portable.
15515 * util/grub.d/30_os-prober.in: Likewise.
15516
cb7f64b2
CW
155172010-07-04 Colin Watson <cjwatson@ubuntu.com>
15518
15519 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
15520
6b654bb0
GS
155212010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
15522
15523 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
15524 multiple (top-level) partmaps.
15525
72a2026d
VS
155262010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15527
15528 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 15529 Reported by: Tino Keitel.
72a2026d 15530
df3eb88f
VS
155312010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15532
15533 Bidi and diacritics support.
15534
15535 * Makefile.in (widthspec.bin): New target.
15536 (widthspec.h): Likewise.
15537 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
15538 * autogen.sh: Generate unidata.c.
15539 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
15540 * commands/ls.c (grub_ls_list_devices): Likewise.
15541 (grub_ls_list_files): Likewise.
15542 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
15543 (grub_mini_cmd_lsmod): Likewise.
15544 * commands/read.c: Likewise.
15545 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
15546 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
15547 * lib/arg.c (grub_arg_show_help): Likewise.
15548 * lib/crypto.c (grub_password_get): Likewise.
15549 * normal/auth.c (grub_username_get): Likewise.
15550 * normal/misc.c (grub_normal_print_device_info): Likewise.
15551 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
15552 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
15553 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
15554 (normal/charset.c_DEPENDENCIES): New variable.
15555 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
15556 (pkglib_MODULES): Remove charset.mod.
15557 (charset_mod_SOURCES): Removed.
15558 (charset_mod_CFLAGS): Likewise.
15559 (charset_mod_LDFLAGS): Likewise.
15560 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
15561 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
15562 and term/tparm.c.
15563 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15564 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15565 (kernel_img_HEADERS): Add terminfo.h.
15566 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
15567 Fill ->font. Reverse ascii bitmaps.
15568 (grub_font_get_xheight): New function.
15569 * font/font.c (grub_font_get_string_width): Moved from here ...
15570 * gfxmenu/font.c (grub_font_get_string_width): ... here.
15571 * font/font.c (grub_font_draw_string): Moved from here ...
15572 * gfxmenu/font.c (grub_font_draw_string): ... here.
15573 * font/font.c (grub_font_dup_glyph): New function.
15574 (grub_font_blit_glyph): Likewise.
15575 (grub_font_blit_glyph_mirror): Likewise.
15576 (blit_comb): Likewise.
15577 (grub_font_construct_dry_run): Likewise.
15578 (grub_font_get_constructed_device_width): Likewise.
15579 (grub_font_construct_glyph): Likewise.
15580 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
15581 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
15582 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
15583 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
15584 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
15585 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
15586 (grub_font_get_xheight): New proto.
15587 (grub_font_get_constructed_device_width): Likewise.
15588 (grub_font_construct_glyph): Likewise.
15589 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
15590 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
15591 * include/grub/font.h (grub_font_draw_string): Moved from here ...
15592 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
15593 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
15594 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
15595 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
15596 (grub_console_getcharwidth): Likewise.
15597 * include/grub/misc.h (grub_xputs): New proto.
15598 (grub_puts): Inlined.
15599 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
15600 (grub_normal_get_line_counter): Removed.
15601 (grub_install_newline_hook): Likewise.
15602 (grub_normal_get_char_counter): New proto.
15603 (grub_normal_reset_more): Likewise.
15604 (grub_xputs_normal): Likewise.
15605 * include/grub/powerpc/ieee1275/console.h: Removed.
15606 * include/grub/sparc64/ieee1275/console.h: Likewise.
15607 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
15608 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
15609 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
15610 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
15611 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
15612 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
15613 (grub_term_input): Pass reference to self. All users updated.
15614 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
15615 Pass reference to self. New fields normal_color, highlight_color and
15616 data. All users updated.
15617 (grub_putchar): Removed.
15618 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
15619 (grub_unicode_estimate_width): New function.
15620 (grub_term_getcharwidth): Add defaults.
15621 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
15622 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
15623 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
15624 (grub_cls): Remove EXPORT_FUNC.
15625 (grub_setcolorstate): Inline.
15626 (grub_newline_hook): Removed.
15627 * include/grub/terminfo.h: Rewritten. All users updated.
15628 * include/grub/unicode.h: New file.
15629 * include/grub/video.h (grub_video_signed_rect): New type.
15630 * kern/emu/console.c (grub_console_highlight_color): Removed.
15631 (grub_console_normal_color): Likewise.
15632 (grub_console_standard_color): Made static.
15633 (grub_ncurses_putchar): Remove mapping.
15634 (grub_ncurses_getcharwidth): Removed.
15635 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
15636 (grub_ncurses_setcolor): Removed.
15637 (grub_ncurses_getcolor): Likewise.
15638 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
15639 (grub_console_putchar): ... this.
15640 (grub_console_putchar): Handle argument difference.
15641 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
15642 console_init_early and console_init_lately.
15643 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
15644 * kern/misc.c (grub_puts): Removed.
15645 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
15646 (grub_vsnprintf_real): Remove str = NULL support.
15647 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
15648 * normal/charset.c (grub_utf8_to_ucs4): ... here.
15649 * kern/term.c (grub_putcode): Renamed to ...
15650 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
15651 (grub_putchar): Removed.
15652 (grub_xputs_dumb): New function.
15653 (grub_xputs): New variable.
15654 * lib/charset.c: Move from here ...
15655 * normal/charset.c: ... to here.
15656 (grub_ucs4_to_utf8): New function.
15657 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
15658 (join_types): New variable.
15659 (unpack_join): New function.
15660 (bidi_types): New variable.
15661 (unpack_bidi): New function.
15662 (get_bidi_type): Likewise.
15663 (get_join_type): Likewise.
15664 (is_mirrored): Likewise.
15665 (grub_unicode_get_comb_type): Likewise.
15666 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
15667 (is_type_after): Likewise.
15668 (grub_unicode_aglomerate_comb): Likewise.
15669 (bidi_line_wrap): Likewise.
15670 (grub_bidi_line_logical_to_visual): Likewise.
15671 (grub_bidi_logical_to_visual): Likewise.
15672 (grub_unicode_mirror_code): Likewise.
15673 (grub_unicode_shape_code): Likewise.
15674 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
15675 Don't use grub_putchar.
15676 * normal/main.c (grub_normal_init_page): Use grub_putcode.
15677 (grub_normal_reader_init): Likewise.
15678 (grub_xputs_saved): New variable.
15679 (GRUB_MOD_INIT): Set grub_xputs.
15680 (GRUB_MOD_FINI): Restore grub_xputs.
15681 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
15682 (menu_init): Avoid printing gfxmenu error.
15683 (show_menu): Use grub_normal_get_char_counter.
15684 * normal/menu_entry.c (update_screen): Fix out-of-array.
15685 (complete): Avoid NULL dereferencing.
15686 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
15687 * normal/menu_text.c (print_spaces): Removed.
15688 (grub_print_ucs4): Likewise.
15689 (grub_print_message_indented): Use grub_print_ucs4.
15690 (print_message): Use grub_putcode.
15691 (print_entry): Hanlde diacritics.
15692 * normal/term.c (term_state): New type.
15693 (grub_more_lines): Removed.
15694 (term_states): New variable.
15695 (grub_normal_line_counter): Renamed to ..
15696 (grub_normal_char_counter): ...this. All users updated.
15697 (grub_normal_get_line_counter): Renamed to ...
15698 (grub_normal_get_char_counter): ... this.
15699 (grub_normal_reset_more): New function.
15700 (process_newline): Removed.
15701 (print_more): New function.
15702 (grub_install_newline_hook): Removed.
15703 (map_code): New function.
15704 (grub_puts_terminal): Use grub_print_ucs4.
15705 (putglyph): New function.
15706 (putcode_real): Likewise.
15707 (grub_putcode): Use putcode_real.
15708 (get_maxwidth): New function.
15709 (get_startwidth): Likewise.
15710 (print_ucs4_terminal): Likewise.
15711 (find_term_state): Likewise.
15712 (put_glyphs_terminal): Likewise.
15713 (print_backlog): Likewise.
15714 (print_ucs4_real): Likewise.
15715 (grub_print_ucs4): Likewise.
15716 (grub_xputs_normal): Likewise.
15717 * term/efi/console.c (grub_console_putchar): Output diacritics.
15718 (grub_console_getcharwidth): Removed.
15719 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
15720 * term/gfxterm.c (clear_char): Free chars.
15721 (scroll_up): Avoid leaking memory.
15722 (grub_gfxterm_putchar): Support diacritics.
15723 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
15724 * term/i386/pc/console.c (grub_console_term_output): Declare as
15725 GRUB_TERM_CODE_TYPE_VGA.
15726 * term/i386/pc/vga.c (grub_vga_term): Declare as
15727 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
15728 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
15729 GRUB_TERM_CODE_TYPE_VGA.
15730 * term/i386/vga_common.c (map_char): Removed.
15731 (grub_console_putchar): Likewise.
15732 (grub_console_getcharwidth): Likewise.
15733 * term/ieee1275/ofconsole.c: Simplify using terminfo.
15734 (colors): Reordered to match terminfo.
15735 (grub_ofconsole_normal_color): Removed.
15736 (grub_ofconsole_writeesc): Likewise.
15737 (grub_ofconsole_highlight_color): Likewise.
15738 (grub_ofconsole_getcharwidth): Likewise.
15739 (grub_ofconsole_setcolorstate): Likewise.
15740 (grub_ofconsole_setcolor): Likewise.
15741 (grub_ofconsole_getcolor): Likewise.
15742 (grub_ofconsole_readkey): Renamed to ...
15743 (readkey): ... this. Remove escape sequence handling. Return -1 on no
15744 key.
15745 (grub_ofconsole_checkkey): Removed.
15746 (grub_ofconsole_getkey): Likewise.
15747 (grub_ofconsole_getxy): Likewise.
15748 (grub_ofconsole_gotoxy): Likewise.
15749 (grub_ofconsole_cls): Likewise.
15750 (grub_ofconsole_refresh): Likewise.
15751 (grub_ofconsole_terminfo_input): New struct.
15752 (grub_ofconsole_terminfo_output): Likewise.
15753 (grub_ofconsole_term_input): Use terminfo.
15754 (grub_ofconsole_term_output): Likewise.
15755 (grub_console_init): Split into ...
15756 (grub_console_init_early): ...this and ...
15757 (grub_console_init_lately): ...this. Use terminfo.
15758 (grub_ofconsole_putchar): Renamed to ...
15759 (put): ... this. Remove mapping.
15760 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
15761 * term/serial.c: Simplify using terminfo.
15762 (xpos): Removed.
15763 (ypos): Likewise.
15764 (keep_track): Likewise.
15765 (registered): Likewise.
15766 (input_buf): Likewise.
15767 (npending): Likewise.
15768 (serial_translate_key_sequence): Likewise.
15769 (fill_input_buf): Likewise.
15770 (grub_serial_checkkey): Likewise.
15771 (grub_serial_getkey): Likewise.
15772 (grub_serial_getxy): Likewise.
15773 (grub_serial_gotoxy): Likewise.
15774 (grub_serial_putchar): Likewise.
15775 (grub_serial_cls): Likewise.
15776 (grub_serial_setcolorstate): Likewise.
15777 (grub_serial_setcursor): Likewise.
15778 (serial_hw_init): Use serial_hw_fetch.
15779 (grub_serial_terminfo_input): New variable.
15780 (grub_serial_terminfo_output): Likewise.
15781 (grub_serial_term_input): Use terminfo.
15782 (grub_serial_term_output): Likewise.
15783 * term/terminfo.c (putstr): Use put.
15784 (grub_terminfo_all_free): New function
15785 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
15786 (grub_terminfo_output_register): New function.
15787 (grub_terminfo_output_unregister): Likewise.
15788 (grub_terminfo_getxy): Likewise.
15789 (grub_terminfo_readkey): Likewise.
15790 (grub_terminfo_checkkey): Likewise.
15791 (grub_terminfo_getkey): Likewise.
15792 (grub_terminfo_input_init): Likewise.
15793 (print_terminfo): Likewise.
15794 (grub_cmd_terminfo): Handle encoding.
15795 (grub_terminfo_gotoxy): Track position.
15796 (grub_terminfo_cls): Likewise.
15797 (grub_terminfo_putchar): Likewise.
15798 (grub_terminfo_setcolorstate): Handle colors
15799 (grub_terminfo_cursor_on): This ...
15800 (grub_terminfo_cursor_off): ... and this merged into ...
15801 (grub_terminfo_setcursor): ... this.
15802 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
15803 * unicode/ArabicShaping.txt: New file (imported from Unicode).
15804 * unicode/BidiMirroring.txt: Likewise.
15805 * unicode/UnicodeData.txt: Likewise.
15806 * unicode/COPYING: Likewise.
15807 * util/grub-editenv.c (grub_putchar): Removed.
15808 (grub_xputs_real): New function.
15809 (grub_xputs): New variable.
15810 * util/grub-fstest.c (grub_putchar): Removed.
15811 (grub_xputs_real): New function.
15812 (grub_xputs): New variable.
15813 * util/grub-mkdevicemap.c (grub_putchar): Removed.
15814 (grub_xputs_real): New function.
15815 (grub_xputs): New variable.
15816 * util/grub-probe.c (grub_putchar): Removed.
15817 (grub_xputs_real): New function.
15818 (grub_xputs): New variable.
15819 * util/grub-script-check.c (grub_putchar): Removed.
15820 (grub_xputs_real): New function.
15821 (grub_xputs): New variable.
15822 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
15823 (grub_xputs_real): New function.
15824 (grub_xputs): New variable.
15825 * util/import_unicode.py: New file.
15826 * util/grub-mkfont.c (ft_errmsgs): New array.
15827 (grub_glyph_info): Make bitmap a pointer.
15828 (file_formats): New type WIDTH_SPEC.
15829 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
15830 (options): Add width-spec.
15831 (help): Likewise.
15832 (add_char): Renamed to ...
15833 (add_glyph): ... this.
15834 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
15835 (glyph_replace): New type.
15836 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
15837 (add_char): New function.
15838 (add_subst): Likewise.
15839 (process_cursive): Likewise.
15840 (add_font): Handle GSUB.
15841 (write_font_width_spec): New function.
15842 (main): Sort glyphs.
15843 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
15844 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
15845 * kern/term.c (grub_cls): Moved from here...
15846 * normal/term.c (grub_cls): ... here.
15847
50f0bcda
CW
158482010-07-02 Colin Watson <cjwatson@ubuntu.com>
15849
15850 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
15851 suitable for using within the format argument of printf when
15852 converting grub_size_t.
15853 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
15854 "x" to convert grub_size_t arguments.
15855
40372103
VS
158562010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15857
15858 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
15859 too long captions.
15860 (list_get_minimal_size): Take selection box into account.
15861
942a10c7
VS
158622010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15863
15864 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
15865 NULL font.
15866
2bdb2892
CW
158672010-07-02 Colin Watson <cjwatson@ubuntu.com>
15868
15869 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
15870 devices when iterating over /dev/disk/by-id; they will be handled
15871 later if appropriate, which they aren't always (e.g. LVM).
15872
e03ed6c1
CW
158732010-07-02 Colin Watson <cjwatson@ubuntu.com>
15874
15875 * include/grub/misc.h (grub_reboot): Declare as noreturn.
15876 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
15877 fails.
15878 (grub_halt): Likewise.
15879 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
15880 reset-all fails.
15881 (grub_halt): Don't return, even if all of shut-down, power-off, and
15882 poweroff fail.
15883
47695765
CW
158842010-07-02 Colin Watson <cjwatson@ubuntu.com>
15885
15886 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
15887 arguments, not three.
15888
507736c8
CW
158892010-07-02 Colin Watson <cjwatson@ubuntu.com>
15890
15891 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
15892 * util/grub.d/10_linux.in: Use it to check for LVM, so that
15893 LVM-on-RAID is handled correctly.
15894
e3c8cd37
CW
158952010-07-02 Colin Watson <cjwatson@ubuntu.com>
15896
15897 * docs/grub.texi (Changes from GRUB Legacy): New section.
15898 (Future): Fix typo.
15899
8d4a2fec
CW
159002010-07-02 Colin Watson <cjwatson@ubuntu.com>
15901
15902 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
15903 grub.d/README accidentally ends up executable for one reason or
15904 another. Ignore it.
15905
1c4827be
VS
159062010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15907
15908 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
15909 (gpt_partition_map_iterate): Support non-512B sectors.
15910
d9a0c941
VS
159112010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15912
15913 * kern/efi/init.c (grub_efi_init): Disable watchdog.
15914 Tested by: Seth Goldberg.
15915
48f27e87
VS
159162010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
15917
15918 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
15919 Properly align mbi.
15920 Reported by: Seth Goldberg.
15921
b0c4f956
VS
159222010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
15923
15924 * util/grub-mkrescue.in: Avoid module duplication.
15925
105a2e8c
SF
159262010-07-01 Sean Finney <seanius@seanius.net>
15927
15928 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
15929
5944958c
SF
159302010-07-01 Sean Finney <seanius@seanius.net>
15931
15932 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
15933
159342010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
15935
15936 * disk/lvm.c (grub_lvm_checkvalue): New function.
15937 (grub_lvm_check_flag): Likewise.
15938
b79889ba
RM
159392010-07-01 Robert Millan <rmh@gnu.org>
15940
15941 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
15942 Support 'p' as partition separator on kernel of FreeBSD (used
15943 with GPT labels).
15944 (grub_util_biosdisk_get_grub_dev): Likewise.
15945
ec1d04f1
VS
159462010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
15947
15948 Yeeloong firmware port.
15949
15950 * boot/mips/yeeloong/fwstart.S: New file.
15951 * bus/cs5536.c (gpiodump): New const.
15952 (set_io_space): New function.
15953 (set_iod): Likewise.
15954 (set_p2d): Likewise.
15955 (grub_cs5536_init_geode): Likewise.
15956 * commands/mips/yeeloong/lsspd.c: New file.
15957 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
15958 (serial_mod_SOURCES): New variable.
15959 (serial_mod_CFLAGS): Likewise.
15960 (serial_mod_LDFLAGS): Likewise.
15961 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
15962 term/terminfo.c and term/tparm.c.
15963 (pkglib_IMAGES): Add fwstart.img.
15964 (fwstart_img_SOURCES): New variable.
15965 (fwstart_img_CFLAGS): Likewise.
15966 (fwstart_img_ASFLAGS): Likewise.
15967 (fwstart_img_LDFLAGS): Likewise.
15968 (fwstart_img_FORMAT): Likewise.
15969 (pkglib_MODULES): Add lsspd.mod.
15970 (lsspd_mod_SOURCES): New variable.
15971 (lsspd_mod_CFLAGS): Likewise.
15972 (lsspd_mod_LDFLAGS): Likewise.
15973 (pkglib_MODULES): Add halt.mod.
15974 (halt_mod_SOURCES): New variable.
15975 (halt_mod_CFLAGS): Likewise.
15976 (halt_mod_LDFLAGS): Likewise.
15977 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
15978 (serial_mod_SOURCES): Removed.
15979 (serial_mod_CFLAGS): Likewise.
15980 (serial_mod_LDFLAGS): Likewise.
15981 * disk/ata.c (check_device): New function.
15982 (grub_ata_device_initialize): Use check_device.
15983 (grub_ata_iterate): Recheck devices.
15984 (grub_ata_open): Likewise.
15985 (grub_atapi_iterate): Likewise.
15986 (grub_atapi_open): Likewise.
15987 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
15988 (GRUB_ATA_CH1_PORT1): Likewise.
15989 (GRUB_ATA_CH0_PORT2): Likewise.
15990 (GRUB_ATA_CH1_PORT2): Likewise.
15991 * include/grub/mips/loongson.h: New file.
15992 * include/grub/mips/yeeloong/ec.h: Likewise.
15993 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
15994 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
15995 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
15996 * include/grub/misc.h (grub_halt): Declare as noreturn.
15997 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
15998 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
15999 (UART_ENABLE_FIFO_TRIGGER1): New definition.
16000 (UART_ENABLE_DTRRTS): Likewise.
16001 (UART_ENABLE_MODEM): Removed.
16002 (UART_ENABLE_OUT2): New const.
16003 * include/grub/term.h (grub_term_register_input_active): New function.
16004 (grub_term_register_output_active): Likewise.
16005 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
16006 argument.
16007 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
16008 (init_pci): New function.
16009 (grub_machine_init): Execute platform init when firmware. Init serial.
16010 (grub_halt): Implement.
16011 (grub_exit): Likewise.
16012 (grub_reboot): Likewise.
16013 * term/serial.c (serial_hw_init): Update macros.
16014 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
16015 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
16016 (image_targets): New target mipsel-yeeloong-flash.
16017 (generate_image): Support IMAGE_YEELOONG_FLASH.
16018 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
16019 (grub_video_sm712_setup): Init card.
16020 (grub_video_sm712_set_palette): Removed.
16021 * video/sm712_init.c: New file.
16022
ff4a70d2
CW
160232010-06-30 Colin Watson <cjwatson@ubuntu.com>
16024
16025 * Makefile.in (install-local): Temporarily prepend $(builddir) to
16026 PATH when running help2man and then run it on the unadorned
16027 executable names, rather than passing $(builddir)/* paths to
16028 help2man. This avoids the build directory ending up in generated
16029 manual pages.
16030
1246efeb
CW
160312010-06-29 Colin Watson <cjwatson@ubuntu.com>
16032
16033 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
16034 to avoid accidents when debugging with 'sh -x'.
16035 * util/grub-mkrescue.in: Likewise.
16036 * util/grub.d/00_header.in: Likewise.
16037 * util/grub.d/10_hurd.in: Likewise.
16038 * util/grub.d/10_kfreebsd.in: Likewise.
16039 * util/grub.d/10_linux.in: Likewise.
16040 * util/grub.d/10_netbsd.in: Likewise.
16041 * util/grub.d/10_windows.in: Likewise.
16042 * util/grub.d/20_linux_xen.in: Likewise.
16043 * util/grub.d/30_os-prober.in: Likewise.
16044 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16045
1ba9b889
CW
160462010-06-29 Colin Watson <cjwatson@ubuntu.com>
16047
16048 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
16049 last character in the buffer.
16050 Reported by: Vladimir Serbinenko.
16051
dccaf99d
RM
160522010-06-29 Robert Millan <rmh@gnu.org>
16053
16054 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
16055 (Command-line and menu entry commands): Document `badram' command.
16056
d500ed12
RM
160572010-06-28 Robert Millan <rmh@gnu.org>
16058
16059 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
16060 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
16061 command using ${GRUB_BADRAM} as parameter.
16062
20bc84a6
CW
160632010-06-28 Colin Watson <cjwatson@ubuntu.com>
16064
16065 * docs/grub.texi (Device map): New section.
16066 (Themes): New section (stub).
16067 * Makefile.in (docs/grub.info): The info documentation now builds
16068 without errors. Make sure it stays that way.
16069
4045dee1
VS
160702010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16071
16072 Use normal parser for menu entries.
16073 Reported by: Thomas Frauendorfer
16074
16075 * include/grub/parser.h (grub_parser_execute): Don't export.
16076 * normal/menu.c (grub_menu_execute_entry_real): New function.
16077 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
16078
bca58c7b
CW
160792010-06-28 Colin Watson <cjwatson@ubuntu.com>
16080
16081 * docs/grub.texi (Embedded configuration): New section (replacing
16082 old "Preset Menu" stub).
16083 (Images): New section.
16084 (configfile): Note that any menu entries defined in `file' are shown
16085 immediately.
16086
dec53e63
JT
160872010-06-28 Josh Triplett <josh@joshtriplett.org>
16088
16089 * mmap/i386/pc/mmap_helper.S: Set CF on return.
16090
c06e40f7
CW
160912010-06-28 Colin Watson <cjwatson@ubuntu.com>
16092
16093 * util/grub-install.in: Add --debug-image= option.
16094
cb88052b
CW
160952010-06-28 Colin Watson <cjwatson@ubuntu.com>
16096
16097 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
16098 possible on Linux.
16099
16100 * util/deviceiter.c (check_device): Rename to ...
16101 (check_device_readable_unique): ... this. Update all callers.
16102 Maintain and check a list of which devices (by canonicalized name)
16103 have already been seen.
16104 (clear_seen_devices): New function.
16105 (compare_file_names) [__linux__]: New function.
16106 (grub_util_iterate_devices): Clear the list of seen devices on exit
16107 and (just in case) on entry.
16108 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
16109 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
16110 seen-devices list, superseded by general code in check_device.
16111
bbe34652
CW
161122010-06-28 Colin Watson <cjwatson@ubuntu.com>
16113
16114 * commands/cat.c (options): New variable.
16115 (grub_cmd_cat): Parse options. If the --dos option is given, print
16116 DOS-style "\r\n" line endings as simple newlines (Debian bug
16117 #586358).
16118 (GRUB_MOD_INIT): Use extcmd.
16119 (GRUB_MOD_FINI): Likewise.
16120 * docs/grub.texi (cat): Document --dos.
16121
412e09f3
VS
161222010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
16123
16124 XEN with Linux grub-mkconfig support.
16125
16126 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
16127 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
16128 GRUB_CMDLINE_XEN_DEFAULT.
16129 * util/grub.d/20_linux_xen.in: New file.
16130
53f3ef38 161312010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
16132
16133 Initialise VGA video on qemu ourselves.
16134
16135 * boot/i386/qemu/boot.S: Don't call 0xc000.
16136 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
16137 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
16138 (kernel_img_HEADERS): Add pci.h.
16139 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
16140 * configure.ac: Force unifont on qemu and yeeloong.
16141 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
16142 (grub_vga_palette_write): Use correct register.
16143 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
16144 Call grub_qemu_init_cirrus.
16145 * kern/i386/qemu/init.c: New file.
16146 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
16147
16148 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
16149
c75be4fb
PR
161502010-06-26 Pavel Roskin <proski@gnu.org>
16151
16152 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
16153 13.
16154
d8034603
CW
161552010-06-26 Colin Watson <cjwatson@ubuntu.com>
16156
16157 * docs/grub.texi (Simple configuration): Explain that
16158 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
16159 set to `true' to disable their respective recovery entries, not
16160 merely set.
16161
3fa06487
CW
161622010-06-26 Colin Watson <cjwatson@ubuntu.com>
16163
16164 Make the `source' command slightly faster.
16165
16166 * normal/main.c (grub_normal_execute): Don't re-read list files when
16167 nested.
16168
e9b29642
CW
161692010-06-23 Colin Watson <cjwatson@ubuntu.com>
16170
16171 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
16172 field position and mask size to red fields from mode_info, not
16173 green.
16174 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
16175 Remove redundant tag->common.framebuffer_type assignment.
16176 Reported by: Seth Goldberg.
16177
e726542f
CW
161782010-06-23 Colin Watson <cjwatson@ubuntu.com>
16179
16180 Sync up other versions of the Linux loader with Robert Millan's
16181 change of 2010-01-09, "Make loader output a bit more user-friendly".
16182
16183 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
16184 grub_dprintf().
16185 (grub_cmd_linux): Likewise.
16186 (grub_cmd_initrd): Likewise.
16187 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
16188 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
16189
d6e98a17
CW
161902010-06-21 Colin Watson <cjwatson@ubuntu.com>
16191
16192 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
16193 larger than MEMORY_MAP_SIZE.
16194
14d3f08e
BC
161952010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
16196
16197 Fix parallel build.
16198
16199 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
16200 dependency.
16201 * script/parser.y: #include grub_script.tab.h header.
16202
4f9613a3
VS
162032010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16204
16205 Support >3GiB and <16MiB RAM in i386-qemu.
16206
16207 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
16208 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
16209 (grub_lower_mem): Removed.
16210 (grub_upper_mem): Likewise.
16211 (mem_size): Made static.
16212 (above_4g): New variable.
16213 (grub_machine_mmap_init): Detect small mem_size and above_4g.
16214 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
16215 support.
16216
05e51879
VS
162172010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16218
16219 Cirrus 5446 and Bochs video cards support.
16220
16221 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
16222 video_bochs.mod
16223 (video_cirrus_mod_SOURCES): New variable.
16224 (video_cirrus_mod_CFLAGS): Likewise.
16225 (video_cirrus_mod_LDFLAGS): Likewise.
16226 (video_bochs_mod_SOURCES): Likewise.
16227 (video_bochs_mod_CFLAGS): Likewise.
16228 (video_bochs_mod_LDFLAGS): Likewise.
16229 * include/grub/vga.h: New file.
16230 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
16231 (grub_video_fb_set_page_t): New type.
16232 (grub_video_fb_setup): New prototype.
16233 (grub_video_fb_swap_buffers): Likewise.
16234 (grub_video_fb_get_info_and_fini): Likewise.
16235 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
16236 (CRTC_DATA_PORT): Likewise.
16237 (CRTC_CURSOR): Likewise.
16238 (CRTC_CURSOR_ADDR_HIGH): Likewise.
16239 (CRTC_CURSOR_ADDR_LOW): Likewise.
16240 (CRTC_CURSOR_DISABLE): Likewise.
16241 (update_cursor): Use grub_vga_cr_write.
16242 (grub_vga_text_setcursor): Likewise.
16243 * video/bochs.c: New file.
16244 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
16245 (palette): Likewise.
16246 (palette_size): Likewise.
16247 (framebuffer): New variable.
16248 (grub_video_fb_init): Use 'framebuffer'.
16249 (grub_video_fb_fini): Likewise.
16250 (grub_video_fb_get_info): Likewise.
16251 (grub_video_fb_get_palette): Likewise.
16252 (grub_video_fb_set_palette): Likewise.
16253 (grub_video_fb_set_viewport): Likewise.
16254 (grub_video_fb_get_viewport): Likewise.
16255 (grub_video_fb_map_color): Likewise.
16256 (grub_video_fb_map_rgb): Likewise.
16257 (grub_video_fb_map_rgba): Likewise.
16258 (grub_video_fb_unmap_color): Likewise.
16259 (grub_video_fb_unmap_color_int): Likewise.
16260 (grub_video_fb_fill_rect): Likewise.
16261 (grub_video_fb_blit_bitmap): Likewise.
16262 (grub_video_fb_blit_render_target): Likewise.
16263 (grub_video_fb_scroll): Likewise.
16264 (grub_video_fb_create_render_target): Likewise.
16265 (grub_video_fb_doublebuf_blit_init): Likewise.
16266 (grub_video_fb_set_active_render_target): Handle doublebuffering.
16267 (doublebuf_pageflipping_update_screen): New function.
16268 (doublebuf_pageflipping_init): Likewise.
16269 (grub_video_fb_setup): Likewise.
16270 (grub_video_fb_swap_buffers): Likewise.
16271 (grub_video_fb_get_info_and_fini): Likewise.
16272 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
16273 All users updated.
16274 (doublebuf_pageflipping_commit): Restructured into ...
16275 (doublebuf_pageflipping_set_page): ... this.
16276 (doublebuf_pageflipping_update_screen): Removed.
16277 (doublebuf_pageflipping_init): Likewise.
16278 (double_buffering_init): Likewise.
16279 (grub_video_vbe_setup): Use grub_video_fb_setup.
16280 (grub_video_vbe_swap_buffers): Removed.
16281 (grub_video_vbe_set_active_render_target): Likewise.
16282 (grub_video_vbe_get_active_render_target): Likewise.
16283 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
16284 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
16285 grub_video_fb_set_active_render_target and
16286 grub_video_fb_get_active_render_target.
16287 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
16288 (SEQUENCER_DATA_PORT): Likewise.
16289 (MAP_MASK_REGISTER): Likewise.
16290 (CRTC_ADDR_PORT): Likewise.
16291 (CRTC_DATA_PORT): Likewise.
16292 (START_ADDR_HIGH_REGISTER): Likewise.
16293 (START_ADDR_LOW_REGISTER): Likewise.
16294 (GRAPHICS_ADDR_PORT): Likewise.
16295 (GRAPHICS_DATA_PORT): Likewise.
16296 (READ_MAP_REGISTER): Likewise.
16297 (INPUT_STATUS1_REGISTER): Likewise.
16298 (INPUT_STATUS1_VERTR_BIT): Likewise.
16299 (get_map_mask): Use grub_vga_sr_read.
16300 (set_map_mask): Use grub_vga_sr_write.
16301 (set_read_map): Use grub_vga_gr_write.
16302 (set_start_address): Use grub_vga_cr_write.
16303 * video/sm712.c (framebuffer): Remove leftover fields.
16304
4321c64a
CW
163052010-06-20 Colin Watson <cjwatson@ubuntu.com>
16306
16307 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
16308 setting GRUB_VIDEO_BACKEND. Make it available as a user override
16309 instead. Replace the gfxterm backend check with a check that
16310 ${GRUB_PREFIX}/video.lst is non-empty.
16311 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
16312 again.
16313 (load_video): New generated function. Call it before loading
16314 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
16315 * util/grub.d/10_linux.in (linux_entry): Call load_video.
16316 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
16317 * docs/grub.texi (Simple configuration): Document
16318 GRUB_VIDEO_BACKEND.
16319
163202010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
16321
16322 Use video functions in linux and xnu loaders.
16323
16324 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
16325 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
16326 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
16327 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
16328 loader/i386/pc/linux.c.
16329 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
16330 (find_line_len): Removed.
16331 (find_framebuf): Likewise.
16332 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
16333 * loader/i386/efi/xnu.c: Removed.
16334 * loader/i386/pc/xnu.c: Moved from here...
16335 * loader/i386/xnu.c: ...here.
16336
16337 Enable priorities in video drivers.
16338
16339 * include/grub/video.h (grub_video_adapter_prio_t): New type.
16340 (grub_video_adapter): New field prio.
16341 (grub_video_register): Respect prio when inserting.
16342 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
16343 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
16344 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
16345 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
16346 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
16347 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
16348 * video/sm712.c (grub_video_sm712_adapter): Likewise.
16349
16350 Fix SDL driver ID.
16351
16352 * include/grub/video.h (grub_video_driver_id_t): New value
16353 GRUB_VIDEO_DRIVER_SDL.
16354 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
16355
7d24e434
CW
163562010-06-17 Colin Watson <cjwatson@ubuntu.com>
16357
16358 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
16359 argument to printf.
16360 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16361
c88a83f6
CW
163622010-06-17 Colin Watson <cjwatson@ubuntu.com>
16363
16364 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
16365 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16366
094dfb69
CW
163672010-06-17 Colin Watson <cjwatson@ubuntu.com>
16368
16369 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
16370 directly, and recommend grub-install instead.
16371 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
16372
2164da6b
CW
163732010-06-17 Colin Watson <cjwatson@ubuntu.com>
16374
16375 Fix i386-pc prefix handling with nested partitions (Debian bug
16376 #585068). Note that the case where the core image is booted using
16377 multiboot and relocated from its original location still requires
16378 more work.
16379
16380 * kern/i386/pc/init.c (make_install_device): If the prefix starts
16381 with "(,", fill the boot drive in between those two characters, but
16382 expect that a full partition specification including partition map
16383 names will follow.
16384 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
16385 specified, write a prefix without the drive name but including a
16386 full partition specification.
16387
044e2e60
CW
163882010-06-16 Colin Watson <cjwatson@ubuntu.com>
16389
16390 * util/grub-mkconfig.in: Ignore non-option arguments, for
16391 compatibility with older versions (before 2010-06-12) which did the
16392 same. In particular, this makes it easier to ship an update-grub
16393 wrapper which is compatible with that used with GRUB Legacy (Debian
16394 bug #586056).
16395
5591324f
GS
163962010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16397
16398 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
16399 for manual page generation.
16400
662e24d5
GS
164012010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
16402
16403 * po/POTFILES: Remove leftover commands/handler.c.
16404
8d70754e
CW
164052010-06-14 Colin Watson <cjwatson@ubuntu.com>
16406
16407 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
16408 left this script non-functional.
16409
41160e2e
CW
164102010-06-14 Colin Watson <cjwatson@ubuntu.com>
16411
16412 * docs/man/grub-emu.h2m: New file.
16413
b5309cc1
CW
164142010-06-13 Colin Watson <cjwatson@ubuntu.com>
16415
16416 * docs/grub.texi (Commands): Document reduced command set in rescue
16417 mode.
16418 (cpuid): New section.
16419
fcb2d090
GS
164202010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
16421
16422 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
16423 new partition naming style.
16424 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
16425
96e5c556
BC
164262010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
16427
16428 Add "-o grub.iso" like cmdline options support.
16429
16430 * util/grub-install.in: Improve cmdline option parsing.
16431 * util/grub-mkconfig.in: Likewise.
16432 * util/grub-mkrescue.in: Likewise.
16433 * util/grub-reboot.in: Likewise.
16434 * util/grub-set-default.in: Likewise.
16435 * util/i386/efi/grub-install.in: Likewise.
16436 * util/ieee1275/grub-install.in: Likewise.
16437 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16438
c16be99b
CW
164392010-06-12 Colin Watson <cjwatson@ubuntu.com>
16440
16441 * .bzrignore: Ignore 41_custom.
16442
ce08a9fb
TS
164432010-06-12 Thomas Schmitt <scdbackup@gmx.net>
16444
16445 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
16446
7beac90c
CW
164472010-06-12 Colin Watson <cjwatson@ubuntu.com>
16448
16449 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
16450 prototype declarations.
16451
16452 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
16453 generating fs, partmap, and video lists.
16454 * include/grub/fs.h (grub_fs_register): Omit prototype if
16455 GRUB_LST_GENERATOR is defined.
16456 * include/grub/partition.h (grub_partition_map_register): Likewise.
16457 * include/grub/video.h (grub_video_register): Likewise.
16458
1c8f0f8d
JM
164592010-06-12 Javier Martín <lordhabbit@gmail.com>
16460
16461 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
16462
a6085973
TS
164632010-06-12 Thomas Schmitt <scdbackup@gmx.net>
16464
16465 * util/grub-mkrescue.in: Support --xorriso argument.
16466
25c56d29
VS
164672010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16468
16469 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
16470 Suggested by: Thomas Schmitt.
16471
e03e4b24
VS
164722010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16473
16474 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
16475 Suggested by: Thomas Schmitt.
16476
57711df6
VS
164772010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
16478
16479 custom.cfg support.
16480
16481 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
16482 * util/grub.d/41_custom.in: New file.
16483
ee62c427
CW
164842010-06-12 Colin Watson <cjwatson@ubuntu.com>
16485
16486 * util/grub-mkrescue.in (make_image): Remove sh module, which has
16487 been merged back into normal.
16488
283af07a
CW
164892010-06-11 Colin Watson <cjwatson@ubuntu.com>
16490
16491 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
16492 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
16493
56a0d956
CW
164942010-06-11 Colin Watson <cjwatson@ubuntu.com>
16495
16496 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
16497 when generating manual pages.
16498 * docs/man/grub-bin2h.h2m: New file.
16499 * docs/man/grub-editenv.h2m: New file.
16500 * docs/man/grub-fstest.h2m: New file.
16501 * docs/man/grub-install.h2m: New file.
16502 * docs/man/grub-macho2img.h2m: New file.
16503 * docs/man/grub-mkconfig.h2m: New file.
16504 * docs/man/grub-mkdevicemap.h2m: New file.
16505 * docs/man/grub-mkfont.h2m: New file.
16506 * docs/man/grub-mkimage.h2m: New file.
16507 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
16508 * docs/man/grub-mkrelpath.h2m: New file.
16509 * docs/man/grub-mkrescue.h2m: New file.
16510 * docs/man/grub-ofpathname.h2m: New file.
16511 * docs/man/grub-pe2elf.h2m: New file.
16512 * docs/man/grub-probe.h2m: New file.
16513 * docs/man/grub-reboot.h2m: New file.
16514 * docs/man/grub-script-check.h2m: New file.
16515 * docs/man/grub-set-default.h2m: New file.
16516 * docs/man/grub-setup.h2m: New file.
16517
3a37e322
VS
165182010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
16519
16520 Use FOR_* macros instead of *_iterate whenever possible.
16521
16522 * commands/handler.c: Removed.
16523 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
16524 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
16525 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16526 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
16527 (grub_probe_SOURCES): Remove kern/parser.c.
16528 (util/grub-script-check.c_DEPENDENCIES): Removed.
16529 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
16530 and grub_script_check_init.c.
16531 (grub_script_check_init.lst): Removed.
16532 (grub_script_check_init.h): Likewise.
16533 (grub_script_check_init.c): Likewise.
16534 (pkglib_MODULES): Remove handler.mod and sh.mod.
16535 (handler_mod_SOURCES): Removed.
16536 (handler_mod_CFLAGS): Likewise.
16537 (handler_mod_LDFLAGS): Likewise.
16538 (normal_mod_SOURCES): Remove normal/handler.c.
16539 Add script/main.c, script/script.c, script/execute.c,
16540 script/function.c, script/lexer.c, grub_script.tab.c
16541 and grub_script.yy.c.
16542 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16543 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16544 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
16545 (grub_setup_SOURCES): Remove kern/parser.c.
16546 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16547 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
16548 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
16549 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16550 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
16551 (grub_setup_SOURCES): Remove kern/parser.c.
16552 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
16553 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
16554 * include/grub/command.h (grub_command_iterate): Removed.
16555 (FOR_COMMANDS): New macro.
16556 * include/grub/dl.h (grub_dl): New member next.
16557 (grub_dl_iterate): Removed.
16558 (grub_dl_head): New variable declaration.
16559 (FOR_DL_MODULES): New macro.
16560 * include/grub/fs.h: Include list.h.
16561 (grub_fs): Make next first element.
16562 (grub_fs_list): New variable declaration.
16563 (grub_fs_register): Make inline.
16564 (grub_fs_unregister): Likewise.
16565 (grub_fs_iterate): Removed.
16566 (FOR_FILESYSTEMS): New macro.
16567 * include/grub/handler.h: Removed.
16568 * include/grub/list.h (grub_list_hook_t): Removed.
16569 (grub_list_test_t): Likewise.
16570 (grub_list_pop): Likewise.
16571 (grub_list_iterate): Likewise.
16572 (grub_list_insert): Likewise.
16573 (FOR_LIST_ELEMENTS): New macro.
16574 * include/grub/parser.h (grub_parser_class): Removed.
16575 (grub_parser_register): Likewise.
16576 (grub_parser_unregister): Likewise.
16577 (grub_parser_get_current): Likewise.
16578 (grub_parser_set_current): Likewise.
16579 (grub_register_rescue_parser): Likewise.
16580 (grub_rescue_parse_line): New function.
16581 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
16582 * include/grub/script_sh.h (grub_script_function_list): New variable
16583 declaration.
16584 (FOR_SCRIPT_FUNCTIONS): New macro.
16585 (grub_script_function_iterate): Removed.
16586 (grub_normal_parse_line): New prototype.
16587 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
16588 (FOR_DISABLED_TERM_INPUTS): Likewise.
16589 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
16590 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
16591 * include/grub/video.h (grub_video_adapter): Move 'next' to first
16592 element.
16593 (grub_video_register): Inline.
16594 (grub_video_unregister): Likewise.
16595 (grub_video_adapter_list): New variable declaration.
16596 (grub_video_iterate): Removed.
16597 (FOR_VIDEO_ADAPTERS): New macro.
16598 * kern/dl.c (grub_dl_list): Removed. All users updated.
16599 (grub_dl_iterate): Removed.
16600 * kern/fs.c (grub_fs_list): Make global.
16601 (grub_fs_register): Removed.
16602 (grub_fs_unregister): Likewise.
16603 (grub_fs_iterate): Likewise.
16604 * kern/handler.c: Removed.
16605 * kern/list.c (grub_list_pop): Removed.
16606 (grub_list_iterate): Likewise.
16607 (grub_list_insert): Likewise.
16608 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
16609 (grub_prio_list_insert): Don't use grub_list_insert.
16610 * kern/main.c (grub_register_rescue_parser): Don't call
16611 grub_register_rescue_parser.
16612 * kern/parser.c (grub_parser_class): Removed.
16613 (grub_parser_execute): Use grub_rescue_parse_line.
16614 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
16615 (grub_rescue_parser): Removed.
16616 (grub_register_rescue_parser): Likewise.
16617 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
16618 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
16619 (grub_auth_check_authentication): Likewise.
16620 * normal/completion.c (iterate_command): Removed.
16621 (grub_normal_do_completion): Use FOR_COMMANDS.
16622 * normal/handler.c: Removed.
16623 * normal/main.c (read_config_file): Remove parser changing.
16624 (grub_normal_execute): Don't call read_handler_list.
16625 (grub_normal_read_line_real): Statically allocate prompt.
16626 (grub_cmdline_run): Use grub_normal_parse_line.
16627 (GRUB_MOD_FINI): Don't call free_handler_list.
16628 * normal/menu_entry.c (run): Likewise.
16629 * script/function.c (grub_script_function_list): Make global.
16630 (grub_script_function_iterate): Removed.
16631 * script/main.c (grub_normal_parse_line): Make global.
16632 (grub_sh_parser): Removed.
16633 (GRUB_MOD_INIT): Likewise.
16634 (GRUB_MOD_FINI): Likewise.
16635 * tests/lib/functional_test.c (grub_functional_test): Use
16636 FOR_LIST_ELEMENTS.
16637 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
16638 (grub_test_run): Use FOR_LIST_ELEMENTS.
16639 * tests/lib/unit_test.c (main): Likewise.
16640 * util/deviceiter.c (grub_util_iterate_devices): Don't use
16641 grub_list_pop.
16642 * util/grub-fstest.c (grub_term_input_class): Removed.
16643 (grub_term_output_class): Likewise.
16644 * util/grub-probe.c: Likewise.
16645 * util/i386/pc/grub-setup.c: Likewise.
16646 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16647 * util/grub-script-check.c (main): Don't call grub_init_all and
16648 grub_fini_all.
16649 * video/video.c (grub_video_adapter_list): Make global.
16650 (grub_video_register): Removed.
16651 (grub_video_unregister): Likewise.
16652 (grub_video_iterate): Likewise.
16653
6289c3a7
VS
166542010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
16655
16656 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
16657 reported by Henrique Ferreiro.
16658
91460247
RM
166592010-06-09 Robert Millan <rmh@gnu.org>
16660
16661 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
16662 ones, when both are available.
16663
0ea7c4f9
GS
166642010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16665
16666 Make --version uniform and avoid hard-coded program name.
16667
16668 * util/grub-mkimage.c (main): Use `program_name' instead of
16669 hard-coded string.
16670 * util/i386/pc/grub-setup.c (main): Likewise.
16671 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
16672 * util/grub-install.in: Save the basename of $0 in $self, and use the
16673 latter in informational messages. Use the same format for --version
16674 as the binary programs.
16675 * util/grub-mkconfig.in: Likewise.
16676 * util/grub-mkrescue.in: Likewise.
16677 * util/grub-reboot.in: Likewise.
16678 * util/grub-set-default.in: Likewise.
16679 * util/i386/efi/grub-install.in: Likewise.
16680 * util/ieee1275/grub-install.in: Likewise.
16681 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
16682
e8a6f3b6
GS
166832010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16684
16685 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
16686 embedding area. Use <= instead of == when checking for non-emptiness.
16687
f4d095d7
GS
166882010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
16689
16690 * configure.ac: Add `.' to the directories searched for unifont.
16691
50e532ca
CW
166922010-06-08 Colin Watson <cjwatson@ubuntu.com>
16693
16694 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
16695 grub_script.yy.h.
16696
d39f3dec
CW
166972010-06-08 Colin Watson <cjwatson@ubuntu.com>
16698
16699 * docs/grub.texi (History): Expand to cover GRUB 2.
16700 (Serial terminal): Refer to `terminal_input' and `terminal_output'
16701 commands, not `terminal'.
16702 (serial): Likewise.
16703 (terminal_input): New section.
16704 (terminal_output): New section.
16705 (uppermem): New section (stub).
16706 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
16707
6ef0ddb4
CW
167082010-06-08 Colin Watson <cjwatson@ubuntu.com>
16709
16710 * docs/grub.texi (Security): Menu entries are unrestricted by
16711 default, not restricted to superusers as I had previously thought.
16712 Reword to account for this.
16713
e0f4c438
CW
167142010-06-07 Colin Watson <cjwatson@ubuntu.com>
16715
16716 * kern/emu/misc.c (device_mapper_null_log): New function.
16717 (grub_device_mapper_supported): New function.
16718 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
16719 prototype.
16720 * kern/emu/hostdisk.c (find_partition_start): Check whether
16721 device-mapper is supported before trying to use it.
16722 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
16723
da908200
CW
167242010-06-07 Colin Watson <cjwatson@ubuntu.com>
16725
16726 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
16727 (File name syntax): Likewise.
16728 (help): --all is no longer supported in GRUB 2. Be more precise
16729 about pattern matching.
16730
fb55c3ac
CW
167312010-06-07 Colin Watson <cjwatson@ubuntu.com>
16732
16733 * normal/completion.c (grub_normal_do_completion): When completing
16734 arguments to "set" and the current word contains an equals sign,
16735 skip to after the equals sign before starting completion.
16736
258c2573
CW
167372010-06-07 Colin Watson <cjwatson@ubuntu.com>
16738
16739 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
16740
ee75515e
CW
167412010-06-07 Colin Watson <cjwatson@ubuntu.com>
16742
16743 * docs/grub.texi (Network): New section.
16744 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
16745 `(nd)' as in GRUB Legacy.
16746 (pxe_unload): New section.
16747
a6a700aa
CW
167482010-06-07 Colin Watson <cjwatson@ubuntu.com>
16749
16750 * docs/grub.texi (Troubleshooting): `echo' is not usually available
16751 in the rescue shell, so recommend using `set' instead. Thanks,
16752 Jordan Uggla.
16753
4003dd38
CW
167542010-06-07 Colin Watson <cjwatson@ubuntu.com>
16755
16756 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
16757 (password): New section.
16758 (password_pbkdf2): New section.
16759 (search): New section.
16760 (Security): New section.
16761 (Troubleshooting): New section, currently very incomplete.
16762 (Invoking grub-mkpasswd-pbkdf2): New section.
16763 (Internals): New section, currently very incomplete.
16764
e1cbcc40
CW
167652010-06-07 Colin Watson <cjwatson@ubuntu.com>
16766
16767 * util/grub.d/00_header.in: Add some more quoting (of
16768 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
16769 work again.
16770 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
16771
db8fa1ad
CW
167722010-06-07 Colin Watson <cjwatson@ubuntu.com>
16773
16774 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
16775 to `count', fixing variable shadowing that broke the -c option.
16776
167772010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
16778
16779 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
16780 in case they contain spaces.
16781
f28a9212
CW
167822010-06-04 Colin Watson <cjwatson@ubuntu.com>
16783
16784 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
16785 "part_" to partmap module names, in line with grub-install.
16786 Reported by: Jindřich Makovička (Debian bug #584426).
16787
9cdfe32f
CW
167882010-06-04 Colin Watson <cjwatson@ubuntu.com>
16789
16790 * util/grub-mkimage.c: Make target-related error messages slightly
16791 more helpful; -O talks about "format". Explicitly point to the use
16792 of -O if no target is specified.
16793 Reported by: Didier Raboud (Debian bug #584415).
16794
795b593a
CW
167952010-06-03 Colin Watson <cjwatson@ubuntu.com>
16796
16797 * INSTALL: Document several build requirements for optional features
16798 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
16799
9d9b5833
GS
168002010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
16801
16802 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
16803 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
16804 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
16805
0819fec8
CW
168062010-06-02 Colin Watson <cjwatson@ubuntu.com>
16807
16808 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
16809 Thanks to Jordan Uggla for spotting this.
16810
49396b4f
VS
168112010-06-02 Aleš Nesrsta <starous@volny.cz>
16812
16813 Finally make USB usable.
16814
16815 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
16816 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
16817 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
16818 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
16819 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
16820 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
16821 (GRUB_OHCI_FSMPS): Likewise.
16822 (GRUB_OHCI_PERIODIC_START): Likewise.
16823 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
16824 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
16825 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
16826 (GRUB_OHCI_SET_PORT_RESET): Likewise.
16827 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
16828 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
16829 (grub_ohci_transaction): Likewise.
16830 (grub_ohci_transfer): Improve condition detection algorithms.
16831 Handle toggle property. Program the transactions correctly.
16832 Improve error handling. Various important fixups.
16833 (grub_ohci_portstatus): Put register writes in right order.
16834 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
16835 (grub_uhci_transfer): Don't show "failed" message on success.
16836 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
16837 array.
16838 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
16839 determine its size.
16840 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
16841 before initialization is completed. Use IN direction for empty
16842 transfers. Use last_trans and compute toggle.
16843 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
16844 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
16845 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
16846 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
16847 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
16848 (grub_usb_device): Increase toggle to 256.
16849 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
16850 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
16851 GRUB_USBMS_SUBCLASS_SFF8070.
16852 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
16853 (grub_scsi_inquiry): New member page and alloc_length.
16854 (grub_scsi_request_sense): New structure.
16855 (grub_scsi_request_sense_data): Likewise.
16856 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
16857 control.
16858 * disk/scsi.c (grub_scsi_request_sense): New function.
16859 (grub_scsi_test_unit_ready): Likewise.
16860 (grub_scsi_inquiry): Fill new fields.
16861 (grub_scsi_read_capacity): Likewise.
16862 (grub_scsi_read10): Add request sense at the end.
16863 (grub_scsi_read12): Likewise.
16864 (grub_scsi_write10): Likewise.
16865 (grub_scsi_write12): Likewise.
16866 (grub_scsi_open): Add Test Unit Ready.
16867 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
16868 Support additional subclasses. Con't clear halt yet. Activate the
16869 proper config. Calculate LUNs correctly.
16870 (grub_usbms_transfer): Various important fixups.
16871
168722010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
16873
16874 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
16875 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
16876 (grub_ohci_fini_hw): New function.
16877 (grub_ohci_restore_hw): Likewise.
16878 (GRUB_MOD_INIT(ohci)): Register preboot hook.
16879 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
16880 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
16881
168822010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
16883
16884 Dedicated DMA allocations.
16885
16886 * bus/pci.c (grub_memalign_dma32): New function
16887 (grub_dma_free): Likewise.
16888 (grub_dma_get_virt): Likewise.
16889 (grub_dma_get_phys): Likewise.
16890 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
16891 (grub_ohci_pci_iter): Use dma32_alloc.
16892 (grub_ohci_transfer): Likewise.
16893 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
16894 (grub_usb_bulk_readwrite): Likewise.
16895 * include/grub/pci.h: Add declarations.
16896
168972010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
16898
16899 CS5536 support.
16900
16901 * bus/cs5536.c: New file.
16902 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
16903 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
16904 (cs5536_mod_SOURCES): New variable.
16905 (cs5536_mod_CFLAGS): Likewise.
16906 (cs5536_mod_LDFLAGS): Likewise.
16907 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
16908 machine/pci.h.
16909 (kernel_img_SOURCES): Add bus/cs5536.c.
16910 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
16911 usb_keyboard.mod.
16912 (usb_mod_SOURCES): New variable.
16913 (usb_mod_CFLAGS): New variable.
16914 (usb_mod_LDFLAGS): New variable.
16915 (usbtest_mod_SOURCES): New variable.
16916 (usbtest_mod_CFLAGS): New variable.
16917 (usbtest_mod_LDFLAGS): New variable.
16918 (ohci_mod_SOURCES): New variable.
16919 (ohci_mod_CFLAGS): New variable.
16920 (ohci_mod_LDFLAGS): New variable.
16921 (usbms_mod_SOURCES): New variable.
16922 (usbms_mod_CFLAGS): New variable.
16923 (usbms_mod_LDFLAGS): New variable.
16924 (usb_keyboard_mod_SOURCES): New variable.
16925 (usb_keyboard_mod_CFLAGS): New variable.
16926 (usb_keyboard_mod_LDFLAGS): New variable.
16927 * include/grub/smbus.h: New file.
16928 * include/grub/cs5536.h: New file.
16929
0b35b2a9
CW
169302010-06-02 Colin Watson <cjwatson@ubuntu.com>
16931
16932 * util/grub.d/00_header.in: Add safety check to make sure that
16933 ${locale_dir} exists before trying to probe it.
16934
ca0afd5b
CW
169352010-06-02 Colin Watson <cjwatson@ubuntu.com>
16936
16937 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
16938 per the GNU Coding Standards; this is now too obscure to be worth
16939 documenting.
16940 (QNX): Likewise.
16941 (chainloader): Remove cross-reference to `SCO UnixWare'.
16942
1c41aa78
CW
169432010-06-02 Colin Watson <cjwatson@ubuntu.com>
16944
16945 * docs/grub.texi (Chain-loading): New section.
16946 (DOS/Windows): New section, borrowed from GRUB Legacy with details
16947 adjusted for GRUB 2.
16948 (SCO UnixWare): Likewise.
16949 (QNX): Likewise.
16950 (chainloader): Add reference to `Block list syntax'.
16951 (drivemap): New section.
16952 (parttool): New section.
16953
bb8ea0f5
CW
169542010-06-02 Colin Watson <cjwatson@ubuntu.com>
16955
16956 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
16957 the grub shell'.
16958 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
16959 (Installing GRUB using grub-install): Remove reference to the grub
16960 shell; mention `grub-mkimage' and `grub-setup' instead.
16961 (Invoking grub-install): Likewise.
16962 (Interface): Add reference to `Menu entry editor'.
16963 (serial): Remove `--device' option.
16964
288dd6ed
CW
169652010-06-02 Colin Watson <cjwatson@ubuntu.com>
16966
16967 * docs/grub.texi (Configuration): New section, documenting
16968 configuration file generation using grub-mkconfig. I've left a slot
16969 for documenting the full shell scripting format but have not yet
16970 started on writing that up.
16971 (Invoking grub-mkconfig): New section.
16972
34c9f0e9
CW
169732010-06-02 Colin Watson <cjwatson@ubuntu.com>
16974
16975 * docs/grub.texi (direntry): Remove grub-terminfo reference.
16976 (GNU GRUB manual): Likewise.
16977 (General commands): Update description of `terminfo' for GRUB 2.
16978
9121567e
CW
169792010-06-02 Colin Watson <cjwatson@ubuntu.com>
16980
16981 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
16982 (GRUB_MOD_INIT): Fix capitalisation.
16983 * docs/grub.texi (Command-line and menu entry commands): Document
16984 gettext and gptsync commands.
16985
ab631611
CW
169862010-06-02 Colin Watson <cjwatson@ubuntu.com>
16987
16988 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
16989 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
16990
bde4a9ac
CW
169912010-06-01 Colin Watson <cjwatson@ubuntu.com>
16992
16993 Add btrfs probing support, currently only in the single-device case.
16994
16995 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
16996 function.
16997 (grub_guess_root_device): Call find_root_device_from_mountinfo
16998 before looking in /dev.
16999
b1d17e10
VS
170002010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17001
17002 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
17003 GRUB_DISK_SIZE_UNKNOWN.
17004 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
17005
dfbfe004
JS
170062010-05-31 Jiro SEKIBA <jir@unicus.jp>
17007
17008 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
17009 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
17010 corrupted or not synced properly.
17011
c2ffc8e9
VS
170122010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17013
17014 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
17015 Reported by: Seth Goldberg.
17016
56293166
VS
170172010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17018
17019 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
17020 addition of dest.
17021 Reported by: Seth Goldberg.
17022
7620e7de
VS
170232010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17024
17025 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
17026 Reported by: Seth Goldberg.
17027
c837af3f
VS
170282010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
17029
17030 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
17031 64-bit address as signed on MIPS.
17032
c7c75cf4
CW
170332010-05-28 Colin Watson <cjwatson@ubuntu.com>
17034
17035 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
17036 to the empty string.
17037
fa4b8490
BC
170382010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
17039
17040 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
17041
17042 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
17043 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
17044 * kern/misc.c (__enable_execute_stack): Disable on
17045 GRUB_MACHINE_EMU.
17046
a33075b9
CW
170472010-05-28 Colin Watson <cjwatson@ubuntu.com>
17048
17049 Make grub-probe work with symbolic links under /dev/mapper as well
17050 as with real block devices. The Linux world seems to be (at best)
17051 in transition here, and GRUB shouldn't get caught in the middle.
17052
17053 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
17054 /dev/mapper.
17055
d8708134
CW
170562010-05-27 Colin Watson <cjwatson@ubuntu.com>
17057
17058 * util/grub-script-check.c (main): Ensure defined behaviour on empty
17059 input files (in which case exit zero).
17060
db2102a0
CW
170612010-05-27 Colin Watson <cjwatson@ubuntu.com>
17062
17063 * kern/emu/misc.c (canonicalize_file_name): realpath can still
17064 return NULL for various reasons even if it has a maximum-length
17065 buffer: for example, there might be a symlink loop, or the path
17066 might exceed PATH_MAX. If this happens, return NULL.
17067
5fdba519
RM
170682010-05-27 Robert Millan <rmh@gnu.org>
17069
17070 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
17071 partmap module to handle cross-partmap setups.
17072 Reported by Orestes Mas. Gràcies!
17073
d1d368e4
CW
170742010-05-27 Colin Watson <cjwatson@ubuntu.com>
17075
17076 * util/grub-mkrescue.in: Initialise override_dir rather than
17077 assuming that it's unset or empty in the environment.
17078
95ac3c73
GS
170792010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
17080
17081 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
17082 variable index into p_index to suppress a warning with -Wshadow.
17083
7d8c0213
BC
170842010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
17085
17086 * INSTALL: Added flex >= 2.5.35 requirement.
17087
db4d5813
VS
170882010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17089
17090 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
17091
f24f4300
VS
170922010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17093
17094 cmostest support.
17095
17096 * commands/i386/cmostest.c: New file.
17097 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
17098 (cmostest_mod_SOURCES): New variable.
17099 (cmostest_mod_CFLAGS): Likewise.
17100 (cmostest_mod_LDFLAGS): Likewise.
17101 * conf/i386-pc.rmk: Likewise.
17102 * docs/grub.texi (Vendor power-on keys): New section.
17103 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
17104 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
17105 and GRUB_BUTTON_CMOS_ADDRESS.
17106 * util/grub.d/00_header.in: Handle powering-on by separate button.
17107
ad603f61
VS
171082010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17109
17110 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
17111 Removed drawing_scrollbar argument. All users updated
17112 Fixes #29792.
17113 Reported by Jo Shields
17114
3ecb080a
VS
171152010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17116
17117 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
17118 buffer since gfxterm handles double repaint.
17119
5f2316c1
VS
171202010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
17121
17122 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
17123 * term/gfxterm.c (real_scroll): Likewise.
17124
9a25f885
VS
171252010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17126
17127 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
17128 before calling BIOS.
17129
39fbb79a
VS
171302010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17131
17132 * include/grub/i18n.h: Always enable grub_gettext.
17133
228cfa97
VS
171342010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17135
17136 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
17137 partition naming style.
17138
21717c8f
CW
171392010-05-21 Colin Watson <cjwatson@ubuntu.com>
17140
17141 * util/grub-mkconfig.in: Fix handling of -o so that it works when
17142 not the first option.
17143
c0f48e65
CW
171442010-05-20 Colin Watson <cjwatson@ubuntu.com>
17145
17146 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
17147
96779aec
CW
171482010-05-20 Colin Watson <cjwatson@ubuntu.com>
17149
17150 * util/misc.c: Move inclusion of <limits.h> to ...
17151 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
17152
fa9d256e
GS
171532010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
17154
17155 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
17156 Fix merge error in NetBSD code.
17157 (find_partition_start) [__NetBSD__]: Likewise.
17158
123b7a85
BC
171592010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
17160
17161 Fix grub-mkrescue usage unit testing.
17162
17163 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
17164
74276c0d
CF
171652010-05-18 Christian Franke <franke@computer.org>
17166
17167 * util/grub.d/10_windows.in: Use path names instead of
17168 drive letters to prevent warning from Cygwin 1.7.
17169 Add drivemap command to menuentry if needed.
17170
c4f7b523
ST
171712010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
17172
17173 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
17174 gnumach and gnumach.gz.
17175
95b97950
VS
171762010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17177
17178 * include/grub/i18n.h (gettext): Inline instead of using #define.
17179 (grub_gettext): Likewise.
17180 (_): Likewise.
17181
01b8d2d7
VS
171822010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17183
17184 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
17185 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
17186 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
17187 (main): Add a slash after pkglibdirroot.
17188
654e1d1e
VS
171892010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17190
17191 * util/grub-install.in: Add missing "in" keyword.
17192
26966aeb
VS
171932010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17194
17195 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
17196 Reported by: Seth Goldberg.
17197
75006747
VS
171982010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17199
17200 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
17201
74cbf5bd
CW
172022010-05-18 Colin Watson <cjwatson@ubuntu.com>
17203
17204 * configure.ac: Check for Linux device-mapper support.
17205
17206 * util/hostdisk.c (device_is_mapped): New function.
17207 (find_partition_start): New function, partly broken out from
17208 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
17209 device-mapper support added.
17210 (linux_find_partition): Use find_partition_start.
17211 (convert_system_partition_to_system_disk): Add `st' argument.
17212 Support Linux /dev/mapper/* devices if device-mapper support is
17213 available; only DM-RAID devices are understood at present.
17214 (find_system_device): Add `st' argument. Pass it to
17215 convert_system_partition_to_system_disk.
17216 (grub_util_biosdisk_get_grub_dev): Pass stat result to
17217 find_system_device and convert_system_partition_to_system_disk. Use
17218 find_partition_start.
17219
17220 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
17221 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
17222 * util/deviceiter.c [__linux__]: Define MINOR.
17223 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
17224 * util/mkdevicemap.c (grub_putchar): New function.
17225 (grub_getkey): New function.
17226 (grub_refresh): New function.
17227 (main): Set debug=all if -v -v is used.
17228
355b51e9
CW
172292010-05-18 Colin Watson <cjwatson@ubuntu.com>
17230
17231 Fix build with non-GNU libcs.
17232
17233 * util/misc.c (canonicalize_file_name): Move to ...
17234 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
17235 grub_make_system_path_relative_to_its_root.
17236
7fb5c25f
CW
172372010-05-18 Colin Watson <cjwatson@ubuntu.com>
17238
17239 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
17240 we handle finding grub-mkimage. Default to finding grub-mkimage in
17241 ${bindir} with program_transform_name applied, and provide a
17242 --grub-mkimage option to override this.
17243
1d3293d6
VS
172442010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17245
17246 Remove grub-mkisofs.
17247
17248 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
17249 (grub_mkisofs_SOURCES): Removed.
17250 (grub_mkisofs_CFLAGS): Removed.
17251 * util/mkisofs/defaults.h: Removed.
17252 * util/mkisofs/eltorito.c: Likewise.
17253 * util/mkisofs/exclude.h: Likewise.
17254 * util/mkisofs/hash.c: Likewise.
17255 * util/mkisofs/include/: Likewise.
17256 * util/mkisofs/include/fctldefs.h: Likewise.
17257 * util/mkisofs/include/mconfig.h: Likewise.
17258 * util/mkisofs/include/prototyp.h: Likewise.
17259 * util/mkisofs/include/statdefs.h: Likewise.
17260 * util/mkisofs/iso9660.h: Likewise.
17261 * util/mkisofs/joliet.c: Likewise.
17262 * util/mkisofs/match.c: Likewise.
17263 * util/mkisofs/match.h: Likewise.
17264 * util/mkisofs/mkisofs.c: Likewise.
17265 * util/mkisofs/mkisofs.h: Likewise.
17266 * util/mkisofs/msdos_partition.h: Likewise.
17267 * util/mkisofs/multi.c: Likewise.
17268 * util/mkisofs/name.c: Likewise.
17269 * util/mkisofs/rock.c: Likewise.
17270 * util/mkisofs/tree.c: Likewise.
17271 * util/mkisofs/write.c: Likewise.
17272
5dde9afe
VS
172732010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17274
17275 Unify grub-mkimage accross platforms.
17276
17277 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
17278 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
17279 (grub_mkelfimage_SOURCES): Removed.
17280 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
17281 (util/grub-mkimage.c_DEPENDENCIES): .. this.
17282 (bin_UTILITIES): Add grub-mkimage.
17283 (grub_mkimage_SOURCES): New variable.
17284 (kernel_img_HEADERS): Remove machine/kernel.h.
17285 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
17286 (pkglib_PROGRAMS): Add kernel.img.
17287 (kernel_img_HEADERS): Add machine/kernel.h.
17288 (kernel_img_FORMAT): Removed.
17289 (bin_UTILITIES): Remove grub-mkimage.
17290 (grub_mkimage_SOURCES): Removed.
17291 (grub_mkimage_CFLAGS): Likewise.
17292 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17293 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
17294 (pkglib_PROGRAMS): Add kernel.img.
17295 (bin_UTILITIES): Remove grub-mkimage.
17296 (grub_mkimage_SOURCES): Removed.
17297 (grub_mkimage_CFLAGS): Likewise.
17298 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17299 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
17300 (pkglib_PROGRAMS): Add kernel.img.
17301 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
17302 (pkglib_PROGRAMS): Add kernel.img.
17303 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
17304 (grub_mkimage_SOURCES): Removed.
17305 (grub_mkimage_CFLAGS): Likewise.
17306 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17307 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
17308 (pkglib_PROGRAMS): Add kernel.img.
17309 (bin_UTILITIES): Remove grub-mkimage.
17310 (grub_mkimage_SOURCES): Removed.
17311 (grub_mkimage_CFLAGS): Likewise.
17312 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17313 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
17314 (grub_mkimage_SOURCES): Removed.
17315 (grub_mkimage_CFLAGS): Likewise.
17316 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
17317 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
17318 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
17319 (grub_pe32_optional_header): ... this.
17320 (grub_pe64_optional_header): ... and this. All users updated.
17321 (GRUB_PE32_PE32_MAGIC): Split into ..
17322 (GRUB_PE32_PE32_MAGIC): .. this.
17323 (GRUB_PE32_PE64_MAGIC): .. and this.
17324 (GRUB_PE32_SIGNATURE_SIZE): New definition.
17325 * include/grub/elf.h (PT_GNU_STACK): New definition.
17326 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
17327 * include/grub/i386/efi/kernel.h: Likewise.
17328 * include/grub/i386/kernel.h: Likewise.
17329 * include/grub/i386/pc/kernel.h: Likewise.
17330 * include/grub/i386/qemu/boot.h: Likewise.
17331 * include/grub/mips/kernel.h: Likewise.
17332 * include/grub/mips/qemu-mips/kernel.h: Likewise.
17333 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17334 * include/grub/powerpc/kernel.h: Likewise.
17335 * include/grub/sparc64/ieee1275/boot.h: Likewise.
17336 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17337 * include/grub/sparc64/kernel.h: Likewise.
17338 * include/grub/x86_64/efi/kernel.h: Likewise.
17339 * include/grub/x86_64/kernel.h: Likewise.
17340 * include/grub/offsets.h: New file.
17341 * include/grub/kernel.h (grub_module_info): Split into ...
17342 (grub_module_info32): ... this.
17343 (grub_module_info64): ... and this.
17344 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
17345 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
17346 (grub_boot_blocklist): Moved from here ...
17347 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
17348 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
17349 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
17350 * include/grub/types.h (grub_target_to_host16): Removed.
17351 (grub_target_to_host32): Likewise.
17352 (grub_target_to_host64): Likewise.
17353 (grub_host_to_target16): Likewise.
17354 (grub_host_to_target32): Likewise.
17355 (grub_host_to_target64): Likewise.
17356 (grub_host_to_target_addr): Likewise.
17357
17358 Support grub-mkrescue for efi, coreboot and qemu.
17359
17360 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
17361 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
17362 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
17363 * util/grub-mkrawimage.c: Moved from here ...
17364 * util/grub-mkimage.c: ... here. All users updated.
17365 (ALIGN_ADDR): Use image_target.
17366 (TARGET_NO_FIELD): New const.
17367 (image_target_desc): New type.
17368 (image_targets): New array.
17369 (grub_target_to_host64): Use image_target.
17370 (grub_target_to_host32): Likewise.
17371 (grub_target_to_host16): Likewise.
17372 (grub_host_to_target64): Likewise.
17373 (grub_host_to_target32): Likewise.
17374 (grub_host_to_target16): Likewise.
17375 (grub_host_to_target_addr): Likewise.
17376 (generate_image): Handle multiimage.
17377 (main): Require -O parameter. All users updated.
17378 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
17379 util/efi/grub-mkimage.c
17380 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
17381 New option --rom-directory.
17382 Use xorriso.
17383 * util/i386/efi/grub-mkimage.c: Removed.
17384 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
17385 (grub_target_to_host32): Likewise.
17386 (grub_target_to_host64): Likewise.
17387 (grub_host_to_target16): Likewise.
17388 (grub_host_to_target32): Likewise.
17389 (grub_host_to_target64): Likewise.
17390 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
17391 (grub_target_to_host32): Likewise.
17392 (grub_target_to_host64): Likewise.
17393 (grub_host_to_target16): Likewise.
17394 (grub_host_to_target32): Likewise.
17395 (grub_host_to_target64): Likewise.
17396
f4fc97d0
BC
173972010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
17398
17399 Source tree is reorganized for emu build.
17400
17401 * include/grub/util/console.h: Move from here...
17402 * include/grub/emu/console.h: ...to here.
17403 * include/grub/util/getroot.h: Move from here...
17404 * include/grub/emu/getroot.h: ...to here.
17405 * include/grub/util/hostdisk.h: Move from here...
17406 * include/grub/emu/hostdisk.h: ...to here.
17407 * util/console.c: Move from here...
17408 * kern/emu/console.c: ...to here.
17409 * util/getroot.c: Move from here...
17410 * kern/emu/getroot.c: ...to here.
17411 * util/grub-emu.c: Move from here...
17412 * kern/emu/main.c: ...to here.
17413 * util/hostdisk.c: Move from here...
17414 * kern/emu/hostdisk.c: ...to here.
17415 * util/hostfs.c: Move from here...
17416 * kern/emu/hostfs.c: ...to here.
17417 * util/mm.c: Move from here...
17418 * kern/emu/mm.c: ...to here.
17419 * util/pci.c: Move from here...
17420 * bus/emu/pci.c: ...to here.
17421 * util/sdl.c: Move from here...
17422 * video/emu/sdl.c: ...to here.
17423 * util/time.c: Move from here...
17424 * kern/emu/time.c: ...to here.
17425 * util/usb.c: Move from here...
17426 * bus/usb/emu/usb.c: ...to here.
17427
17428 * include/grub/emu/misc.h: New header for grub-emu functions.
17429 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
17430
17431 * conf/any-emu.rmk: Rule updates for above renames.
17432 * conf/common.rmk: Likewise.
17433 * conf/i386-pc.rmk: Likewise.
17434 * conf/i386-qemu.rmk: Likewise.
17435 * conf/mips.rmk: Likewise.
17436 * conf/sparc64-ieee1275.rmk: Likewise.
17437 * conf/x86-efi.rmk: Likewise.
17438
17439 * disk/lvm.h: #include updates for above renames.
17440 * util/grub-mkrelpath.c: Likewise.
17441 * util/grub-probe.c: Likewise.
17442 * util/i386/pc/grub-setup.c: Likewise.
17443 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17444 * kern/emu/console.c: Likewise.
17445 * kern/emu/getroot.c: Likewise.
17446 * kern/emu/hostdisk.c: Likewise.
17447 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
17448
17449 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
17450 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
17451 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
17452 * util/misc.c: Remove grub-emu functions.
17453
cced9145
VS
174542010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
17455
17456 Fix gfxmenu crash.
17457 Reported by: Thorsten Grützmacher.
17458
17459 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
17460 timeout hook.
17461 (circprog_set_property): Register and unregister timeout hook.
17462 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
17463 (label_destroy): Free template. and unregister hook.
17464 (label_set_state): New function.
17465 (label_set_property): Handle templates and hooks.
17466 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
17467 timeout hook.
17468 (progress_bar_set_property): Register and unregister timeout hook.
17469 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
17470 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
17471 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
17472 (update_timeout_visit): Removed.
17473 (update_timeouts): New function.
17474 (redraw_timeouts): Likewise.
17475 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
17476 (grub_gfxmenu_clear_timeout): Likewise.
17477 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
17478 (grub_gfxmenu_timeout_notify): Likewise.
17479 (grub_gfxmenu_timeout_notifications): New external variable.
17480 (grub_gfxmenu_timeout_register): New function.
17481 (grub_gfxmenu_timeout_unregister): Likewise.
17482
c6e5caab
VS
174832010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
17484
17485 Transform (broken) vga terminal into (working) vga video driver.
17486
17487 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
17488 video/i386/pc/vga.c.
17489 * include/grub/video.h (grub_video_driver_id):
17490 Add GRUB_VIDEO_DRIVER_VGA.
17491 * term/i386/pc/vga.c: Renamed to ...
17492 * video/i386/pc/vga.c: ...this
17493 (DEBUG_VGA): Removed.
17494 (CHAR_WIDTH): Likewise.
17495 (CHAR_HEIGHT): Likewise.
17496 (TEXT_WIDTH): Likewise.
17497 (TEXT_HEIGHT): Likewise.
17498 (DEFAULT_FG_COLOR): Likewise.
17499 (DEFAULT_BG_COLOR): Likewise.
17500 (colored_char): Likewise.
17501 (xpos): Likewise.
17502 (ypos): Likewise.
17503 (cursor_state): Likewise.
17504 (fg_color): Likewise.
17505 (bg_color): Likewise.
17506 (text_buf): Likewise.
17507 (page): Likewise.
17508 (font): Likewise.
17509 (framebuffer): New variable.
17510 (set_read_map): Disabled.
17511 (setup): New variable.
17512 (is_target): Likewise.
17513 (grub_vga_mod_init): Likewise.
17514 (grub_vga_mod_fini): Likewise.
17515 (check_vga_mem): Likewise.
17516 (write_char): Likewise.
17517 (write_cursor): Likewise.
17518 (scroll_up): Likewise.
17519 (grub_vga_putchar): Likewise.
17520 (grub_vga_getcharwidth): Likewise.
17521 (grub_vga_getwh): Likewise.
17522 (grub_vga_getxy): Likewise.
17523 (grub_vga_gotoxy): Likewise.
17524 (grub_vga_cls): Likewise.
17525 (grub_vga_setcolorstate): Likewise.
17526 (grub_vga_setcursor): Likewise.
17527 (grub_video_vga_init): New function.
17528 (grub_video_vga_setup): Likewise.
17529 (grub_video_vga_fini): Likewise.
17530 (update_target): Likewise.
17531 (grub_video_vga_blit_bitmap): Likewise.
17532 (grub_video_vga_blit_render_target): Likewise.
17533 (grub_video_vga_set_active_render_target): Likewise.
17534 (grub_video_vga_get_active_render_target): Likewise.
17535 (grub_video_vga_swap_buffers): Likewise.
17536 (grub_video_vga_set_palette): Likewise.
17537 (grub_video_vga_get_info_and_fini): Likewise.
17538 (grub_vga_term): Removed.
17539 (grub_video_vga_adapter): New variable.
17540 (GRUB_MOD_INIT): Register a video driver instead of terminal.
17541 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
17542
2bf61a98
VS
175432010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17544
17545 * video/readers/jpeg.c: Indented.
17546
09ddcd11
VS
175472010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17548
17549 Various jpeg cleanups.
17550
17551 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
17552 (grub_jpeg_decode_quan_table): Use sizeof.
17553 (grub_jpeg_decode_du): Use ARRAY_SIZE.
17554
e5507505
PH
175552010-05-05 Peter Hurley <No e-mail available> (tiny change)
17556
17557 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
17558 tables. Ignore non-last ac bit.
17559 (grub_jpeg_decode_quan_table): Likewise.
17560
7e720a9b
VS
175612010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17562
17563 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
17564 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
17565 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
17566 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
17567 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
17568 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
17569
a7fc080b
VS
175702010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17571
17572 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
17573 error.
17574
2bf6012d
VS
175752010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
17576
17577 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
17578
265d68cd
VS
175792010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
17580
17581 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
17582 condition.
17583
175842010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
17585
17586 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
17587 part.
17588
265d68cd 175892010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
17590
17591 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
17592 pointers.
17593
265d68cd 175942010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
17595
17596 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
17597
d1b61374
CF
175982010-05-01 Christian Franke <franke@computer.org>
17599
17600 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
17601 Remove broken Cygwin path conversion.
17602 * util/misc.c: [__CYGWIN__] Add include and define.
17603 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
17604 for Cygwin 1.7.
17605 (make_system_path_relative_to_its_root): Simplify loop, replace early
17606 return by break.
17607 [__CYGWIN__] Add conversion to win32 path.
17608 Include "/" case in trailing slash removal.
17609
3558c6e9
VS
176102010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17611
17612 * kern/main.c (grub_load_config): Fix copy-pasted comment.
17613 Reported by: Seth Goldberg
17614
f5f3ff93
VS
176152010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17616
17617 * commands/help.c (grub_cmd_help): Fix a typo.
17618 Reported by: Seth Goldberg
17619
d8b5cd40
VS
176202010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17621
17622 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
17623 name and add N_.
17624 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
17625 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
17626 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
17627 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
17628 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
17629 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
17630 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
17631 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
17632 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
17633 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17634 * normal/context.c (GRUB_MOD_INIT): Likewise.
17635 * normal/main.c (GRUB_MOD_INIT): Likewise.
17636 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
17637 * term/serial.c (GRUB_MOD_INIT): Likewise.
17638 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
17639
88c14915
VS
176402010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17641
17642 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
17643 extra == 0.
17644
165134bc
VS
176452010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17646
17647 * commands/iorw.c: New file.
17648 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
17649 (iorw_mod_SOURCES): New variable.
17650 (iorw_mod_CFLAGS): Likewise.
17651 (iorw_mod_LDFLAGS): Likewise.
17652
c5ac9b32
VS
176532010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17654
17655 Hotkey support
17656
17657 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
17658 * normal/main.c (hotkey_aliases): New variable.
17659 (grub_normal_add_menu_entry): Parse "--hotkey".
17660 * normal/menu_text.c (run_menu): Handle hotkeys.
17661
ce60689c
VS
176622010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17663
17664 * kern/i386/coreboot/init.c (grub_machine_init): Call
17665 grub_machine_mmap_init on qemu.
17666
0359d006
VS
176672010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17668
17669 * boot/i386/qemu/boot.S: Add a missing .code16.
17670
7819a456
VS
176712010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17672
17673 Use LBIO on coreboot.
17674
17675 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
17676 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
17677 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
17678 New declaration.
17679 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
17680 grub_machine_mmap_init on coreboot.
17681 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
17682 GRUB_LINUXBIOS_MEMBER_LINK.
17683 (grub_machine_mmap_iterate): Fix declaration.
17684 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
17685
7210dca9
VS
176862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17687
17688 Split coreboot and multiboot ports.
17689
17690 * conf/i386-multiboot.rmk: New file.
17691 * configure.ac: Add multiboot port.
17692 * include/grub/i386/multiboot/boot.h: New file.
17693 * include/grub/i386/multiboot/console.h: Likewise.
17694 * include/grub/i386/multiboot/init.h: Likewise.
17695 * include/grub/i386/multiboot/kernel.h: Likewise.
17696 * include/grub/i386/multiboot/loader.h: Likewise.
17697 * include/grub/i386/multiboot/memory.h: Likewise.
17698 * include/grub/i386/multiboot/serial.h: Likewise.
17699 * include/grub/i386/multiboot/time.h: Likewise.
17700 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
17701 * loader/multiboot.c: Likewise.
17702 * loader/multiboot_mbi2.c: Likewise.
17703 * util/grub-mkrescue.in: Generate multiboot rescue.
17704
6f8aaf68
VS
177052010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17706
3080f7a7
VS
17707 * kern/parser.c (grub_parser_execute): Cope with read-only config.
17708
177092010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
17710
17711 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
17712
17713 * commands/terminal.c (abstract_terminal): New struct.
17714 (handle_command): New function. Based on grub_cmd_terminal_input.
17715 (grub_cmd_terminal_input): Use handle_command.
17716 (grub_cmd_terminal_output): Use handle_command.
17717
a8ebb841
BC
177182010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
17719
17720 Fix comment handling.
17721
17722 * tests/grub_script_comments.in: New testcase.
17723 * conf/tests.rmk: Rules for new testcase.
17724 * script/yylex.l: Updated flex rules.
17725
bb06ba08
ST
177262010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
17727
17728 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
17729 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
17730 if argc is 1.
bb06ba08 17731
cc9d2425
VS
177322010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
17733
17734 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
17735 autogen issues.
17736
460d8402
CF
177372010-04-26 Christian Franke <franke@computer.org>
17738
17739 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
17740 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
17741 (grub_get_prefix): Remove function.
17742 * util/grub-emu.c (main): Replace grub_get_prefix () call by
17743 make_system_path_relative_to_its_root ().
17744 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
17745
553c01f9
CF
177462010-04-24 Christian Franke <franke@computer.org>
17747
17748 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
17749 (kernel_img_LDFLAGS): Remove -static-libgcc.
17750
2aec1692
CF
177512010-04-24 Christian Franke <franke@computer.org>
17752
17753 * configure.ac: Do not CHECK_BSS_START_SYMBOL
17754 and CHECK_END_SYMBOL if grub-emu is built.
17755 Unset TARGET_OBJ2ELF if grub-emu is built
17756 without module support.
17757
f67dc308
JS
177582010-04-24 Jiro SEKIBA <jir@unicus.jp>
17759
17760 Nilfs2 support.
17761
17762 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
17763 (grub_fstest_SOURCES): Likewise.
17764 (pkglib_MODULES): Add nilfs2.mod.
17765 (nilfs2_mod_SOURCES): New variable.
17766 (nilfs2_mod_CFLAGS): Likewise.
17767 (nilfs2_mod_LDFLAGS): Likewise.
17768 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
17769 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
17770 * fs/nilfs2.c: New file.
17771
4ba8d354
VS
177722010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
17773
17774 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
17775 is not supported.
17776
0d2c20c6
GS
177772010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
17778
17779 Add grub-mkconfig support for NetBSD.
17780
17781 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
17782 * util/grub-mkconfig.in: export new NetBSD specific variables.
17783 * po/POTFILES-shell: added 10_netbsd.in.
17784 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
17785
bc4a2d83
BC
177862010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
17787
17788 Fix emu build with grub-emu-pci and grub-emu-modules.
17789
17790 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
17791 functions.
17792 * include/grub/libpciaccess.h: New file.
17793 * conf/any-emu.rmk: Update kernel headers for emu build.
17794
f48c87aa
VS
177952010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17796
17797 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
17798
18959385
VS
177992010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
17800
17801 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
17802
0037de3f
VS
178032010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17804
17805 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
17806 Retrieve chosen/bootpath if bootpath isn't hardcoded.
17807 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
17808 util/ieee1275/ofpath.c.
17809 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
17810 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
17811 * include/grub/sparc64/ieee1275/boot.h
17812 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
17813 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
17814 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
17815 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
17816 const char *.
17817 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
17818 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
17819 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
17820 install.
17821
38e55e90
GS
178222010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
17823
17824 * util/grub-mkconfig.in: Corrected two == equality tests.
17825 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
17826 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
17827 expect a number appended to it.
17828 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
17829 expects a number appended to it.
17830
a9e6ff28
VS
178312010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17832
17833 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
17834
0b830b8f
VS
178352010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
17836
17837 * util/hostdisk.c (make_device_name): Change to new partition naming.
17838
0973daeb
VS
178392010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
17840
17841 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
17842
460d8402 178432010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
17844
17845 * Makefile.in: Add missing localedir setting.
17846
0b456309
CW
178472010-04-14 Colin Watson <cjwatson@ubuntu.com>
17848
17849 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
17850 mistake in r2156. Noticed by Anthony Fok.
17851
17852 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
17853 @localedir@.
17854 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
17855
08f46d62
BC
178562010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
17857
17858 Fix a spurious, uninitialized variable warning.
17859
17860 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
17861 Initialize variable, shdr.
17862 (grub_freebsd_load_elfmodule): Likewise.
17863 (grub_freebsd_load_elf_meta): Likewise.
17864
8c4a72d4
BC
178652010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
17866
17867 Fix for escaped dollar in double quoted strings.
17868
17869 * script/yylex.l: Updated flex rules.
17870 * conf/tests.rmk: Rule for new testcase.
17871 * tests/grub_script_dollar.in: New testcase.
17872
ce44826e
CPE
178732010-04-13 Carles Pina i Estany <carles@pina.cat>
178742010-04-13 Colin Watson <cjwatson@ubuntu.com>
17875
17876 Enclose all translated strings in grub.cfg in single quotes, and
17877 escape them appropriately (Ubuntu bug #552921).
17878
17879 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
17880 * util/grub.d/10_hurd.in: Use it.
17881 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
17882 * util/grub.d/10_linux.in (linux_entry): Likewise.
17883
4b0cd8f8
VS
178842010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17885
17886 Fix cygwin compilation.
17887
17888 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
17889 * include/grub/misc.h (__register_frame_info)
17890 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
17891 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
17892 * kern/misc.c (__register_frame_info)
17893 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
17894 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
17895
01fcf061
VS
178962010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17897
17898 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
17899
5d04b11e
VS
179002010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
17901
17902 Unify libgcc processing.
17903
17904 * Makefile.in (kernel_img_LDFLAGS): New variable.
17905 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
17906 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
17907 overwriting.
17908 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
17909 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
17910 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
17911 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
17912 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
17913 overwriting. Remove -lgcc and -static-libgcc
17914 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
17915 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
17916 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
17917 (kernel_img_LDFLAGS): Append instead of overwriting.
17918 Remove -lgcc and -static-libgcc
17919 * conf/sparc64-ieee1275.rmk: Likewise.
17920 * include/grub/powerpc/libgcc.h: Move to ...
17921 * include/grub/libgcc.h: .. this.
17922 * include/grub/libgcc.h: Don't export most of the function on x86.
17923 (__bswapsi2): New export.
17924 (__bswapdi2): Likewise.
17925 * include/grub/mips/libgcc.h: Removed.
17926 * include/grub/sparc64/libgcc.h: Likewise.
17927
b7f3ac29
VS
179282010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17929
17930 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
17931 disk_info_msg (conflicts with gettexting into languages with cases).
17932
2c7031b1
GS
179332010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
17934
17935 Add grub-probe support for NetBSD.
17936
17937 * util/getroot.c (find_root_device): Convert block device to
17938 character device on NetBSD.
17939 * util/probe.c (probe): Require character device on NetBSD.
17940 * util/hostdisk.c: NetBSD specific headers.
17941 (configure_device_driver): new function to tune device driver
17942 parameters (currently only for NetBSD floppy driver).
17943 (grub_util_biosdisk_open): NetBSD specific code (get disk size
17944 via disklabel ioctl).
17945 (open_device): call configure_device_driver on NetBSD.
17946 (convert_system_partition_to_system_disk): NetBSD specific code.
17947 (device_is_wholedisk): Likewise.
17948 (grub_util_biosdisk_get_grub_dev): Likewise.
17949 (make_device_name): Fixed a typo in bsd_part_str.
17950 * configure.ac: check for opendisk() and getrawpartition() on
17951 NetBSD and set LIBUTIL.
17952 * Makefile.in: add LIBUTIL to LIBS.
17953
f516290c
BC
179542010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
17955
17956 Documentation fix.
17957
17958 * util/grub-script-check.c: Better help message.
17959
d8dcc0df
BC
179602010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
17961
17962 Fix FreeBSD build.
17963
17964 * configure.ac: Flex version check.
17965 * conf/common.rmk: Add -Wno-error to sh.mod.
17966 * script/yylex.l: Remove all #pragma.
17967
6734334a
VS
179682010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17969
17970 * include/grub/util/misc.h (canonicalise_file_name): Add missing
17971 prototype.
17972 Reported by: Seth Goldberg.
17973
daea6abd
VS
179742010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17975
17976 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
17977 Rename "module" to "module2".
17978 Reported by: Seth Goldberg.
17979
f2fd9d2b
VS
179802010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17981
17982 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
17983 EXPORT_FUNC.
17984 Reported by: Seth Goldberg.
17985
be124579
VS
179862010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17987
17988 * lib/posix_wrap/locale.h: Add missing file.
17989 Reported by: Seth Goldberg.
17990
ef5da797
VS
179912010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
17992
17993 grub-emu module load support.
17994
17995 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
17996 NO_DYNAMIC_MODULES switched to this.
17997 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
17998 (CFLAGS): Likewise.
17999 * conf/any-emu.rmk: Generate symlist.
18000 (kernel_img_HEADERS): Add util/datetime.h.
18001 (kernel_img_HEADERS) [sdl]: Add sdl.h.
18002 (kernel_img_HEADERS) [libusb]: Add libusb.h.
18003 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
18004 kern/$(target_cpu)/cache.S.
18005 * configure.ac (grub-emu-modules): New option.
18006 * genmk.rb: Handle multiple source lists.
18007 * include/grub/sdl.h: New file.
18008 * include/grub/libusb.h: Likewise.
18009 * util/grub-emu.c (main): Hanle (host) root.
18010 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
18011 GRUB_ERR_UNKNOWN_DEVICE.
18012 * util/misc.c: Move mm functions to ...
18013 * util/mm.c: ... here. All users updated.
18014
47822096
VS
180152010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18016
18017 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
18018 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
18019 missing files.
18020 (maintainer-clean): Remove libgcrypt-grub.
18021
5d7e7445
VS
180222010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18023
18024 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
18025
25f4e252
EC
180262010-04-09 EFI Coder <eficoder@hotmail.com>
18027
18028 * normal/menu_text.c (print_message): Clean up the message and show
18029 the Fn information when on EFI
18030 * term/efi/console.c (grub_console_checkkey): Add F4 support.
18031
027de555
VS
180322010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18033
18034 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
18035 All users updated.
18036 * normal/crypto.c (read_crypto_list): Likewise.
18037 * normal/dyncmd.c (read_command_list): Likewise.
18038 * normal/term.c (read_terminal_list): Likewise.
18039 * normal/main.c (read_lists): Use explicit prefix.
18040 (read_lists_hook): Use read_lists.
18041 (grub_normal_execute): Likewise.
18042
47779711
VS
180432010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18044
18045 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
18046 Reported by: Thomas Schmitt.
18047 Add -no-emul-boot to grub-mkisofs parameters.
18048
1118c32e
VS
180492010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18050
18051 * font/font.c: Indented.
18052
7d652447
BC
180532010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18054
18055 Elif support to GRUB script (by Deepak Vankadaru).
18056
18057 * tests/grub_script_if.in: New testcase.
18058 * conf/tests.rmk: Rule for new testcase.
18059 * script/parser.y: Grammar rules for elif.
18060
34bb22df
BC
180612010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
18062
18063 While and until loops support to GRUB script.
18064
18065 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
18066 (grub_script_create_cmdwhile): New function prototype.
18067 (grub_script_execute_cmdwhile): New function prototype.
18068 * script/execute.c (grub_script_execute_cmdwhile): New function.
18069 * script/parser.y (command): New commands.
18070 (whilecmd): New grammar rule.
18071 (untilcmd): New grammar rule.
18072 * script/script.c (grub_script_create_cmdwhile): New function.
18073 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
18074 function.
18075
18076 * tests/grub_script_while1.in: New testcase.
18077 * conf/tests.rmk: Rule for new testcase.
18078
e215d8e0
VS
180792010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18080
18081 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
18082 as *.jpg.
18083
d7c43ba1
MV
180842010-04-09 Mario Vazquez <mariovazq@gmail.com>
18085
18086 GRUB_BACKGROUND support.
18087
18088 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
18089 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
18090
d64795c0
VS
180912010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18092
18093 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 18094 Idea by: Mario Vazquez
d64795c0
VS
18095
18096 * util/grub.d/00_header.in: Load pf2 and image modules.
18097
f267f83a
VS
180982010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18099
18100 grub-mkconfig multiple terminal support.
18101
18102 * util/grub-mkconfig.in: Handle multiple terminals correctly.
18103 * util/grub.d/00_header.in: Likewise.
18104
b7841ceb
VS
181052010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
18106
18107 * Makefile.in: Specify files explicitly instead of using $< and $@ since
18108 we use cd $(srcdir).
18109
df60998c
CW
181102010-04-08 Colin Watson <cjwatson@ubuntu.com>
18111
18112 * util/grub.d/10_linux.in: Only use the first word of
18113 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
18114 spaces in GRUB_DISTRIBUTOR.
18115 * util/grub.d/10_kfreebsd.in: Likewise.
18116 * util/grub.d/10_hurd.in: Likewise.
18117
fa09c82e
BC
181182010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
18119
14e18ae3 18120 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
18121
18122 * tests/util/grub-shell.in: Remove -serial stdio option.
18123
daf892b3
BC
181242010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18125
18126 POSIX header file wrappers.
18127
18128 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
18129 equivalents.
18130 * lib/posix_wrap/ctype.h: Likewise.
18131 * lib/posix_wrap/errno.h: Likewise.
18132 * lib/posix_wrap/langinfo.h: Likewise.
18133 * lib/posix_wrap/limits.h: Likewise.
18134 * lib/posix_wrap/localcharset.h: Likewise.
18135 * lib/posix_wrap/stdint.h: Likewise.
18136 * lib/posix_wrap/stdio.h: Likewise.
18137 * lib/posix_wrap/stdlib.h: Likewise.
18138 * lib/posix_wrap/string.h: Likewise.
18139 * lib/posix_wrap/sys/types.h: Likewise.
18140 * lib/posix_wrap/unistd.h: Likewise.
18141 * lib/posix_wrap/wchar.h: Likewise.
18142 * lib/posix_wrap/wctype.h: Likewise.
18143 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
18144 (grub_script.yy.h): Likewise.
18145 * script/yylex.l: Remove POSIX emulation #defines.
18146 * Makefile.in (POSIX_CFLAGS): New variable.
18147 (GNULIB_UTIL_CFLAGS): Likewise.
18148
18149 Regexp support.
18150
18151 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
18152 (regexp_mod_SOURCES): New variable.
18153 (regexp_mod_CFLAGS): Likewise.
18154 (regexp_mod_LDFLAGS): Likewise.
18155 * commands/regexp.c: New file.
18156 * gnulib/regcomp.c: New file. Imported from gnulib.
18157 * gnulib/regex.c: Likewise.
18158 * gnulib/regex_internal.c: Likewise.
18159 * gnulib/regex_internal.h: Likewise.
18160 * gnulib/regexec.c: Likewise.
18161 * gnulib/regex.h: Likewise.
18162
974ac4f7
VS
181632010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18164
18165 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
18166 unsupported video mode types.
18167
2622c3ff
VS
181682010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18169
18170 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
18171
064cb524
VS
181722010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
18173
18174 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
18175 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
18176
a8c3b552
VS
181772010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
18178
18179 Remove unused grub_vga_get_font.
18180
18181 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
18182 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
18183
187bbe3d
GS
181842010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18185
18186 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
18187 * include/grub/misc.h: Likewise.
18188
b9396631
GS
181892010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18190
18191 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
18192 for which failure is fatal.
18193
50479feb
GS
181942010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18195
18196 * util/grub-install.in: Use mkdir -p to create grub directory.
18197 * util/i386/efi/grub-install.in: Likewise.
18198 * util/ieee1275/grub-install.in: Likewise.
18199
b1654fdf
GS
182002010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18201
18202 * Makefile.in (LEX): new variable.
18203
bd5a6415
GS
182042010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
18205
18206 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
18207 `=' and added double quotes on operands of this equality test.
18208
3db3a82b
VS
182092010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18210
18211 * Makefile.in (uninstall): Remove a leftover debug echo.
18212 Reported by: Grégoire Sutre
18213
38023412
VS
182142010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
18215
18216 MIPS multiboot2 support.
18217
18218 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
18219 (multiboot2_mod_SOURCES): New variable.
18220 (multiboot2_mod_CFLAGS): Likewise.
18221 (multiboot2_mod_LDFLAGS): Likewise.
18222 (multiboot2_mod_ASFLAGS): Likewise.
18223 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
18224 definition.
18225 (MULTIBOOT_ENTRY_REGISTER): Likewise.
18226 (MULTIBOOT_MBI_REGISTER): Likewise.
18227 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
18228 (MULTIBOOT_ELF32_MACHINE): Likewise.
18229 (MULTIBOOT_ELF64_MACHINE): Likewise.
18230 * include/grub/mips/multiboot.h: New file.
18231 * include/grub/video.h (grub_video_driver_id): New type
18232 GRUB_VIDEO_DRIVER_SM712.
18233 (grub_video_get_info_and_fini): Export.
18234 (grub_video_get_palette): Likewise.
18235 (grub_video_get_driver_id): Likewise.
18236 * include/multiboot2.h: Resynced with spec.
18237 * loader/i386/multiboot.c: Moved from here ...
18238 * loader/multiboot.c: ... here. All users updated.
18239 (grub_multiboot_boot): Use platform-specific macros.
18240 * loader/i386/multiboot_elfxx.c: Moved from here ...
18241 * loader/multiboot_elfxx.c: ... here. All users updated.
18242 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
18243 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
18244 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
18245
47674667
VS
182462010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18247
18248 Import gnulib argp module.
18249
18250 * gnulib/argp-ba.c: New file.
18251 * gnulib/argp-eexst.c: Likewise.
18252 * gnulib/argp-fmtstream.c: Likewise.
18253 * gnulib/argp-fmtstream.h: Likewise.
18254 * gnulib/argp-fs-xinl.c: Likewise.
18255 * gnulib/argp-help.c: Likewise.
18256 * gnulib/argp-namefrob.h: Likewise.
18257 * gnulib/argp-parse.c: Likewise.
18258 * gnulib/argp-pin.c: Likewise.
18259 * gnulib/argp-pv.c: Likewise.
18260 * gnulib/argp-pvh.c: Likewise.
18261 * gnulib/argp-version-etc.c: Likewise.
18262 * gnulib/argp-version-etc.h: Likewise.
18263 * gnulib/argp-xinl.c: Likewise.
18264 * gnulib/argp.h: Likewise.
18265
495442ed
VS
182662010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18267
18268 * kern/device.c (grub_device_iterate): Clear errors after failed
18269 opening device.
18270
f9fd65df
VS
182712010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18272
18273 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
18274 returned by firmware.
18275
af09641e
VS
182762010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18277
18278 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
18279 compilation on coreboot and qemu
18280
016883a5
VS
182812010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
18282
18283 * include/multiboot2.h: Resync with spec.
18284
f97e1f7d
VS
182852010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
18286
18287 Multiboot2 tag support
18288
18289 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
18290 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
18291 Remove loader/multiboot_loader.c.
18292 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
18293 (grub_multiboot2_real_boot): Likewise.
18294 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
18295 (grub_get_multiboot_mmap_count): New proto.
18296 (grub_fill_multiboot_mmap): Likewise.
18297 (grub_multiboot_set_video_mode): Likewise.
18298 (grub_multiboot_set_console): Likewise.
18299 (grub_multiboot_load): Likewise.
18300 (grub_multiboot_load_elf): Likewise.
18301 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
18302 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
18303 * include/multiboot.h: Resynced with specification.
18304 * include/multiboot2.h: Resynced with specification.
18305 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
18306 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
18307 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
18308 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
18309 users updated.
18310 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
18311 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
18312 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
18313 Removed.
18314 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
18315 Moved from here...
18316 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
18317 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
18318 Moved from here...
18319 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
18320 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
18321 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
18322 All users updated.
18323 * loader/i386/multiboot_mbi2.c: New file.
18324
3506b90b
VS
183252010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18326
18327 Resync with gnulib.
18328
18329 * Makefile.in (GNULIB_CFLAGS): New variable.
18330 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
18331 (grub_script_check_CFLAGS): New variable.
18332 * gnulib/alloca.h: Resync with gnulib.
18333 * gnulib/error.c: Likewise.
18334 * gnulib/error.h: Likewise.
18335 * gnulib/fnmatch.c: Likewise.
18336 * gnulib/fnmatch_loop.c: Likewise.
18337 * gnulib/getdelim.c: Likewise.
18338 * gnulib/getline.c: Likewise.
18339 * gnulib/getopt.c: Likewise.
18340 * gnulib/getopt1.c: Likewise.
18341 * gnulib/getopt_int.h: Likewise.
18342 * gnulib/gettext.h: Likewise.
18343 * gnulib/progname.c: Likewise.
18344 * gnulib/progname.h: Likewise.
18345
394a3120
GS
183462010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
18347
18348 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
18349 which is the case with --disabled-nls.
18350
18351 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
18352 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
18353 * util/misc.c: Likewise.
18354 * util/mkisofs/mkisofs.c: Likewise.
18355 * util/mkisofs/mkisofs.h: Likewise.
18356
969d1c78
VS
183572010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
18358
18359 Simplify Apple CC support.
18360
18361 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
18362 Add 0 byte at the end not to have a symbol with empty target.
18363 * mmap/i386/pc/mmap_helper.S: Likewise.
18364 * genmk.rb: Ignore errors 2030 and 2050.
18365 * kern/i386/pc/startup.S: Use LOCAL when possible.
18366
8d2977bb
BC
183672010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
18368
18369 Testcase and the fix for final semicolon on cmdline.
18370
18371 * tests/grub_script_final_semicolon.in: New testcase.
18372 * conf/tests.rmk: Rules for the new testcase.
18373 * script/parser.y: Grammar fix.
18374
a7bd6915
BC
183752010-03-26 BVK Chaitanya <bvk@localhost>
18376
18377 Blank lines testcase for GRUB script.
18378
18379 * tests/grub_script_blanklines.in: New testcase.
18380 * conf/tests.rmk: Rules for the new testcase.
18381
e4ff6628
VS
183822010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18383
18384 Don't use __FILE__.
18385
18386 * genmk.rb: Add -DGRUB_FILE to all C targets.
18387 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
18388 * include/grub/list.h: Likewise.
18389 * include/grub/misc.h: Likewise.
18390 * include/grub/mm.h: Likewise.
18391 * include/grub/test.h: Likewise.
18392 * kern/mm.c: Likewise.
18393 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
18394
6a5cf6b6
VS
183952010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18396
18397 Sunpc partitions support.
18398
18399 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
18400 (grub_fstest_SOURCES): Likewise.
18401 (pkglib_MODULES): Add part_sunpc.mod.
18402 (part_sunpc_mod_SOURCES): New variable.
18403 (part_sunpc_mod_CFLAGS): Likewise.
18404 (part_sunpc_mod_LDFLAGS): Likewise.
18405 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
18406 * partmap/sunpc.c: New file.
18407
746d9045
BC
184082010-03-26 BVK Chaitanya <bvk@localhost>
18409
18410 For loop support to GRUB script.
18411
18412 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
18413 (grub_script_create_cmdfor): New function prototype.
18414 (grub_script_execute_cmdfor): New function prototype.
18415 * script/execute.c (grub_script_execute_cmdfor): New function.
18416 * script/parser.y (command): New for command.
18417 (forcmd): New grammar rule.
18418 * script/script.c (grub_script_create_cmdfor): New function.
18419 * util/grub-script-check.c (grub_script_execute_cmdfor): New
18420 function.
18421 * tests/grub_script_for1.in: New testcase.
18422 * conf/tests.rmk: Rules for new testcase.
18423
18486b18
VS
184242010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18425
18426 Nested partitions
18427
18428 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
18429 'partition' is NULL, grub_partition_get_start already does that.
18430 * commands/loadenv.c (check_blocklists): Likewise.
18431 (write_blocklists): Likewise.
18432 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
18433 (grub_fstest_SOURCES): Likewise.
18434 (pkglib_MODULES): Add part_bsd.mod.
18435 (part_bsd_mod_SOURCES): New variable.
18436 (part_bsd_mod_CFLAGS): Likewise.
18437 (part_bsd_mod_LDFLAGS): Likewise.
18438 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
18439 (grub_emu_SOURCES): Likewise.
18440 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18441 * include/grub/bsdlabel.h: New file.
18442 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
18443 'get_name'.
18444 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
18445 (grub_partition_map_list): New variable.
18446 (grub_partition_map_register): Inline.
18447 (grub_partition_map_unregister): Likewise.
18448 (FOR_PARTITION_MAPS): New macro.
18449 (grub_partition_map_iterate): Removed.
18450 (grub_partition_get_start): Handle nested partitions.
18451 * include/grub/msdos_partition.h: Remove bsd-related entries.
18452 (grub_pc_partition): Remove.
18453 * kern/disk.c (grub_disk_close): Free partition data.
18454 (grub_disk_adjust_range): Handle nested partitions.
18455 * kern/partition.c (grub_partition_map_probe): New function.
18456 (grub_partition_probe): Parse name to number, handle subpartitions.
18457 (get_partmap): New function.
18458 (grub_partition_iterate): Handle subpartitions.
18459 (grub_partition_get_name): Likewise.
18460 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
18461 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
18462 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
18463 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
18464 Set 'number'.
18465 (acorn_partition_map_probe): Remove.
18466 (acorn_partition_map_get_name): Likewise.
18467 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
18468 Set 'number'.
18469 Set 'index' to 0 since there can be only one partition entry per sector.
18470 (amiga_partition_map_probe): Remove.
18471 (amiga_partition_map_get_name): Likewise.
18472 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
18473 Set 'number'.
18474 Set 'offset' and 'index' to real positions of partitions.
18475 (apple_partition_map_probe): Remove.
18476 (apple_partition_map_get_name): Likewise.
18477 * partmap/bsdlabel.c: New file.
18478 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
18479 Set 'number'.
18480 Allocate 'data' so it can be correctly freed.
18481 Set 'index' to offset inside sector.
18482 (gpt_partition_map_probe): Remove.
18483 (gpt_partition_map_get_name): Likewise.
18484 * partmap/msdos.c (grub_partition_parse): Remove.
18485 (pc_partition_map_iterate): Don't force raw access.
18486 Set 'number'.
18487 Make 'ext_offset' a local variable.
18488 (pc_partition_map_probe): Remove.
18489 (pc_partition_map_get_name): Remove.
18490 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
18491 Set 'number'.
18492 (sun_partition_map_probe): Remove.
18493 (sun_partition_map_get_name): Likewise.
18494 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
18495 (grub_pcpart_type): Likewise.
18496 * util/hostdisk.c (open_device): Handle new numbering scheme.
18497 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
18498 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
18499 * util/grub-probe.c (probe_partmap): Handle nested paritions.
18500 * util/grub-install.in: Insert all subpartition modules.
18501 * util/ieee1275/grub-install.in: Likewise.
18502
a3940f88
AG
185032010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
18504
18505 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
18506 grammar.
18507
21b99926 185082010-03-24 Colin Watson <cjwatson@ubuntu.com>
18509
18510 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
18511
bed1d352
CW
185122010-03-21 Colin Watson <cjwatson@ubuntu.com>
18513
18514 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
18515 match where 'make install' puts them.
18516 * util/i386/efi/grub-install.in: Likewise.
18517
c9f58427
CW
185182010-03-19 Colin Watson <cjwatson@ubuntu.com>
18519
18520 * .bzrignore: Add gentrigtables, grub-script-check,
18521 grub_script_check_init.c, grub_script_check_init.h, and
18522 trigtables.c.
18523
f84afb27
VS
185242010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
18525
18526 * kern/parser.c: Indented.
18527
ed0e3d30
VS
185282010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
18529
18530 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
18531
0ea81d98
VS
185322010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
18533
18534 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
18535 alpha_mask_size == 0 case.
18536
0cdc2a09
BC
185372010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
18538
18539 GRUB shell lexer and parser improvements.
18540
18541 * conf/any-emu.rmk: Build rule updates.
18542 * conf/common.rmk: Likewise.
18543 * conf/i386-coreboot.rmk: Likewise.
18544 * conf/i386-efi.rmk: Likewise.
18545 * conf/i386-ieee1275.rmk: Likewise.
18546 * conf/i386-pc.rmk: Likewise.
18547 * conf/powerpc-ieee1275.rmk: Likewise.
18548 * conf/x86_64-efi.rmk: Likewise.
18549
18550 * configure.ac: Configure check for flex.
18551
18552 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
18553 types.
18554 (grub_lexer_param): Struct member updates.
18555 (grub_parser_param): Likewise.
18556 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
18557 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
18558 (grub_script_lexer_init): Prototype update.
18559 (grub_script_lexer_record_start): Likewise.
18560 (grub_script_lexer_record_stop): Likewise.
18561 (grub_script_lexer_yywrap): New function prototype.
18562 (grub_script_lexer_fini): Likewise.
18563 (grub_script_execute_argument_to_string): Removed by...
18564 (grub_script_execute_argument_to_argv): ...better version.
18565
18566 * script/execute.c (ROUND_UPTO): New macro.
18567 (grub_script_execute_cmdline): Out of memory fixes.
18568 (grub_script_execute_menuentry): Likewise.
18569 (grub_script_execute_argument_to_string): Removed. Update all
18570 users by...
18571 (grub_script_execute_argument_to_argv): ...better version.
18572 * script/function.c (grub_script_function_create): Use
18573 grub_script_execute_argument_to_argv instead of
18574 grub_script_execute_argument_to_string.
18575
18576 * script/lexer.c (check_varstate): Removed.
18577 (check_textstate): Removed.
18578 (grub_script_lexer_record_start): Likewise.
18579 (grub_script_lexer_record_stop): Likewise.
18580 (recordchar): Replaced with...
18581 (grub_script_lexer_record): ...new function.
18582 (nextchar): Removed.
18583 (grub_script_lexer_init): Rewritten.
18584 (grub_script_yylex): Rewritten.
18585 (append_newline): New function.
18586 (grub_script_lexer_yywrap): New function.
18587 (grub_script_lexer_fini): New function.
18588 (grub_script_yyerror): Sets error flag.
18589
18590 * script/yylex.l: New file.
18591 (grub_lexer_yyfree): Wrapper for flex yyffre.
18592 (grub_lexer_yyalloc): Likewise.
18593 (grub_lexer_yyrealloc): Likewise.
18594 * script/parser.y: Refactored.
18595
18596 * script/script.c (grub_script_arg_add): Out of memory fixes.
18597 (grub_script_add_arglist): Likewise.
18598 (grub_script_create_cmdline): Likewise.
18599 (grub_script_create_cmdmenu): Likewise.
18600 (grub_script_add_cmd): Likewise.
18601 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
18602 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
18603 unnecessary code.
18604
18605 * tests/grub_script_echo1.in: New testcase.
18606 * tests/grub_script_vars1.in: New testcase.
18607 * tests/grub_script_echo_keywords.in: New testcase.
18608
1d63a066
VS
186092010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18610
18611 Remove some redundancy in build system.
18612
18613 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
18614 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
18615 (TARGET_LDFLAGS): Add -nostdlib.
18616 (TARGET_IMG_LDFLAGS): Likewise.
18617 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
18618 anything since mmap isn't available.
18619 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
18620 Add util/time.c.
18621 (pkglib_MODULES): Remove reboot.mod.
18622 (reboot_mod_SOURCES): Removed.
18623 (reboot_mod_CFLAGS): Likewise.
18624 (reboot_mod_LDFLAGS): Likewise.
18625 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
18626 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
18627 (DEFSYMFILES): Add kernel_syms.lst.
18628 (kernel_img_HEADERS): Add common headers.
18629 (symlist.c): New target.
18630 (kernel_syms.lst): Likewise.
18631 (pkglib_MODULES): Add memdisk.mod.
18632 (memdisk_mod_SOURCES): New variable.
18633 (memdisk_mod_CFLAGS): Likewise.
18634 (memdisk_mod_LDFLAGS): Likewise.
18635 (pkglib_MODULES): Add reboot.mod.
18636 (reboot_mod_SOURCES): New variable.
18637 (reboot_mod_CFLAGS): Likewise.
18638 (reboot_mod_LDFLAGS): Likewise.
18639 (pkglib_MODULES): Add date.mod.
18640 (date_mod_SOURCES): New variable.
18641 (date_mod_CFLAGS): Likewise.
18642 (date_mod_LDFLAGS): Likewise.
18643 (pkglib_MODULES): Add datehook.mod.
18644 (datehook_mod_SOURCES): New variable.
18645 (datehook_mod_CFLAGS): Likewise.
18646 (datehook_mod_LDFLAGS): Likewise.
18647 (pkglib_MODULES): Add lsmmap.mod.
18648 (lsmmap_mod_SOURCES): New variable.
18649 (lsmmap_mod_CFLAGS): Likewise.
18650 (lsmmap_mod_LDFLAGS): Likewise.
18651 (pkglib_MODULES): Add boot.mod.
18652 (boot_mod_SOURCES): New variable.
18653 (boot_mod_CFLAGS): Likewise.
18654 (boot_mod_LDFLAGS): Likewise.
18655 * conf/i386-coreboot.rmk: Removed redundant parts.
18656 * conf/i386-ieee1275.rmk: Likewise.
18657 * conf/i386-pc.rmk: Likewise.
18658 * conf/mips-yeeloong.rmk: Likewise.
18659 * conf/mips.rmk: Likewise.
18660 * conf/powerpc-ieee1275.rmk: Likewise.
18661 * conf/sparc64-ieee1275.rmk: Likewise.
18662 * conf/x86_64-efi.rmk: Likewise.
18663 * conf/i386-coreboot.rmk: Moved qemu parts ..
18664 * conf/i386-qemu.rmk: ... here
18665 * conf/i386-efi.rmk: Moved common parts to...
18666 * conf/x86-efi.rmk: ... here.
18667 * conf/i386.rmk: Added modules common to all x86 variants.
18668 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
18669 * disk/memdisk.c: Remove grub/machine/kernel.h.
18670 * gensymlist.sh.in: Include symbol.h.
18671 * hook/datehook.c: Correct module name.
18672 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
18673 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
18674 * include/grub/i386/efi/serial.h: New file.
18675 * include/grub/x86_64/efi/serial.h: Likewise.
18676 * util/time.c: Likewise.
18677 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
18678
463ac55f
CK
186792010-03-14 Colin King <colin.king@ubuntu.com>
186802010-03-14 Colin Watson <cjwatson@ubuntu.com>
18681
18682 Shrink the pre-partition-table part of boot.img by eight bytes.
18683
18684 * boot/i386/pc/boot.S (ERR): New macro.
18685 (chs_mode): Use ERR.
18686 (geometry_error): Likewise.
18687 (hd_probe_error): Remove. This is only used once, so we wrwite
18688 it inline instead.
18689 (read_error): Instead of printing read_error_string, just set up
18690 %si and fall through to ...
18691 (error_message): ... this new function, also used by ERR.
18692
08e46ede
CW
186932010-03-14 Colin Watson <cjwatson@ubuntu.com>
18694
18695 Speed up consecutive hostdisk operations on the same device.
18696
18697 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
18698 (grub_util_biosdisk_open): Initialise disk->data.
18699 (struct linux_partition_cache): New structure.
18700 (linux_find_partition): Cache partition start positions; these are
18701 expensive to compute on every read and write.
18702 (open_device): Cache open file descriptor in disk->data, so that we
18703 don't have to reopen it and flush the buffer cache for consecutive
18704 operations on the same device.
18705 (grub_util_biosdisk_close): New function.
18706 (grub_util_biosdisk_dev): Set `close' member.
18707
18708 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
18709 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
18710 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18711 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18712 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
18713
4a6d2d06
VS
187142010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18715
18716 Compile parts of grub-emu as modules.
18717
18718 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
18719 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
18720 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
18721 (all-local): Add $(GRUB_EMU).
18722 (install-local): Install $(GRUB_EMU).
18723 (uninstall): Uninstall $(GRUB_EMU).
18724 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
18725 * kern/dl.c: Likewise.
18726 * commands/sleep.c: Not include machine/time.h.
18727 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
18728 (COMMON_CFLAGS): Likewise.
18729 (sbin_UTILITIES): Remove grub-emu.
18730 (grub_emu_SOURCES): Removed.
18731 (kernel_img_RELOCATABLE): New variable.
18732 (pkglib_PROGRAMS): Add kernel.img.
18733 (kernel_img_SOURCES): New variable
18734 (kernel_img_CFLAGS): Likewise.
18735 (kernel_img_LDFLAGS): Likewise.
18736 (TARGET_NO_STRIP): Likewise.
18737 (TARGET_NO_DYNAMIC_MODULES): Likewise.
18738 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
18739 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
18740 (grub-emu): New target.
18741 (GRUB_EMU): New variable.
18742 * configure.ac: Whitelist -emu as possible x86_64 architecture.
18743 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
18744 * loader/xnu.c: Likewise.
18745 * include/grub/pci.h: Likewise.
18746 * genemuinit.sh: New file.
18747 * genemuinitheader.sh: Likewise.
18748 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
18749 Support TARGET_NO_DYNAMIC_MODULES.
18750 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
18751 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
18752 * disk/loopback.c: Likewise.
18753 * font/font_cmd.c: Likewise.
18754 * partmap/acorn.c: Likewise.
18755 * partmap/amiga.c: Likewise.
18756 * partmap/apple.c: Likewise.
18757 * partmap/gpt.c: Likewise.
18758 * partmap/msdos.c: Likewise.
18759 * partmap/sun.c: Likewise.
18760 * parttool/msdospart.c: Likewise.
18761 * term/gfxterm.c: Likewise.
18762 * video/bitmap.c: Likewise.
18763 * video/readers/jpeg.c: Likewise.
18764 * video/readers/png.c: Likewise.
18765 * video/readers/tga.c: Likewise.
18766 * video/video.c: Likewise.
18767 * util/grub-emu.c (read_command_list): Removed.
18768 (main): Don't call util_init_nls.
18769 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
18770 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
18771
91fdd2ed
VS
187722010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18773
18774 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
18775 date.mod, datehook.mod.
18776 (datetime_mod_SOURCES): New variable.
18777 (datetime_mod_CFLAGS): Likewise.
18778 (datetime_mod_LDFLAGS): Likewise.
18779 (date_mod_SOURCES): Likewise.
18780 (date_mod_CFLAGS): Likewise.
18781 (date_mod_LDFLAGS): Likewise.
18782 (datehook_mod_SOURCES): Likewise.
18783 (datehook_mod_CFLAGS): Likewise.
18784 (datehook_mod_LDFLAGS): Likewise.
18785 * conf/sparc64-ieee1275.rmk: Likewise.
18786 * lib/ieee1275/datetime.c: New file.
18787
873ccae6
VS
187882010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18789
18790 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
18791 (ieee1275_fb_mod_SOURCES): New variable.
18792 (ieee1275_fb_mod_CFLAGS): Likewise.
18793 (ieee1275_fb_mod_LDFLAGS): Likewise.
18794 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
18795 New proto.
18796 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
18797 (HEAP_MAX_ADDR): Likewise.
18798 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
18799 type.
18800 Correct stop condition.
18801 (grub_ieee1275_devices_iterate): New function.
18802 * video/ieee1275.c: New file.
18803
601c97c0
VS
188042010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
18805
18806 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
18807
18808 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
18809 as scratch.
18810 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
18811 SCRATCH_PAD_DISKBOOT as scratch.
18812 (bootit): Pass Openfirmware pointer in %o4.
18813 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
18814 of 0x200000.
18815 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
18816 with util/grub-mkrawimage.c.
18817 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
18818 * include/grub/aout.h (AOUT_MID_SUN): New definition.
18819 (grub_aout_get_type) [GRUB_UTIL]: Removed.
18820 (grub_aout_load) [GRUB_UTIL]: Likewise.
18821 * include/grub/kernel.h (grub_modules_get_end): New proto.
18822 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
18823 (SCRATCH_PAD_BOOT): New definition.
18824 (SCRATCH_PAD_DISKBOOT): Likewise.
18825 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
18826 * include/grub/sparc64/ieee1275/ieee1275.h
18827 (grub_ieee1275_original_stack): New variable
18828 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
18829 New definition
18830 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
18831 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
18832 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
18833 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
18834 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
18835 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
18836 (grub_platform_image_format_t): New type.
18837 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
18838 * kern/main.c (grub_modules_get_end)
18839 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
18840 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
18841 (codestart): Switch stacks.
18842 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
18843 variable.
18844 (grub_heap_init): Use grub_modules_get_end.
18845 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
18846 stack.
18847 * util/grub-mkrawimage.c (generate_image): Support sparc64.
18848 (main): Likewise.
18849 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
18850
d68b491e
TG
188512010-03-14 Thorsten Glaser <tg@mirbsd.org>
18852
18853 * util/grub-mkrescue.in: Base ISO UUID on UTC.
18854
4e02ed50
MK
188552010-03-08 Matt Kraai <kraai@ftbfs.org>
18856
18857 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
18858 bug #559005).
18859
1f15fc1e
VS
188602010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
18861
18862 * genmoddep.awk: Output all missing symbols and not only first.
18863
fce5d8ff
VS
188642010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18865
18866 * NEWS: Put the date of 1.98 release.
18867
d1e8a02f
VS
188682010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18869
18870 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
18871 ft2build.h.
18872
696fd607
VS
188732010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18874
18875 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
18876 completition in the middle of string.
18877
33e2e6f3
VS
188782010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18879
18880 * util/grub-mkrescue.in: Use mktemp with explicit template.
18881
b1f6d291
VS
188822010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18883
18884 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
18885
2ac227c7
VS
188862010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
18887
18888 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
18889 right pointer.
18890
8f9a632b
VS
188912010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
18892
18893 Fix FreeBSD compilation.
18894
18895 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
18896 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
18897
60b03859
VS
188982010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
18899
18900 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
18901
48a5a769
VS
189022010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18903
18904 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
18905
3ab4bd77
VS
189062010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18907
18908 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
18909
d116e0d8
RM
189102010-03-04 Robert Millan <rmh.grub@aybabtu.com>
18911
18912 Support relative image path in theme file.
18913
18914 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
18915 (image_set_property): Handle theme_dir and relative path.
18916
c7ef54aa
VS
189172010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18918
18919 * configure.ac: Alias amd64 to x86_64.
18920
fcee14ed
VS
189212010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18922
18923 * NEWS: mention multiboot on EFI.
18924
d0780363
VS
189252010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18926
18927 * kern/main.c (grub_load_modules): Handle errors from init functions of
18928 embeded modules.
18929
41168ea4
VS
189302010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18931
18932 * normal/autofs.c (autoload_fs_module): Handle errors.
18933
b54d93ac
VS
189342010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18935
18936 Disable linux.mod on qemu-mips since it's not functional and leads
18937 to compilation failure.
18938
18939 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
18940 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
18941 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
18942 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
18943 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
18944 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
18945 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
18946 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
18947 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
18948 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
18949 Reported by: BVK Chaitanya
18950
fc8345da
JU
189512010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
18952
18953 * INSTALL: Add gettext as a dependency and add qemu to a new section
18954 "Prerequisites for make-check".
18955
4760f979
CF
189562010-03-04 Christian Franke <franke@computer.org>
18957
18958 * util/grub-pe2elf.c: Add missing include "progname.h".
18959
f209b5b2
VS
189602010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18961
18962 * normal/crypto.c (read_crypto_list): Fix a typo.
18963 Reported by: Seth Goldberg.
18964
b4b7be98
VS
189652010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18966
18967 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 18968 Reported by: Seth Goldberg.
b4b7be98 18969
c0ee0385
VS
189702010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18971
18972 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
18973 ascii.bitmaps.
18974
a8efbf64
VS
189752010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18976
18977 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 18978 Reported by: Seth Goldberg.
a8efbf64 18979
08dcd913
VS
189802010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
18981
18982 * util/i386/efi/grub-install.in: Copy gettext files.
18983
c4d0b332
VS
189842010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18985
18986 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
18987
c6f2fe52
VS
189882010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
18989
18990 Wait for user entry basing on presence of output rather than on errors.
18991
18992 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
18993 (grub_install_newline_hook): Likewise.
18994 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
18995 * normal/menu.c (show_menu): Check line_counter to determine presence
18996 of output.
18997 * normal/term.c (grub_normal_line_counter): New variable.
18998 (grub_normal_get_line_counter): New function.
18999 (grub_install_newline_hook): Likewise.
19000
5382b1e4
VS
190012010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19002
19003 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
19004
5519963b
VS
190052010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
19006
19007 * configure.ac: Update version to 1.98.
19008
72b28631
VS
190092010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
19010
19011 * util/grub.d/10_linux.in (linux_entry): Don't default to
19012 gfxpayload=keep if Linux doesn't support video handover.
19013
c140a180
VS
190142010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
19015
19016 Don't compile video modules on yeeloong since video subsystem is part
19017 of kernel.
19018
19019 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
19020 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
19021 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
19022 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
19023 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
19024 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
19025 * include/grub/bitmap_scale.h: Likewise.
19026 * include/grub/bufio.h: Likewise.
19027 * include/grub/font.h: Likewise.
19028 * include/grub/gfxterm.h: Likewise.
19029 * include/grub/video.h: Likewise.
19030 * include/grub/vbe.h: Don't include video_fb.h.
19031 * video/i386/pc/vbe.c: Include video_fb.h.
19032 * commands/i386/pc/vbetest.c: Include video.h.
19033
a0ca21c2
CW
190342010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
19035
19036 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
19037 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
19038 default entry if GRUB_SAVEDEFAULT=true. This allows using
19039 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
19040 saving a new default on every boot.
19041
4a8a763c
VS
190422010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
19043
19044 * normal/crypto.c (read_crypto_list): Fix a memory leak.
19045 * normal/term.c (read_terminal_list): Likewise.
19046 * normal/main.c (grub_normal_init_page): Likewise.
19047 (grub_normal_read_line_real): Likewise.
19048
607ffde2
VS
190492010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
19050
19051 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
19052 memory leak.
19053 Reported by: Seth Goldberg.
19054
2b8fa975
CW
190552010-02-24 Joey Korkames <joey+lists@kidfixit.com>
19056
19057 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
19058 duplicate declaration of `start'.
19059
618307dd
VS
190602010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19061
19062 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
19063 filename.
19064 Reported by: Georgy Buranov
19065
7dd05b96 190662010-02-20 Carles Pina i Estany <carles@pina.cat>
19067
19068 * util/grub-mkrawimage.c (usage): Change string formatting to
19069 improve gettext.
19070
d1484a42
MRA
190712010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
19072
19073 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
19074 backspace keys.
19075
42b1d186
VS
190762010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
19077
19078 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
19079 Reported by: Michael Suchanek.
19080
190812010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
19082
19083 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
19084 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
19085
d9f31a41
VS
190862010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
19087
19088 Remove any reference to non-free fonts.
19089
19090 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
19091 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
19092 uses non-free components.
19093 * font/font.c (grub_font_get_name): Remove example name.
19094 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
19095 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
19096 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
19097 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
19098
2793c71e
GB
190992010-02-16 Georgy Buranov <gburanov@gmail.com>
19100
19101 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
19102
402e3779
VS
191032010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19104
19105 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
19106 Double divisor.
19107 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
19108 features.
19109 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
19110
0dd1e0dd
VS
191112010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
19112
19113 * gensymlist.sh.in: Use TARGET_CC instead of CC.
19114
6fa7cfce
ST
191152010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19116
19117 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
19118 * docs/grub.texi (Command-line and menu entry commands): Document play
19119 command.
19120
37c8483b
ST
191212010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19122
19123 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
19124 parse arguments as inline tempo and notes. Move code for playing notes
19125 to...
19126 (play): ... new function.
19127
14da0fb7
ST
191282010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
19129
19130 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
19131 grub_uint16_t instead of short.
19132 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
19133 disk from little endian to cpu endianness.
19134
04459e70
ST
191352010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
19136
19137 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
19138 GRUB_TICKS_PER_SECOND instead of 120.
19139
a0876943
VS
191402010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19141
19142 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
19143 escape sequence after \e.
19144
e29f95dc
VS
191452010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19146
19147 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
19148 non-ASCII characters.
19149
d27859b2
VS
191502010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19151
19152 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
19153 set root in single quotes to prevent \, from being unescaped.
19154
bc028f2f
VS
191552010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19156
19157 Prevent unknown commands from stopping menuentry execution.
19158
19159 * script/execute.c (grub_script_execute_cmdline): Print error after
19160 unknown command.
19161
095f5f82
VS
191622010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
19163
19164 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
19165 Reported by: Pavel Pisa.
19166
8c717950
VS
191672010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19168
19169 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
19170
904935c3
VS
191712010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19172
19173 Merge grub_ieee1275_map_physical into grub_map and rename to
19174 grub_ieee1275_map
19175
19176 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
19177 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
19178 Remove.
19179 * kern/ieee1275/openfw.c (grub_map): Rename to ...
19180 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
19181 necessary.
19182 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
19183
5b59a4e3
VS
191842010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19185
19186 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
19187 opening and not after.
19188
69e137e8
VS
191892010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19190
19191 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
19192 constants.
19193
2c0fcc36
VS
191942010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19195
19196 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
19197 (alloc_phys): Use ALIGN_UP instead of align_addr.
19198
8c6052ce
VS
191992010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19200
19201 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
19202
17cec782
VS
192032010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19204
19205 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
19206
e0128bbd
VS
192072010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19208
19209 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
19210 verbose dprintf.
19211
ca62070b
VS
192122010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19213
19214 Fix over-4GiB seek on sparc64.
19215
19216 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
19217 Replace pos_i and pos_lo with pos. All users updated.
19218 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19219 New constant.
19220 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
19221 Likewise.
19222 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
19223 and pos_lo.
19224
bdca2607
VS
192252010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19226
19227 * util/grub-mkrawimage.c (main): Call set_program_name.
19228
da278c4d
VS
192292010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19230
19231 Properly align 64-bit targets.
19232
19233 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
19234 (generate_image): Use ALIGN_ADDR.
19235
b274d734
VS
192362010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19237
19238 Properly create cross-endian images.
19239
19240 * include/grub/types.h (grub_host_to_target_addr): New macro
19241 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
19242
82da2062
VS
192432010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
19244
19245 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
19246
7cae4377
VS
192472010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19248
19249 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
19250
19251 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
19252 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
19253 (grub_linux_boot): Divide by 64K when on VESA.
19254
65a533e7
VS
192552010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19256
19257 Support GRUB_GFXPAYLOAD_LINUX.
19258
19259 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
19260 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
19261
dd01d397
VS
192622010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
19263
19264 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
19265 to show messages instead of discarding them.
19266 Process errors after executing command and not before. Keep old method
19267 too as precaution.
19268
660960d6
VS
192692010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
19270
19271 * configure.ac: Check for ft2build.h.
19272
62509f04
VS
192732010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19274
19275 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
19276
473df63d
VS
192772010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19278
19279 * genkernsyms.sh.in: Use TARGET_CC.
19280
c98d2a13
CW
192812010-02-07 Colin Watson <cjwatson@ubuntu.com>
19282
19283 * NEWS: Update.
19284
6e14234c
VS
192852010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19286
19287 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
19288 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
19289 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 19290
b255e9cf
YB
192912010-02-07 Yves Blusseau <blusseau@zetam.org>
19292
6e14234c 19293 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 19294
98e6959d
VS
192952010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19296
19297 Fix warnings in grub-emu when compiling with maximum warning options.
19298
19299 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
19300 (grub_arch_modules_addr): Return 0 and not NULL.
19301 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 19302 (xstrdup): Use newstr instead of dup.
f88d801b
VS
19303 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
19304 of disk to dsk to avoid shadowing.
74e4934e
VS
19305 (find_free_slot): Fix prototype.
19306 * util/getroot.c (grub_util_is_dmraid): Make static.
19307 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
19308 Add missing prototype.
19309 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 19310
74e31b5c
VS
193112010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19312
19313 * loader/i386/linux.c (grub_linux_setup_video): Handle error
19314 appropriately.
19315
6b2ad14b
VS
193162010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19317
19318 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
19319 code out.
19320
8f891adc
VS
193212010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19322
19323 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
19324 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
19325 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
19326 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
19327 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
19328 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
19329
74b45184
VS
193302010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19331
19332 * include/grub/err.h (grub_err_printf): Don't export.
19333
a4bced77
VS
193342010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19335
19336 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
19337
007d0695
VS
193382010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
19339
19340 * include/grub/i18n.h (grub_gettext_dummy): Removed.
19341 * kern/misc.c (grub_gettext_dummy): Make static.
19342
b6c0d9c2
VS
193432010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19344
19345 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
19346 by non-valid ones.
19347 * kern/term.c (grub_putchar): Likewise.
19348
f51a90d0
VS
193492010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19350
19351 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
19352 buggy hook call and memory leak.
19353
6846cec5
VS
193542010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19355
19356 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
19357
468d69fe
VS
193582010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19359
19360 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
19361
51906b8c
VS
193622010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19363
19364 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
19365 modevar.
19366 Return grub_errno on allocation error.
19367
09706ce5
VS
193682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19369
19370 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
19371
911df80c
YB
193722010-02-06 Yves Blusseau <blusseau@zetam.org>
19373
19374 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
19375 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
19376
3746a6bc
VS
193772010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19378
19379 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
19380 non-pxe disk.
19381 (grub_pxefs_open): Likewise.
19382
09706ce5
VS
193832010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19384
19385 * util/grub.d/10_hurd.in: Add --class information to menuentries.
19386 * util/grub.d/10_kfreebsd.in: Likewise.
19387 * util/grub.d/10_linux.in: Likewise.
19388
7cc192d9
VS
193892010-02-06 Colin D Bennett <colin@gibibit.com>
19390
19391 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
19392 (gfxmenu_mod_SOURCES): New variable.
19393 (gfxmenu_mod_CFLAGS): Likewise.
19394 (gfxmenu_mod_LDFLAGS): Likewise.
19395 * include/grub/term.h (grub_term_set_current_output): Declare
19396 argument as const.
19397 * docs/gfxmenu-theme-example.txt: New file.
19398 * gfxmenu/gfxmenu.c: Likewise.
19399 * gfxmenu/gui_box.c: Likewise.
19400 * gfxmenu/gui_canvas.c: Likewise.
19401 * gfxmenu/gui_circular_progress.c: Likewise.
19402 * gfxmenu/gui_image.c: Likewise.
19403 * gfxmenu/gui_label.c: Likewise.
19404 * gfxmenu/gui_list.c: Likewise.
19405 * gfxmenu/gui_progress_bar.c: Likewise.
19406 * gfxmenu/gui_string_util.c: Likewise.
19407 * gfxmenu/gui_util.c: Likewise.
19408 * gfxmenu/icon_manager.c: Likewise.
19409 * gfxmenu/model.c: Likewise.
19410 * gfxmenu/named_colors.c: Likewise.
19411 * gfxmenu/theme_loader.c: Likewise.
19412 * gfxmenu/view.c: Likewise.
19413 * gfxmenu/widget-box.c: Likewise.
19414 * include/grub/gfxmenu_model.h: Likewise.
19415 * include/grub/gfxmenu_view.h: Likewise.
19416 * include/grub/gfxwidgets.h: Likewise.
19417 * include/grub/gui.h: Likewise.
19418 * include/grub/gui_string_util.h: Likewise.
19419 * include/grub/icon_manager.h: Likewise.
19420
194212010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19422
19423 Agglomerate scrolling in gfxterm.
19424
19425 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
19426 (grub_virtual_screen_setup): Initialise 'total_screen'.
19427 (write_char): Split to ...
19428 (paint_char): ... this ...
19429 (write_char): ... and this.
19430 (paint_char): Handle delayed scrolling.
19431 (draw_cursor): Likewise.
19432 (scroll_up): Split to ...
19433 (real_scroll): ... this ...
19434 (scroll_up): ... and this.
19435 (real_scroll): Handle multi-line scroll and draw below-the-bottom
19436 characters.
19437 (grub_gfxterm_refresh): Call real_scroll.
19438
194392010-02-06 Colin D Bennett <colin@gibibit.com>
19440
19441 * include/grub/misc.h (grub_iscntrl): New inline function.
19442 (grub_isalnum): Likewise.
19443 (grub_strtol): Likewise.
19444
194452010-02-06 Colin D Bennett <colin@gibibit.com>
19446
19447 * normal/menu_text.c (get_entry_number): Move from here ...
19448 * normal/menu.c (get_entry_number): ... moved here.
19449 * include/grub/menu.h (grub_menu_get_default_entry_index):
19450 New prototype.
19451 * normal/menu.c (grub_menu_get_default_entry_index): New function.
19452 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
19453 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
19454 (grub_menu_viewer_should_return): Likewise.
19455 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
19456 * normal/menu_text.c (run_menu): Enable menu switching.
19457 * normal/menu_viewer.c (should_return): New variable.
19458 (menu_viewer_changed): Likewise.
19459 (grub_menu_viewer_show_menu): Handle menu viewer changes.
19460 (grub_menu_viewer_should_return): New function.
19461 (menuviewer_write_hook): Likewise.
19462 (grub_menu_viewer_init): Likewise.
19463
194642010-02-06 Colin D Bennet <colin@gibibit.com>
194652010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19466
19467 Support for gfxterm in a window.
19468
19469 * include/grub/gfxterm.h: New file.
19470 * include/grub/video.h (struct grub_video_rect): New declaration.
19471 (grub_video_rect_t): Likewise.
19472 * term/gfxterm.c (struct grub_gfxterm_window): New type.
19473 (refcount): New variable.
19474 (render_target): Likewise.
19475 (window): Likewise.
19476 (repaint_callback): Likewise.
19477 (grub_virtual_screen_setup): Use 'render_target'.
19478 (init_window): New function.
19479 (grub_gfxterm_init_window): Likewise.
19480 (grub_gfxterm_init): Check reference counter.
19481 Use init_window.
19482 (destroy_window): New function.
19483 (grub_gfxterm_destroy_window): Likewise.
19484 (grub_gfxterm_fini): Check reference counter.
19485 Use destroy_window.
19486 (redraw_screen_rect): Restore viewport.
19487 Use 'render_target' and 'window'.
19488 Call 'repaint_callback'.
19489 (write_char): Use 'render_target'.
19490 (draw_cursor): Likewise.
19491 (scroll_up): Restore viewport.
19492 Use 'render_target' and 'window'.
19493 Call 'repaint_callback'.
19494 (grub_gfxterm_cls): Likewise.
19495 (grub_gfxterm_refresh): Use 'window'.
19496 (grub_gfxterm_set_repaint_callback): New function.
19497 (grub_gfxterm_background_image_cmd): Use 'window'.
19498 (grub_gfxterm_get_term): New function.
19499 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
19500
195012010-02-06 Colin D Bennett <colin@gibibit.com>
19502
19503 Bitmap scaling support.
19504
19505 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
19506 (bitmap_scale_mod_SOURCES): New variable.
19507 (bitmap_scale_mod_CFLAGS): Likewise.
19508 (bitmap_scale_mod_LDFLAGS): Likewise.
19509 * include/grub/bitmap_scale.h: New file.
19510 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
19511 (background_image_cmd_options): New variable.
19512 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
19513 (cmd): Rename and change type to ...
19514 (background_image_cmd_handle): ... this. All users updated.
19515 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
19516 * video/bitmap_scale.c: New file.
19517
195182010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19519
19520 SDL support.
19521
19522 * Makefile.in (LIBSDL): New variable.
19523 (enable_grub_emu_sdl): Likewise.
19524 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
19525 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
19526 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
19527 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
19528 * util/sdl.c: New file.
19529
195302010-02-06 Colin D Bennett <colin@gibibit.com>
195312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19532
19533 Double buffering support.
19534
19535 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
19536 * include/grub/video.h: Update comment.
19537 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
19538 New type.
19539 (grub_video_fb_doublebuf_blit_init): New prototype.
19540 * term/gfxterm.c (scroll_up): Support double buffering.
19541 (grub_gfxterm_refresh): Likewise.
19542 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
19543 (grub_video_fb_doublebuf_blit_init): Likewise.
19544 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
19545 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
19546 'displayed_page', 'render_page' and 'update_screen'.
19547 (grub_video_vbe_fini): Free offscreen buffer.
19548 (doublebuf_pageflipping_commit): New function.
19549 (doublebuf_pageflipping_update_screen): Likewise.
19550 (doublebuf_pageflipping_init): Likewise.
19551 (double_buffering_init): Likewise.
19552 (grub_video_vbe_setup): Enable doublebuffering.
19553 (grub_video_vbe_swap_buffers): Implement.
19554 (grub_video_vbe_set_active_render_target): Handle double buffering.
19555 (grub_video_vbe_get_active_render_target): Likewise.
19556 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
19557 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
19558 (grub_video_vbe_enable_double_buffering): Likewise.
19559 (grub_video_vbe_swap_buffers): Use update_screen.
19560 (grub_video_set_mode): Use double buffering.
19561
195622010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19563
19564 * maintainance/gentrigtables.py: Remove.
19565 * lib/trig.c: Likewise.
19566
19567 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
19568
19569 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
19570 `trigtables.c'.
19571 (trigtables.c): New rule.
19572 (gentrigtables): Likewise.
19573 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
19574
195752010-02-06 Robert Millan <rmh.grub@aybabtu.com>
19576
19577 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
19578 integer constants.
19579
195802010-02-06 Colin D Bennet <colin@gibibit.com>
19581
19582 Trigonometry support.
19583
19584 * include/grub/trig.h: New file.
19585 * lib/trig.c: Likewise.
19586 * maintainance/gentrigtables.py: Likewise.
19587 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
19588 (trig_mod_SOURCES): New variable.
19589 (trig_mod_CFLAGS): Likewise.
19590 (trig_mod_LDFLAGS): Likewise.
19591
5562834e
VS
195922010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19593
19594 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
19595 disk devices.
19596
4f8528fc
VS
195972010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
19598
19599 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
19600 error.
19601
2b4068e9
VS
196022010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
19603
19604 * util/hostdisk.c (open_device): Don't use partition device when reading
19605 before the partition.
19606 (grub_util_biosdisk_read): Don't read from partition and before the
19607 partition in single operation.
19608 (grub_util_biosdisk_write): Don't write to partition and before the
19609 partition in single operation.
19610
399f6e4d
TL
196112010-02-03 Torsten Landschoff <torsten@debian.org>
19612
19613 * kern/disk.c (grub_disk_read): Fix offset computation when reading
19614 last sectors.
19615
996649b0
VS
196162010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
19617
19618 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
19619 CDROM reads.
19620 (grub_biosdisk_write): Refuse to write to CDROM.
19621
3b205d4d
VS
196222010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
19623
19624 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
19625
61e89d9d
VS
196262010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
19627
19628 * font/font.c (find_glyph): Check that bmp_idx is available before
19629 using it.
19630 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
19631 with (font == NULL).
19632
bf7fcba2
CS
196332010-01-28 Christian Schmitt <chris@ilovelinux.de>
19634
19635 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
19636
f45d2663
BC
196372010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
19638
19639 * include/grub/script_sh.h (sourcecode): Add const qualifier.
19640 * util/grub-script-check.c (getline): Fix empty lines case.
19641
ec1444e6
RM
196422010-01-28 Robert Millan <rmh.grub@aybabtu.com>
19643
19644 * Makefile.in (check): Exit with fail status when one of the tests
19645 fails.
19646 * tests/example_functional_test.c (example_test): Fix reversed assert.
19647 * tests/example_unit_test.c (example_test): Likewise.
19648
2e1cb9bb
CW
196492010-01-28 Colin Watson <cjwatson@ubuntu.com>
19650
19651 * util/grub.d/10_linux.in: This script does not use any of the
19652 contents of gettext.sh, only the external command `gettext', so stop
19653 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
19654 the same prefix as GRUB.)
19655 * util/grub.d/10_kfreebsd.in: Likewise.
19656
63533ab0
VS
196572010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19658
19659 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
19660 of the line.
19661
989e1f93
VS
196622010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19663
19664 * kern/disk.c (grub_disk_read): Fix offset computation when reading
19665 last sectors.
19666
e709ebe2
VS
196672010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
19668
19669 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
19670 having a 4KiB and not 32KiB buffer size.
19671
27dea7ed
RM
196722010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19673
19674 * util/hostfs.c: Include `<errno.h>'.
19675 (grub_hostfs_read): Handle errors from fseeko() and fread().
19676
67667b9c
RM
196772010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19678
19679 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
19680 loop when using read hooks on files whose size isn't sector-aligned.
19681
c294d9d8
RM
196822010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19683
19684 Remove unused parameter.
19685
19686 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
19687 (grub_iso9660_open): Remove initialization of `data->length'.
19688
af75a9f1
RM
196892010-01-27 Robert Millan <rmh.grub@aybabtu.com>
19690
19691 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
19692 memleak conditions.
19693
254e2ce5 196942010-01-27 Carles Pina i Estany <carles@pina.cat>
19695
19696 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
19697 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
19698
b510928c 196992010-01-26 Carles Pina i Estany <carles@pina.cat>
19700
19701 * util/bin2h.c (usage): Fix warning (space after backslash).
19702
aa2f9dd2 197032010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 19704
19705 * font/font.c: Include `grub/fontformat.h.
19706 Remove font file format constants.
19707 (grub_font_load): Use the new macros.
19708 * include/grub/fontformat.h: New file.
19709 * util/grub-mkfont.c: Include `grub/fontformat.c'.
19710 (write_font_pf2): Use the new macros.
19711
94e7e712
RM
197122010-01-26 Robert Millan <rmh.grub@aybabtu.com>
19713
19714 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
19715 does.
19716
3973a59a
RM
197172010-01-26 Robert Millan <rmh.grub@aybabtu.com>
19718
19719 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
19720
19721 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
19722 (_start): Macroify `0x7F'.
19723
19724 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
19725 (make_install_device): Use "(pxe)" as fallback prefix when booting
19726 via PXE.
19727
42e0cba3
GS
197282010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
19729
19730 * configure.ac: Reset LIBS after check for libgcc symbols.
19731
847effd8
CW
197322010-01-25 Colin Watson <cjwatson@ubuntu.com>
19733
19734 * util/hostdisk.c (open_device): Add trailing newline to debug
19735 message.
19736
ea4a7e35
GS
197372010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
19738
19739 * configure.ac: Check for `limits.h'.
19740 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
19741
67951a53
RM
197422010-01-24 Robert Millan <rmh.grub@aybabtu.com>
19743
19744 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
19745 capitalize error strings.
19746
c273d4ce
ST
197472010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
19748
19749 * util/grub.d/10_hurd.in: Add a recovery mode.
19750
69be5b74
VS
197512010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
19752
19753 * configure.ac: Check for libgcc symbols with -nostdlib.
19754
fc9e5810
BC
197552010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
19756
19757 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
19758
4b358c0a
VS
197592010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19760
19761 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
19762 stack since heap may be unavailable at that point.
19763 (grub_ofconsole_gotoxy): Likewise.
19764
454fcd1c
VS
197652010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19766
19767 * configure.ac: Check for _restgpr_14_x.
19768 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
19769 and _savegpr_* prototypes.
19770
566863ca
RM
197712010-01-22 Robert Millan <rmh.grub@aybabtu.com>
19772
19773 Use generic grub_reboot() for i386-efi.
19774
19775 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
19776 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
19777 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
19778
bf86e59a
VS
197792010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19780
19781 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
19782 presence of "prefix" variable as it breaks when normal.mod is
19783 embedded.
19784
d645e0f8
VS
197852010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19786
19787 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
19788 stack since heap is unavailable at that point.
19789
f9ab2e25
VS
197902010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19791
19792 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
19793 (grub_freebsd_bootinfo): Rewritten.
19794 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
19795
01fc7054
VS
197962010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
19797
19798 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
19799
caab4fd6
RM
198002010-01-21 Robert Millan <rmh.grub@aybabtu.com>
19801
19802 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
19803 domain now.
19804
67eb1427
FZ
198052010-01-20 Felix Zielcke <fzielcke@z-51.de>
19806
19807 * util/misc.c (make_system_path_relative_to_its_root): Change the work
19808 around for handling "/" to the correct fix. Fix a memory leak. Use
19809 xstrdup instead of strdup.
19810
a9ed4ff3
VS
198112010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19812
19813 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
19814
198152010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
19816
19817 Optimise glyph lookup by Basic Multilingual Plane lookup array.
19818
19819 * font/font.c (struct grub_font): New member 'bmp_idx'.
19820 (font_init): Initialise 'bmp_idx'.
19821 (load_font_index): Fill 'bmp_idx'.
19822 (find_glyph): Make inline. Use bmp_idx for BMP characters.
19823
48209f4f
VS
198242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19825
19826 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
19827 unnecessary calls.
19828
9f0a4bb7
VS
198292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19830
19831 Move context handling out of the kernel.
19832
19833 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
19834 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
19835 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
19836 * conf/i386-efi.rmk: Likewise.
19837 * conf/i386-ieee1275.rmk: Likewise.
19838 * conf/i386-pc.rmk: Likewise.
19839 * conf/powerpc-ieee1275.rmk: Likewise.
19840 * conf/sparc64-ieee1275.rmk: Likewise.
19841 * conf/x86_64-efi.rmk: Likewise.
19842 * include/grub/env.h: Include grub/menu.h.
19843 (grub_env_var_type): Removed.
19844 (grub_env_var): Replaced field 'type' with 'global'.
19845 (grub_env_find): New prototype.
19846 (grub_env_context_open): Remove EXPORT_FUNC.
19847 (grub_env_context_close): Likewise.
19848 (grub_env_export): Likewise.
19849 (grub_env_set_data_slot): Removed.
19850 (grub_env_get_data_slot): Likewise.
19851 (grub_env_unset_data_slot): Likewise.
19852 (grub_env_unset_menu): New prototype.
19853 (grub_env_set_menu): Likewise.
19854 (grub_env_get_menu): Likewise.
19855 * include/grub/env_private.h: New file.
19856 * include/grub/normal.h (grub_context_init): New prototype.
19857 (grub_context_fini): Likewise.
19858 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
19859 * normal/context.c (grub_cmd_export): ... to here.
19860 * kern/env.c: Include env_private.h.
19861 (HASHSZ): Moved to include/grub/env_private.h.
19862 (grub_env_context): Likewise.
19863 (grub_env_sorted_var): Likewise.
19864 (current_context): Renamed from this ...
19865 (grub_current_context): ...to this. 'static' removed. All users updated.
19866 (grub_env_find): Removed 'static'.
19867 (grub_env_context_open): Moved to normal/context.c.
19868 (grub_env_context_close): Likewise.
19869 (grub_env_export): Likewise.
19870 (mangle_data_slot_name): Removed.
19871 (grub_env_set_data_slot): Likewise.
19872 (grub_env_get_data_slot): Likewise.
19873 (grub_env_unset_data_slot): Likewise.
19874 * kern/main.c (grub_set_root_dev): Don't export root.
19875 It will be done later.
19876 (grub_main): Don't export prefix.
19877 It will be done later.
19878 * normal/context.c: New file.
19879 * normal/main.c (free_menu): Use grub_env_unset_menu.
19880 (grub_normal_add_menu_entry): Use grub_env_get_menu.
19881 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
19882 (GRUB_MOD_INIT(normal)): Call grub_context_init.
19883 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
19884
8dd35b8c
VS
198852010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19886
19887 setpci support.
19888
19889 * commands/setpci.c: New file.
19890 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
19891 (setpci_mod_SOURCES): New variable.
19892 (setpci_mod_CFLAGS): Likewise.
19893 (setpci_mod_LDFLAGS): Likewise.
19894
449193d5
VS
198952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19896
19897 Byte-addressable PCI configuration space.
19898
19899 * bus/pci.c (grub_pci_make_address): Use byte address instead of
19900 dword address.
19901 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
19902 GRUB_PCI_REG_CACHELINE.
19903 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
19904 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
19905 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
19906 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
19907 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
19908 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
19909 grub_pci_make_address.
19910 (lock_rom_area): Likewise.
19911 * commands/lspci.c (grub_lspci_iter): Use macroses
19912 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
19913 of grub_pci_make_address.
19914 * disk/ata.c (grub_ata_pciinit): Likewise.
19915 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
19916 (GRUB_PCI_REG_VENDOR): Likewise.
19917 (GRUB_PCI_REG_DEVICE): Likewise.
19918 (GRUB_PCI_REG_COMMAND): Likewise.
19919 (GRUB_PCI_REG_STATUS): Likewise.
19920 (GRUB_PCI_REG_REVISION): Likewise.
19921 (GRUB_PCI_REG_CLASS): Likewise.
19922 (GRUB_PCI_REG_CACHELINE): Likewise.
19923 (GRUB_PCI_REG_LAT_TIMER): Likewise.
19924 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
19925 (GRUB_PCI_REG_BIST): Likewise.
19926 (GRUB_PCI_REG_ADDRESSES): Likewise.
19927 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19928 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19929 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19930 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19931 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19932 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
19933 (GRUB_PCI_REG_CIS_POINTER): Likewise.
19934 (GRUB_PCI_REG_SUBVENDOR): Likewise.
19935 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
19936 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
19937 (GRUB_PCI_REG_CAP_POINTER): Likewise.
19938 (GRUB_PCI_REG_IRQ_LINE): Likewise.
19939 (GRUB_PCI_REG_IRQ_PIN): Likewise.
19940 (GRUB_PCI_REG_MIN_GNT): Likewise.
19941 (GRUB_PCI_REG_MAX_LAT): Likewise.
19942 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
19943 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
19944 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 19945 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
19946 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
19947 space.
19948
96d73208
RM
199492010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19950
19951 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
19952 can be reliably determined to be supported.
19953
d4484482
RM
199542010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19955
19956 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
19957 that VESA is supported.
19958 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
19959 supported.
19960
00308ecf
VS
199612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19962
19963 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
19964
f66924a4
RM
199652010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19966
19967 * util/misc.c (make_system_path_relative_to_its_root): Work around
19968 special-casing of "/", as previous incarnation of this routine did.
19969
cbca0ada
VS
199702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19971
19972 Fix any-emu compilation.
19973
19974 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
19975 * grub_bin2h_SOURCES: New variable.
19976
34a66d99
RM
199772010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19978
19979 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
19980
94fabf58
RM
199812010-01-20 Robert Millan <rmh.grub@aybabtu.com>
19982
19983 * util/grub.d/00_header.in: Fix handling of locale_dir.
19984
02cf98ca
VS
199852010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19986
19987 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
19988 as possible unifont location (Gentoo).
19989 Reported by: Alexander Brüning
19990
327dbcd7
VS
199912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
19992
19993 Don't try to generate lists for kernel.img.
19994
19995 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
19996 (pkglib_MODULES): Remove kernel.img.
19997 (kernel_img_EXPORTS): Removed.
19998 (kernel_img_RELOCATABLE): New variable.
19999 * conf/x86_64-efi.rmk: Likewise.
20000 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
20001
ca467290
VS
200022010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20003
20004 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
20005 grub_xasprintf or grub_snprintf.
20006 (grub_vsprintf): Likewise.
20007 (grub_snprintf): New proto.
20008 (grub_vsnprintf): Likewise.
20009 (grub_xasprintf): Likewise.
20010 (grub_xvasprintf): Likewise.
20011 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
20012 (grub_sprintf): Removed.
20013 (grub_vsnprintf): New function.
20014 (grub_snprintf): Likewise.
20015 (grub_xvasprintf): Likewise.
20016 (grub_xasprintf): Likewise.
20017 (grub_vsprintf): Renamed to ...
20018 (grub_vsnprintf_real): ...this. New argument max_len.
20019
aca655fd
BC
200202010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
20021
20022 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
20023 fix grub-script-check warning.
20024
7ee92c32
VS
200252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20026
20027 * include/grub/font.h (grub_font_load): Fix prototype.
20028
f80927ca
VS
200292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20030
20031 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
20032
119c50ea
VS
200332010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20034
20035 * include/grub/x86_64/at_keyboard.h: New file.
20036
47d5f3c1
VS
200372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20038
20039 * loader/mips/linux.c: Include missing grub/i18n.h.
20040
55ff5266
RM
200412009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20042
20043 * normal/menu.c (notify_execution_failure): Clarify error message.
20044
c893cc87
RM
200452009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20046
20047 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
20048 return value (and revert all return statements). Update users.
20049
917dd370
CW
200502010-01-20 Dan Merillat <debian@dan.merillat.org>
20051
20052 * kern/device.c (grub_device_iterate): Allocate new part_ent
20053 structure based on sizeof (*p) rather than sizeof (p->next), to
20054 account for structure padding.
20055
20056 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
20057 disk is NULL, which might happen for LVM physical volumes with no
20058 LVM signature.
20059
d4a4ee57
RM
200602009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20061
20062 * loader/mips/linux.c (grub_cmd_initrd)
20063 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
20064
200652009-12-20 Robert Millan <rmh.grub@aybabtu.com>
20066
20067 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
20068 (grub_video_video_init, grub_video_bitmap_init)
20069 (grub_font_manager_init, grub_term_gfxterm_init)
20070 (grub_at_keyboard_init): New extern declarations.
20071 (grub_machine_init): Initialize gfxterm and at_keyboard.
20072
20073 * kern/main.c (grub_main): Revert grub_printf delay kludge.
20074
20075 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
20076 `gfxterm.mod' into core image.
20077
20078 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20079 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20080 (kernel_img_FORMAT): Copy to ...
20081
20082 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20083 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20084 (kernel_img_FORMAT): ... here, and ...
20085
20086 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
20087 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20088 (kernel_img_FORMAT): ... here.
20089
20090 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
20091 and input (at_keyboard) terminals in kernel.
20092 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
20093
20094 (pkglib_MODULES): Remove `pci.mod'.
20095 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
20096 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
20097 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
20098 (at_keyboard_mod_LDFLAGS): Remove variables.
20099
201002010-01-11 Felix Zielcke <fzielcke@z-51.de>
20101
20102 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
20103
201042009-12-10 Robert Millan <rmh.grub@aybabtu.com>
20105
20106 * include/grub/mips/libgcc.h: Only export symbols for functions
20107 that libgcc provides.
20108
201092009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
20110
20111 MIPS support.
20112
20113 * bus/bonito.c: New file.
20114 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
20115 GRUB_PCI_NUM_DEVICES.
20116 * term/i386/pc/serial.c: Move to ...
20117 * term/serial.c: ... here. All users updated.
20118 * util/i386/pc/grub-mkimage.c: Move to ...
20119 * util/grub-mkrawimage.c: ... here. All users updated.
20120 * term/i386/pc/at_keyboard.c: Move to ...
20121 * term/at_keyboard.c: ... here. All users updated.
20122 * conf/mips-qemu-mips.rmk: New file.
20123 * conf/mips-yeeloong.rmk: Likewise.
20124 * conf/mips.rmk: Likewise.
20125 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
20126 mipsel-qemu-mips.
20127 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
20128 to port addresses.
20129 (grub_ata_pciinit): Support CS5536.
20130 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
20131 * font/font_cmd.c (loadfont_command): Open file before passing it to
20132 grub_font_load.
20133 (pseudo_file_read): New function.
20134 (pseudo_file_close): Likewise.
20135 (pseudo_fs): New structure.
20136 (load_font_module): New function.
20137 (GRUB_MOD_INIT(font_manager)): Load embedded font.
20138 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
20139 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
20140 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
20141 * include/grub/i386/at_keyboard.h: Split into ...
20142 * include/grub/at_keyboard.h: ... this ...
20143 * include/grub/i386/at_keyboard.h: ... and this.
20144 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
20145 New prototype.
20146 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
20147 updated.
20148 (grub_elf64_size): Likewise.
20149 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
20150 filename.
20151 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
20152 * include/grub/i386/coreboot/serial.h: Rewritten.
20153 * include/grub/i386/ieee1275/serial.h: Include
20154 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
20155 * include/grub/i386/pc/serial.h: Moved from here ...
20156 * include/grub/serial.h: ... to here. All users updated.
20157 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
20158 (GRUB_PCI_NUM_BUS): Likewise.
20159 (GRUB_PCI_NUM_DEVICES): Likewise.
20160 (grub_pci_device_map_range): Add missing volatile keyword.
20161 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
20162 * include/grub/mips/at_keyboard.h: New file.
20163 * include/grub/mips/cache.h: Likewise.
20164 * include/grub/mips/io.h: Likewise.
20165 * include/grub/mips/kernel.h: Likewise.
20166 * include/grub/mips/libgcc.h: Likewise.
20167 * include/grub/mips/pci.h: Likewise.
20168 * include/grub/mips/qemu-mips/boot.h: Likewise.
20169 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20170 * include/grub/mips/qemu-mips/loader.h: Likewise.
20171 * include/grub/mips/qemu-mips/memory.h: Likewise.
20172 * include/grub/mips/qemu-mips/serial.h: Likewise.
20173 * include/grub/mips/qemu-mips/time.h: Likewise.
20174 * include/grub/mips/relocator.h: Likewise.
20175 * include/grub/mips/time.h: Likewise.
20176 * include/grub/mips/types.h: Likewise.
20177 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
20178 * include/grub/mips/yeeloong/boot.h: Likewise.
20179 * include/grub/mips/yeeloong/kernel.h: Likewise.
20180 * include/grub/mips/yeeloong/loader.h: Likewise.
20181 * include/grub/mips/yeeloong/memory.h: Likewise.
20182 * include/grub/mips/yeeloong/pci.h: Likewise.
20183 * include/grub/mips/yeeloong/serial.h: Likewise.
20184 * include/grub/mips/yeeloong/time.h: Likewise.
20185 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
20186 * kern/elf.c (grub_elf32_size): New parameter. All users
20187 updated.
20188 (grub_elf64_size): Likewise.
20189 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
20190 Load modules before saying "Welcome to GRUB!".
20191 Call grub_refresh after saying "Welcome to GRUB!".
20192 * kern/mips/cache.S: New file.
20193 * kern/mips/cache_flush.S: Likewise.
20194 * kern/mips/dl.c: Likewise.
20195 * kern/mips/init.c: Likewise.
20196 * kern/mips/qemu-mips/init.c: Likewise.
20197 * kern/mips/startup.S: Likewise.
20198 * kern/mips/yeeloong/init.c: Likewise.
20199 * kern/term.c (grub_putcode): Handle NULL terminal.
20200 (grub_getcharwidth): Likewise.
20201 (grub_getkey): Likewise.
20202 (grub_checkkey): Likewise.
20203 (grub_getkeystatus): Likewise.
20204 (grub_getxy): Likewise.
20205 (grub_getwh): Likewise.
20206 (grub_gotoxy): Likewise.
20207 (grub_cls): Likewise.
20208 (grub_setcolorstate): Likewise.
20209 (grub_setcolor): Likewise.
20210 (grub_getcolor): Likewise.
20211 (grub_refresh): Likewise.
20212 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
20213 (write_jump): Add hatch nop.
20214 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
20215 * lib/mips/setjmp.S: New file.
20216 * loader/mips/linux.c: Likewise.
20217 * term/i386/pc/at_keyboard.c: Move from here ...
20218 * term/at_keyboard.c: ... to here.
20219 * term/i386/pc/serial.c: Moved from here ...
20220 * term/serial.c: ... to here. All users updated.
20221 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
20222 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
20223 (serial_translate_key_sequence): Avoid deadlock.
20224 (grub_serial_getkey): Handle backspace.
20225 (grub_serial_putchar): Fix newline handling.
20226 * util/i386/pc/grub-mkimage.c: Move from here ...
20227 * util/grub-mkrawimage.c: ... to here. All users updated.
20228 (generate_image): New parameters 'font_path' and 'format'.
20229 Support embedding font.
20230 Use grub_host_to_target* instead of grub_cpu_to_le*.
20231 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
20232 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
20233 (options): New option "--font".
20234 (usage): Likewise.
20235 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
20236 (main): Handle "--font".
20237 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
20238 (grub_virtual_screen_setup): Set bg_color_display.
20239 (redraw_screen_rect): Use bg_color_display instead of incorrect
20240 bg_color.
20241 (grub_gfxterm_cls): Likewise.
20242 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
20243 Support embedding config file.
20244 (add_segments): Likewise.
20245 (options): New option "--config".
20246 (main): Handle "--config".
20247 * video/sm712.c: New file.
20248
25c2b5b3
RM
202492010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20250
20251 Fix parallel builds.
20252
20253 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
20254 font.c depend on ascii.h).
20255
202562010-01-12 Carles Pina i Estany <carles@pina.cat>
20257
20258 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
20259
202602010-01-11 Carles Pina i Estany <carles@pina.cat>
20261
20262 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
20263 By default: disabled.
20264 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
20265 parameter.
20266
202672010-01-10 Carles Pina i Estany <carles@pina.cat>
20268
20269 * font/font.c: Update copyright years.
20270 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
20271
202722010-01-10 Carles Pina i Estany <carles@pina.cat>
20273
20274 * font/font.c: Include `ascii.h'.
20275 (ASCII_BITMAP_SIZE): New macro.
20276 (ascii_font_glyph): Define.
20277 (ascii_glyph_lookup): New function.
20278 (grub_font_get_string_width): Change comment. If glyph not found, use
20279 ascii_glyph_lookup.
20280 (grub_font_get_glyph_with_fallback): If glyph not available returns
20281 ascii_glyph_lookup.
20282 * util/grub-mkfont.c (file_formats): New enum.
20283 (options): Add `ascii-bitmaps' new option.
20284 (usage): Add `asii-bitmaps' new option.
20285 (write_font_ascii_bitmap): New function.
20286 (write_font): Rename to ...
20287 (write_font_p2): ... this. Remove print_glyphs call.
20288 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
20289 used. Call print_glyphs.
20290 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
20291
202922010-01-14 Robert Millan <rmh.grub@aybabtu.com>
20293
20294 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
20295 (grub_bin2h_SOURCES): New variable.
20296 * util/bin2h.c: New file.
20297
915fc1b8
VS
202982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
20299
20300 * include/multiboot.h: Resynced with spec.
20301 * include/multiboot2.h: Likewise.
20302 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
20303 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
20304
9444b678
RM
203052010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20306
20307 * include/grub/term.h (grub_term_register_input,
20308 grub_term_register_output): Check return of terminal init()
20309 routines, and abort if errors are raised.
20310
20311 * commands/terminal.c: Update copyright year.
20312
cba98e8d
RM
203132010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20314
20315 * commands/terminal.c (grub_cmd_terminal_input)
20316 (grub_cmd_terminal_output): Check return of terminal init()
20317 routines, and abort if errors are raised.
20318
6f7db5d6
VS
203192010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20320
20321 * include/grub/i386/bsd.h: Fix include pathes.
20322
262bff8d
VS
203232010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
20324
20325 Add missing *BSD copyright headers.
20326
20327 * include/grub/aout.h: Add BSD licence.
20328 * include/grub/i386/bsd.h: Parts under different licences moved to ...
20329 * include/grub/i386/freebsd_linker.h: ... here,
20330 * include/grub/i386/freebsd_reboot.h: ... here,
20331 * include/grub/i386/netbsd_bootinfo.h: ... here,
20332 * include/grub/i386/netbsd_reboot.h: ... here,
20333 * include/grub/i386/openbsd_bootarg.h: ... here,
20334 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
20335 licence to each file.
20336
b2cab848
RM
203372010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20338
20339 * acinclude.m4: Remove `nop' assembly instruction; it's not
20340 implemented by all architectures.
20341
2cb6be4b
RM
203422010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20343
20344 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
20345 ELILO. This is no longer necessary.
20346
a2eaee15
BC
203472010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
20348
20349 Added new tool, grub-scrit-check to verify grub.cfg syntax.
20350
20351 * util/grub-script-check.c: grub-script-check tool.
20352 * conf/common.rmk: Make rules for grub-script-check.
20353
88d17012
RM
203542010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20355
20356 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
20357 spotting it back in 2008. Shame on me for forgetting he did.
20358
20359 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
20360
8040619d
RM
203612010-01-18 Robert Millan <rmh.grub@aybabtu.com>
20362
20363 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
20364 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
20365 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
20366 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
20367 (GRUB_VIDEO_TYPE_EFI): Rename to ...
20368 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
20369
a0c2a0f6
RM
203702010-01-17 Robert Millan <rmh.grub@aybabtu.com>
20371
20372 * include/grub/test.h: Add license header.
20373 * tests/example_functional_test.c: Likewise.
20374 * tests/example_unit_test.c: Likewise.
20375 * tests/lib/functional_test.c: Likewise.
20376 * tests/lib/test.c: Likewise.
20377 * tests/lib/unit_test.c: Likewise.
20378
b0b13907
VS
203792010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
20380
20381 Use flag-based instead of hook-based video mode selection and "auto"
20382 keyword.
20383
20384 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
20385 (grub_video_set_mode): Changed prototype. All users updated.
20386 (grub_video_check_mode_flag): New inline function.
20387 * video/video.c (parse_modespec): New function.
20388 (grub_video_set_mode): Parse flags and keywords.
20389
ea379330 203902010-01-17 Carles Pina i Estany <carles@pina.cat>
20391
20392 * util/misc.c (grub_util_info): Fix the order of the parameters in a
20393 fprintf call.
20394
e15c215e
FZ
203952010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
20396
20397 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
20398
409ae1c9 203992010-01-16 Carles Pina i Estany <carles@pina.cat>
20400
20401 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
20402 string.
20403 * util/grub-emu.c (usage): Likewise.
20404 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
20405 * util/i386/efi/grub-mkimage.c (usage): Likewise.
20406 * util/i386/pc/grub-mkimage.c (usage): Likewise.
20407 * util/i386/pc/grub-setup.c (usage): Likewise.
20408
70a14d3d 204092010-01-16 Carles Pina i Estany <carles@pina.cat>
20410
20411 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
20412 the message.
20413 (grub_util_info): Likewise.
20414 (grub_util_error): Likewise.
20415 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
20416 and/or new lines in `grub_util_warna', `grub_util_info',
20417 `grub_util_error' calls.
20418 * util/getroot.c: Likewise.
20419 * util/grub-editenv.c: Likewise.
20420 * util/grub-emu.c: Likewise.
20421 * util/grub-fstest.c: Likewise.
20422 * util/grub-mkdevicemap.c: Likewise.
20423 * util/grub-mkfont.c: Likewise.
20424 * util/grub-mkpasswd-pbkdf2.c: Likewise.
20425 * util/grub-mkrelpath.c: Likewise.
20426 * util/grub-pe2elf.c: Likewise.
20427 * util/grub-probe.c: Likewise.
20428 * util/hostdisk.c: Likewise.
20429 * util/i386/efi/grub-mkimage.c: Likewise.
20430 * util/i386/pc/grub-mkimage.c: Likewise.
20431 * util/i386/pc/grub-setup.c: Likewise.
20432 * util/ieee1275/ofpath.c: Likewise.
20433 * util/mkisofs/eltorito.c: Likewise.
20434 * util/mkisofs/rock.c: Likewise.
20435 * util/mkisofs/write.c: Likewise.
20436 * util/raid.c: Likewise.
20437 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
20438 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20439
a0b766fc
VS
204402010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20441
20442 Enable multiboot on non-pc.
20443
20444 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
20445 multiboot.mod and multiboot2.mod to ...
20446 * conf/i386.rmk (pkglib_MODULES): ... here.
20447 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
20448 Moved to ...
20449 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
20450 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
20451 Moved to ...
20452 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
20453 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
20454 Moved to ...
20455 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
20456 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
20457 Moved to ...
20458 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
20459 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
20460 relocator.mod.
20461 (ata_mod_SOURCES): Removed.
20462 (ata_mod_CFLAGS): Likewise.
20463 (ata_mod_LDFLAGS): Likewise.
20464 (relocator_mod_SOURCES): Removed.
20465 (relocator_mod_CFLAGS): Likewise.
20466 (relocator_mod_ASFLAGS): Likewise.
20467 (relocator_mod_LDFLAGS): Likewise.
20468 Include i386.mk.
20469 * include/grub/x86_64/multiboot.h: New file.
20470 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
20471 Terminate EFI.
20472
884ade56
VS
204732010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20474
20475 Video multiboot support.
20476
20477 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
20478 New prototype.
20479 * include/multiboot.h: Resynced with multiboot specification.
20480 * include/multiboot2.h: Likewise.
20481 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
20482 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
20483 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
20484 (HAS_VGA_TEXT): Likewise.
20485 (accepts_video): New variable.
20486 (grub_multiboot_set_accepts_video): New function.
20487 (grub_multiboot_get_mbi_size): Account for video structures.
20488 (set_video_mode): New function.
20489 (retrieve_video_parameters): Likewise.
20490 (grub_multiboot_make_mbi): Fill video fields.
20491
0d90e8a6
VS
204922010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
20493
20494 Video driver ids.
20495
20496 * include/grub/video.h (grub_video_driver_id): New type.
20497 (grub_video_adapter): New member 'id'. All users updated.
20498 (grub_video_get_driver_id): New proto.
20499 * video/video.c (grub_video_get_driver_id): New function.
20500
5c71db1b 205012010-01-14 Carles Pina i Estany <carles@pina.cat>
20502
20503 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
20504 `var=val'.
20505
cca15b52 205062010-01-14 Carles Pina i Estany <carles@pina.cat>
20507
20508 * normal/cmdline.c (print_completion): Gettextizze.
20509
c586fbb2 205102001-01-14 Carles Pina i Estany <carles@pina.cat>
20511
20512 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
20513
ba2f6848 205142010-01-14 Carles Pina i Estany <carles@pina.cat>
20515
20516 * gettext/gettext.c (grub_gettext_translate): Push and pop
20517 grub_errno.
20518 (grub_gettext_delete_list): Change comment style.
20519 * kern/err.c (grub_error): Gettextizze.
20520 (grub_fatal): Gettextizze.
20521
0a46429a
RM
205222010-01-14 Robert Millan <rmh.grub@aybabtu.com>
20523
20524 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
20525 (grub_linux16_real_boot): ... this.
20526 * kern/i386/loader.S: Likewise.
20527 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
20528 (grub_linux16_boot): New function. Switches to text mode and calls
20529 grub_linux16_real_boot().
20530
20531 * loader/i386/bsd.c: Include `<grub/video.h>'.
20532 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
20533 text mode before calling grub_unix_real_boot().
20534
20535 * loader/i386/multiboot.c: Include `<grub/video.h>'.
20536 (grub_multiboot_boot): Switch to text mode before calling
20537 grub_relocator32_boot().
20538
20539 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
20540 (grub_chainloader_boot): Switch to text mode before calling
20541 grub_chainloader_real_boot().
20542
d6f93a66
RM
205432010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
205442010-01-05 Colin Watson <cjwatson@ubuntu.com>
20545
20546 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
20547 non-empty value.
20548
205492010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
205502010-01-05 Colin Watson <cjwatson@ubuntu.com>
20551
20552 * util/grub.d/00_header.in: Define a "savedefault" function for use
20553 in menu entries.
20554 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
20555
205562010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
205572010-01-05 Colin Watson <cjwatson@ubuntu.com>
20558
20559 * util/grub-mkconfig_lib.in (save_default_entry): Only set
20560 saved_entry if boot_once is unset.
20561 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
20562 previous saved entry (i.e. grub-reboot).
20563
205642009-12-08 Colin Watson <cjwatson@ubuntu.com>
20565
20566 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
20567
205682009-12-08 Colin Watson <cjwatson@ubuntu.com>
20569
20570 * util/grub.d/00_header.in: Use `set var=val' rather than plain
20571 `var=val'.
20572 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
20573
205742009-12-08 Colin Watson <cjwatson@ubuntu.com>
20575
20576 * util/grub-reboot.in: Fix --version output.
20577 * util/grub-set-default.in: Likewise.
20578
205792009-12-08 Colin Watson <cjwatson@ubuntu.com>
20580
20581 * util/grub.d/00_header.in: Silently ignore zero-sized environment
20582 blocks.
20583
205842009-12-08 Colin Watson <cjwatson@ubuntu.com>
20585
20586 * util/grub.d/00_header.in: Quote the value assigned to `default',
20587 in case it contains spaces.
20588
205892009-12-08 Colin Watson <cjwatson@ubuntu.com>
20590
20591 * util/grub.d/30_os-prober.in: Fix merge error that moved a
20592 `save_default_entry' call from the macosx case to the linux case.
20593
205942009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
205952009-10-25 Colin Watson <cjwatson@ubuntu.com>
20596
20597 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
20598 in `chosen' environment variable.
20599 * normal/menu_text.c (get_entry_number): Check if the variable
20600 matches the title of a menu entry.
20601 (run_menu): Pass menu to get_entry_number.
20602
20603 * util/grub-reboot.in: New file.
20604 * util/grub-set-default.in: New file.
20605 * conf/common.rmk (grub-reboot): New utility.
20606 (grub-set-default): New utility.
20607
20608 * util/grub-mkconfig_lib.in (save_default_entry): New function.
20609 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
20610 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
20611 move it to `saved_entry' for the next boot. Load environment on
20612 initialisation.
20613 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
20614 * util/grub.d/10_hurd.in: Likewise.
20615 * util/grub.d/10_linux.in (linux_entry): Likewise.
20616 * util/grub.d/10_windows.in: Likewise.
20617 * util/grub.d/30_os-prober.in: Likewise.
20618
20619 * util/grub-install.in: Create environment block.
20620 * util/i386/efi/grub-install.in: Likewise.
20621 * util/ieee1275/grub-install.in: Likewise.
20622 * util/sparc64/ieee1275/grub-install.in: Likewise.
20623
0934d184
BC
206242010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
20625
20626 Unit testing framework for GRUB.
20627
20628 * Makefile.in: Test framework build rules for 'make check'.
20629 * conf/tests.rmk: Build rules for individual tests and framework.
20630
20631 * include/grub/test.h: Header file for whitebox tests.
20632 * tests/lib/functional_test.c: Framework support for whitebox
20633 functional tests.
20634 * tests/lib/test.c: Common whitebox testing code for unit and
20635 functional tests.
20636 * tests/lib/unit_test.c: Framework support for whitebox unit
20637 tests.
20638
20639 * tests/util/grub-shell-tester.in: Support utility for grub-script
20640 tests.
20641 * tests/util/grub-shell.in: Utility to execute grub-script
20642 commands in a Qemu instance.
20643
20644 * tests/example_functional_test.c: Example whitebox functional
20645 test.
20646 * tests/example_grub_script_test.in: Example grub-script test.
20647 * tests/example_scripted_test.in: Example scripted test.
20648 * tests/example_unit_test.c: Example whitebox unit test.
20649
9c4ffeeb
VS
206502010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
20651
20652 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
20653 Add loader/i386/multiboot_mbi.c.
20654 (multiboot2_mod_SOURCES): Likewise.
20655 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
20656 (multiboot2_mod_SOURCES): Likewise.
20657 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
20658 (grub_multiboot_make_mbi): Likewise.
20659 (grub_multiboot_free_mbi): Likewise.
20660 (grub_multiboot_init_mbi): Likewise.
20661 (grub_multiboot_add_module): Likewise.
20662 (grub_multiboot_set_bootdev): Likewise.
20663 * loader/i386/multiboot.c (mbi): Removed.
20664 (mbi_dest): Likewise.
20665 (alloc_mbi): New variable.
20666 (grub_multiboot_payload_size): Removed. All users updated.
20667 (grub_multiboot_pure_size): New variable.
20668 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
20669 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
20670 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
20671 (grub_fill_multiboot_mmap): Likewise.
20672 (grub_multiboot_get_bootdev): Likewise.
20673 (grub_multiboot): Use multiboot_mbi functions.
20674 * loader/i386/multiboot_mbi.c: New file.
20675
17383dfe
VS
206762010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20677
20678 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
20679 it would result in module crash.
20680
c1f28820
VS
206812010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
20682
20683 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
20684 (grub_ofconsole_getwh): Split to ...
20685 (grub_ofconsole_getwh): ... this.
20686 (grub_ofconsole_dimensions): ...and this.
20687 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
20688
58655a16
RM
206892010-01-13 Robert Millan <rmh.grub@aybabtu.com>
20690
20691 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
20692
10891398
VS
206932010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20694
20695 * loader/i386/pc/multiboot2.c: Removed stalled file.
20696
0b8a223c
VS
206972010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
20698
20699 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
20700 Reported by: Grégoire Sutre
20701
92ab12b0
RM
207022010-01-11 Robert Millan <rmh.grub@aybabtu.com>
20703
20704 * util/misc.c (canonicalize_file_name): New function.
20705 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
20706 instead of realpath().
20707
a788afb6
CW
207082010-01-11 Colin Watson <cjwatson@ubuntu.com>
20709
20710 * util/grub-install.in (usage): Clarify meaning of --root-directory,
20711 and make it clearer that it's optional. Based on confusion
20712 witnessed on IRC.
20713
ffa8e3d2
VS
207142010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20715
20716 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
20717 in premature implicit newline.
20718
e9060a9d
VS
207192010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
20720
20721 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
20722 which resulted in garbled command line at the end of screen.
20723
f0d0c0b7
RM
207242010-01-10 Robert Millan <rmh.grub@aybabtu.com>
20725
20726 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
20727 initialization with similar approach as with other Linux loaders.
20728
0e60bae7
RM
207292010-01-10 Robert Millan <rmh.grub@aybabtu.com>
20730
20731 Fix i386-ieee1275 build.
20732
20733 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
20734 and grub_term_height() for video_{width,height} initialization.
20735
207362010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
20737
20738 Fix grub-emu build.
20739
20740 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
20741
cdb3f378
RM
207422010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
207432010-01-09 Robert Millan <rmh.grub@aybabtu.com>
20744
20745 Support for multiple terminals.
20746
20747 * Makefile.in (pkglib_DATA): terminal.lst.
20748 (terminal.lst): New target.
20749 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
20750 (GRUB_MOD_INIT(handler)): Likewise.
20751 (GRUB_MOD_FINI(handler)): Likewise.
20752 * commands/help.c (grub_cmd_help): Handle multiple terminals.
20753 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
20754 * commands/sleep.c (do_print): Use grub_term_restore_pos.
20755 (grub_cmd_sleep): Use grub_term_save_pos.
20756 * commands/terminal.c: New file.
20757 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
20758 commands/terminal.c and lib/charset.c.
20759 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
20760 (pkglib_MODULES): Add terminal.mod.
20761 (terminal_mod_SOURCES): New variable.
20762 (terminal_mod_CFLAGS): Likewise.
20763 (terminal_mod_LDFLAGS): Likewise.
20764 * genhandlerlist.sh: Don't handle terminals.
20765 * genmk.rb: Generate terminal-*.lst.
20766 * genterminallist.sh: New file.
20767 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
20768 (grub_is_valid_utf8): Likewise.
20769 (grub_utf8_to_ucs4_alloc): Likewise.
20770 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
20771 (grub_menu_register_viewer): Changed argument.
20772 (grub_menu_try_text): New proto.
20773 (grub_gfxmenu_try_hook): New declaration.
20774 * include/grub/normal.h (grub_normal_exit_level): New declaration.
20775 (grub_menu_init_page): Additional argument term.
20776 (grub_normal_init_page): Likewise.
20777 (grub_cmdline_get): Arguments simplified.
20778 (grub_utf8_to_ucs4_alloc): Removed.
20779 (grub_print_ucs4): Additional argument term.
20780 (grub_getstringwidth): Likewise.
20781 (grub_print_message_indented): Likewise.
20782 (grub_menu_text_register_instances): New proto.
20783 (grub_show_menu): Likewise.
20784 (read_terminal_list): Likewise.
20785 (grub_set_more): Likewise.
20786 * include/grub/parser.h: Include handler.h.
20787 * include/grub/reader.h: Rewritten.
20788 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
20789 (GRUB_TERM_WIDTH): Changed to function.
20790 (GRUB_TERM_HEIGHT): Likewise.
20791 (GRUB_TERM_BORDER_WIDTH): Likewise.
20792 (GRUB_TERM_BORDER_HEIGHT): Likewise.
20793 (GRUB_TERM_NUM_ENTRIES): Likewise.
20794 (GRUB_TERM_ENTRY_WIDTH): Likewise.
20795 (GRUB_TERM_CURSOR_X): Likewise.
20796 (grub_term_input_class): Likewise.
20797 (grub_term_output_class): Likewise.
20798 (grub_term_outputs_disabled): New declaration.
20799 (grub_term_inputs_disabled): Likewise.
20800 (grub_term_outputs): Likewise.
20801 (grub_term_inputs): Likewise.
20802 (grub_term_register_input): Rewritten.
20803 (grub_term_register_output): Likewise.
20804 (grub_term_unregister_input): Likewise.
20805 (grub_term_unregister_output): Likewise.
20806 (FOR_ACTIVE_TERM_INPUTS): New macro.
20807 (FOR_DISABLED_TERM_INPUTS): Likewise.
20808 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
20809 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
20810 * include/grub/terminfo.h: Add oterm argument to all protypes.
20811 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
20812 Use grub_rescue_run.
20813 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
20814 All users updated.
20815 * kern/reader.c: Removed. All users updated.
20816 * kern/rescue_reader.c (grub_rescue_init): Removed.
20817 (grub_rescue_reader): Likewise.
20818 (grub_register_rescue_reader): Likewise.
20819 (grub_rescue_run): New function based on kern/reader.c.
20820 * kern/term.c: Adapted for multiterm.
20821 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
20822 (grub_is_valid_utf8): Likewise.
20823 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
20824 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
20825 right terminal.
20826 * loader/i386/linux.c (grub_linux_boot): Likewise.
20827 * normal/auth.c (grub_username_get): New function.
20828 (grub_auth_check_authentication): Use grub_username_get.
20829 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
20830 * normal/color.c: Adapt for multiterm.
20831 * normal/main.c (read_config_file): Don't use grub_reader_loop.
20832 (grub_normal_init_page): Additional argument term.
20833 (read_lists): Call read_terminal_lists.
20834 (grub_enter_normal_mode): Call grub_cmdline_run.
20835 Handle grub_normal_exit_level.
20836 (grub_cmd_normal): Make reentrant.
20837 (grub_cmd_normal_exit): New function.
20838 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
20839 * normal/menu.c: Adapt for multiterm.
20840 * normal/menu_entry.c: Likewise.
20841 * normal/menu_text.c: Likewise.
20842 * normal/menu_viewer.c: Removed. All users updated.
20843 * normal/term.c: New file.
20844 * util/console.c: Change order of includes to workaround a bug in
20845 ncurses headers.
20846 * term/terminfo.c: New argument oterm on all exported functions.
20847 All users updated.
20848 * util/grub-editenv.c (grub_term_input_class): Removed.
20849 (grub_term_output_class): Likewise.
20850
1a064917
RM
208512010-01-09 Robert Millan <rmh.grub@aybabtu.com>
20852
20853 Make loader output a bit more user-friendly.
20854
20855 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
20856 is being loaded. Likewise for the Hurd.
20857
20858 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
20859 that kernel of FreeBSD ${version} is being loaded.
20860
20861 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
20862 grub_dprintf().
20863 (grub_cmd_initrd): Likewise.
20864 * util/grub.d/10_linux.in (linux_entry): Print message indicating
20865 that Linux ${version} is being loaded. Likewise for initrd.
20866
5ce0a83a 208672010-01-09 Carles Pina i Estany <carles@pina.cat>
20868
20869 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
20870
809bbfeb 208712010-01-08 Carles Pina i Estany <carles@pina.cat>
20872
20873 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
20874 (GRUB_MOD_INIT): Gettextizze.
20875 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
20876 (GRUB_MOD_INIT): Gettextizze.
20877 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
20878 (grub_cmd_linux): Capitalise Linux.
20879 (GRUB_MOD_INIT): Gettextizze.
20880 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
20881 (grub_cmd_linux): Capitalise Linux.
20882 (GRUB_MOD_INIT): Gettextizze.
20883 * loader/i386/linux.c: Include `<grub/i18n.h>'.
20884 (grub_cmd_linux): Capitalise Linux.
20885 (GRUB_MOD_INIT): Gettextizze.
20886 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
20887 (GRUB_MOD_INIT): Gettextizze.
20888 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
20889 (grub_cmd_linux): Capitalise Linux.
20890 (GRUB_MOD_INIT): Gettextizze.
20891 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
20892 (grub_cpu_xnu_init): Gettextizze.
20893 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
20894 (GRUB_MOD_INIT): Gettextizze.
20895 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
20896 (GRUB_MOD_INIT): Gettextizze.
20897 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
20898 (grub_linux_load64): Capitalise Linux.
20899 (GRUB_MOD_INIT): Gettextizze.
20900 * loader/xnu.c: Include `<grub/i18n.h>'.
20901 (GRUB_MOD_INIT): Gettextizze.
20902 * po/POTFILES: Add `loader/efi/appleloader.c',
20903 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
20904 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
20905 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
20906 `loader/i386/xnu.c', `loader/multiboot_loader.c',
20907 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
20908 and `loader/xnu.c'.
20909
b394b2ca
RM
209102010-01-08 Robert Millan <rmh.grub@aybabtu.com>
20911
20912 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
20913
209142010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
20915
20916 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
20917 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
20918 * util/mkisofs/mkisofs.c (main): Readjust --version output.
20919
bc8b32b3
RM
209202010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20921
20922 Reset Multiboot 2 support. New loader implements the draft in
20923 /branches/multiboot2 and shares as much code as possible with the
20924 production Multiboot 1 implementation.
20925
20926 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
20927 * loader/multiboot2.c: Likewise.
20928 * loader/i386/multiboot_helper.S: Likewise.
20929 * include/multiboot2.h: Replace with latest version from the draft
20930 in /branches/multiboot2.
20931
20932 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
20933 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
20934 and `loader/multiboot2.c'.
20935 (pkglib_MODULES): Add `multiboot2.mod'.
20936 (multiboot2_mod_SOURCES): New variable.
20937 (multiboot2_mod_LDFLAGS): Likewise.
20938 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
20939
20940 * conf/i386-pc.rmk: Likewise.
20941
20942 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
20943 (multiboot_mod_SOURCES): Remove variable.
20944 (multiboot_mod_LDFLAGS): Likewise.
20945 (multiboot_mod_CFLAGS): Likewise.
20946
20947 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
20948 `<multiboot2.h>' instead of `<multiboot.h>'.
20949 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
20950 (MULTIBOOT_HEADER_MAGIC): New macros.
20951
20952 * loader/multiboot_loader.c (module_version_status): Remove variable.
20953 (find_multi_boot2_header): Remove function.
20954 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
20955 logic. Always check for the Multiboot version we're compiling for.
20956 (grub_cmd_module_loader): Likewise.
20957 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
20958 command instead of `multiboot'.
20959
5d2c52b8
RM
209602010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20961
20962 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
20963 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
20964 all users.
20965
53108d92
RM
209662010-01-07 Robert Millan <rmh.grub@aybabtu.com>
209672010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20968
20969 Fix breakage introduced with previous commit.
20970
20971 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
20972 commands.
20973 * normal/handler.c (read_handler_list): Revert part of previous commit
20974 affecting this file.
20975 * normal/main.c (read_lists): Move read_handler_list() call back to ...
20976 (grub_normal_execute): ... here.
20977
e2e936b2
RM
209782010-01-07 Robert Millan <rmh.grub@aybabtu.com>
20979
20980 Merge prefix-redefinition-fix branch.
20981
20982 * normal/autofs.c (read_fs_list): Make function capable of being
20983 run multiple times, gracefuly replacing the previous data
20984 structures.
20985 * normal/dyncmd.c (read_command_list): Likewise.
20986 * normal/handler.c (read_handler_list): Likewise.
20987 * normal/main.c (read_lists): New function. Calls all the
20988 list reading functions.
20989 (grub_normal_execute): Use read_lists() instead of calling all
20990 list reading functions explicitly. Register read_lists() as a
20991 variable hook attached to ${prefix}.
20992
607a3701
VS
209932010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
20994
20995 Merge crypto branch.
20996
20997 * Makefile.in (pkglib_DATA): Add crypto.lst.
20998 (crypto.lst): New target.
20999 * commands/hashsum.c: New file.
21000 * commands/password.c (check_password): Use grub_crypto_memcmp.
21001 * commands/password_pbkdf2.c: New file.
21002 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
21003 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
21004 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
21005 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
21006 -I$(srcdir)/lib/libgcrypt_wrap.
21007 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
21008 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
21009 password_pbkdf2.mod.
21010 (crypto_mod_SOURCES): New variable.
21011 (crypto_mod_CFLAGS): Likewise.
21012 (crypto_mod_LDFLAGS): Likewise.
21013 (hashsum_mod_SOURCES): New variable.
21014 (hashsum_mod_CFLAGS): Likewise.
21015 (hashsum_mod_LDFLAGS): Likewise.
21016 (pbkdf2_mod_SOURCES): New variable.
21017 (pbkdf2_mod_CFLAGS): Likewise.
21018 (pbkdf2_mod_LDFLAGS): Likewise.
21019 (password_pbkdf2_mod_SOURCES): New variable.
21020 (password_pbkdf2_mod_CFLAGS): Likewise.
21021 (password_pbkdf2_mod_LDFLAGS): Likewise.
21022 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
21023 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
21024 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
21025 Include conf/gcry.rmk.
21026 * include/grub/auth.h: Rewritten.
21027 * include/grub/crypto.h: New file.
21028 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
21029 * include/grub/normal.h (read_crypto_list): New prototype.
21030 * lib/crypto.c: New file.
21031 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21032 * lib/pbkdf2.c: Likewise.
21033 * normal/auth.c (grub_auth_strcmp): Removed.
21034 (grub_iswordseparator): Likewise.
21035 (grub_auth_strword): Likewise.
21036 (is_authenticated): Use grub_strword.
21037 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
21038 and grub_strword. Pass entered password to authentication callback.
21039 * normal/crypto.c: New file.
21040 * normal/main.c: Call read_crypto_list.
21041 * util/grub-mkpasswd-pbkdf2.c: New file.
21042 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
21043
42841caa
VS
210442010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
21045
21046 Fix descent and ascent calculation.
21047
21048 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
21049 (options): New option "asce".
21050 (usage): Likewise.
21051 (add_char): Ignore invalid glyphs for descent calculation.
21052 Calculate ascent from actual content.
21053 (print_glyphs): Use 'asce'.
21054 (write_font): Likewise. Allow ascent override.
21055 (main): Handle "asce" option.
21056
e7730de7 210572010-01-06 Carles Pina i Estany <carles@pina.cat>
21058
21059 * kern/err.c: Include `<grub/i18n.h>'.
21060 (grub_print_error): Add full stop. Gettextizze.
21061 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
21062 (grub_bsd_load_elf): Capitalise ELF.
21063 (grub_cmd_freebsd_loadenv): Add `s' in error string.
21064 (grub_cmd_freebsd_module): Likewise.
21065 (grub_cmd_freebsd_module_elf): Likewise.
21066 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
21067
40e3a41f 210682010-01-06 Carles Pina i Estany <carles@pina.cat>
21069
21070 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
21071 * commands/search_file.c (HELP_MESSAGE): New macro.
21072 * commands/search_label.c (HELP_MESSAGE): Likewise.
21073 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
21074 * po/POTFILES: Add `commands/search_file.c',
21075 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
21076 `commands/search.c'.
21077
83507e68
RM
210782010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21079
21080 * config.rpath: Update from Gnulib.
21081
465c787b
YB
210822010-01-05 Yves Blusseau <blusseau@zetam.org>
21083
21084 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
21085
6581dd3a
YB
210862010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
21087
21088 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
21089
3bff18c5
CW
210902010-01-05 Colin Watson <cjwatson@ubuntu.com>
21091
21092 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
21093 arguments to fread so that we get a return value in bytes, rather
21094 than something that will normally be rounded down to 0.
21095 Adjust error handling to avoid producing garbage when size_t is not
21096 the same size as long long.
21097
a1368118
CW
210982010-01-05 Colin Watson <cjwatson@ubuntu.com>
21099
21100 * util/mkisofs/write.c (padblock_write): Check return value of
21101 fread.
21102
7c302978
RM
211032010-01-05 Robert Millan <rmh.grub@aybabtu.com>
21104
21105 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
21106 floppy images now.
21107
21108 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
21109
e33ace06
RM
211102010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21111
21112 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
21113 instead of manual alignment.
21114 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
21115 verbose). Avoid attempts to read past end of the device
21116 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
21117 but GRUB_DISK_CACHE_SIZE may exceed that).
21118
4b856776
RM
211192010-01-04 Robert Millan <rmh.grub@aybabtu.com>
21120
21121 * commands/crc.c (grub_cmd_crc): Abort on read errors.
21122 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
21123 it to upper layer.
21124
52c2d97f
VS
211252010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21126
21127 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
21128 New constant.
21129 (grub_efi_piwg_device_path): New structure
21130 (grub_efi_piwg_device_path_t): New type.
21131 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
21132 (devpath_1): Transform to a structure. All users updated.
21133 (devpath_2): Likewise.
21134 (devpath_3): Likewise.
21135 (devpath_4): Likewise.
21136 (devpath_5): Likewise.
21137
98ff6a54
VS
211382010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
21139
21140 * loader/efi/appleloader.c: Restored. Update all users.
21141
3a73dcb6
RM
211422010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21143
21144 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
21145
21146 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
21147 (struct boot_blocklist): Move from here ...
21148 * include/grub/i386/pc/boot.h [ASM_FILE]
21149 (struct grub_boot_blocklist): ... to here. Update all users.
21150 (setup): Only initialize `start' member of `first_block'
21151 structure. Add assert() calls to verify the other members.
21152
21153 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
21154 (generate_image): Fix broken blocklist length initialization.
21155 Add assert() call to verify blocklist `segment' field.
21156
ab0eeb0c
RM
211572010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21158
21159 * loader/efi/appleloader.c: Remove. Update all users.
21160
58bc8bd5
RM
211612010-01-03 Robert Millan <rmh.grub@aybabtu.com>
21162
21163 * boot/i386/pc/boot.S: Update copyright year.
21164 * boot/i386/pc/cdboot.S: Likewise.
21165 * boot/i386/pc/diskboot.S: Likewise.
21166 * boot/i386/pc/lnxboot.S: Likewise.
21167 * boot/i386/pc/pxeboot.S: Likewise.
21168 * bus/pci.c: Likewise.
21169 * commands/cmp.c: Likewise.
21170 * commands/help.c: Likewise.
21171 * commands/hexdump.c: Likewise.
21172 * commands/i386/pc/halt.c: Likewise.
21173 * commands/i386/pc/play.c: Likewise.
21174 * commands/i386/pc/vbeinfo.c: Likewise.
21175 * commands/ls.c: Likewise.
21176 * commands/test.c: Likewise.
21177 * disk/dmraid_nvidia.c: Likewise.
21178 * disk/i386/pc/biosdisk.c: Likewise.
21179 * disk/ieee1275/nand.c: Likewise.
21180 * disk/ieee1275/ofdisk.c: Likewise.
21181 * disk/lvm.c: Likewise.
21182 * disk/raid.c: Likewise.
21183 * disk/raid6_recover.c: Likewise.
21184 * disk/scsi.c: Likewise.
21185 * fs/affs.c: Likewise.
21186 * fs/cpio.c: Likewise.
21187 * fs/ext2.c: Likewise.
21188 * fs/hfs.c: Likewise.
21189 * fs/iso9660.c: Likewise.
21190 * fs/ntfs.c: Likewise.
21191 * fs/sfs.c: Likewise.
21192 * fs/udf.c: Likewise.
21193 * fs/ufs.c: Likewise.
21194 * fs/xfs.c: Likewise.
21195 * gencmdlist.sh: Likewise.
21196 * genmk.rb: Likewise.
21197 * include/grub/disk.h: Likewise.
21198 * include/grub/efi/api.h: Likewise.
21199 * include/grub/efi/efi.h: Likewise.
21200 * include/grub/efi/pe32.h: Likewise.
21201 * include/grub/elf.h: Likewise.
21202 * include/grub/fs.h: Likewise.
21203 * include/grub/i386/at_keyboard.h: Likewise.
21204 * include/grub/i386/pc/memory.h: Likewise.
21205 * include/grub/i386/pc/vbe.h: Likewise.
21206 * include/grub/i386/pci.h: Likewise.
21207 * include/grub/i386/tsc.h: Likewise.
21208 * include/grub/ieee1275/ieee1275.h: Likewise.
21209 * include/grub/ntfs.h: Likewise.
21210 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
21211 * include/grub/sparc64/libgcc.h: Likewise.
21212 * include/grub/symbol.h: Likewise.
21213 * include/grub/types.h: Likewise.
21214 * include/multiboot2.h: Likewise.
21215 * io/gzio.c: Likewise.
21216 * kern/device.c: Likewise.
21217 * kern/disk.c: Likewise.
21218 * kern/efi/efi.c: Likewise.
21219 * kern/efi/mm.c: Likewise.
21220 * kern/elf.c: Likewise.
21221 * kern/file.c: Likewise.
21222 * kern/i386/dl.c: Likewise.
21223 * kern/i386/pc/init.c: Likewise.
21224 * kern/i386/pc/startup.S: Likewise.
21225 * kern/ieee1275/ieee1275.c: Likewise.
21226 * kern/ieee1275/init.c: Likewise.
21227 * kern/main.c: Likewise.
21228 * kern/mm.c: Likewise.
21229 * kern/powerpc/dl.c: Likewise.
21230 * kern/sparc64/dl.c: Likewise.
21231 * kern/x86_64/dl.c: Likewise.
21232 * lib/hexdump.c: Likewise.
21233 * loader/efi/appleloader.c: Likewise.
21234 * loader/i386/ieee1275/linux.c: Likewise.
21235 * loader/i386/pc/chainloader.c: Likewise.
21236 * loader/i386/pc/linux.c: Likewise.
21237 * loader/i386/pc/multiboot2.c: Likewise.
21238 * loader/ieee1275/multiboot2.c: Likewise.
21239 * loader/multiboot2.c: Likewise.
21240 * loader/multiboot_loader.c: Likewise.
21241 * loader/powerpc/ieee1275/linux.c: Likewise.
21242 * normal/completion.c: Likewise.
21243 * normal/menu_entry.c: Likewise.
21244 * partmap/apple.c: Likewise.
21245 * util/grub.d/10_hurd.in: Likewise.
21246 * util/hostfs.c: Likewise.
21247 * video/readers/png.c: Likewise.
21248
e2d70b5c
CW
212492010-01-03 Colin Watson <cjwatson@ubuntu.com>
21250
21251 * include/grub/misc.h (GNUC_PREREQ): New macro.
21252 (ATTRIBUTE_ERROR): New macro.
21253 * include/grub/list.h (grub_bad_type_cast_real): Use
21254 ATTRIBUTE_ERROR.
21255
a173283f 212562010-01-03 Carles Pina i Estany <carles@pina.cat>
21257
21258 * normal/menu_text.c (print_message): Change messages.
21259
7fa7ff74 212602010-01-03 Carles Pina i Estany <carles@pina.cat>
21261
21262 * normal/menu_entry.c (store_completion): Gettextizze.
21263
136d24f6 212642010-01-03 Carles Pina i Estany <carles@pina.cat>
21265
21266 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
21267
f936862e 212682010-01-03 Carles Pina i Estany <carles@pina.cat>
21269
21270 * po/POTFILES: Sort correctly.
21271
29c44ad1 212722010-01-03 Carles Pina i Estany <carles@pina.cat>
21273
21274 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
21275 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
21276 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
21277 full stop.
21278 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
21279 summary. Gettextizze the strings.
21280 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
21281 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
21282 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
21283 full stop.
21284 (GRUB_MOD_INIT): Remove command name from summary.
21285 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
21286 summary.
21287 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
21288 * term/i386/pc/serial.c (options): Add full stops.
21289 (GRUB_MOD_INIT): Remove command name from the summary.
21290
77a79592 212912010-01-03 Carles Pina i Estany <carles@pina.cat>
21292
21293 * commands/acpi.c: Gettextizze help strings and/or options. Include
21294 `grub/i18n.h' if needed.
21295 * commands/blocklist.c: Likewise.
21296 * commands/boot.c: Likewise.
21297 * commands/cat.c: Likewise.
21298 * commands/cmp.c: Likewise.
21299 * commands/configfile.c: Likewise.
21300 * commands/crc.c: Likewise.
21301 * commands/date.c: Likewise.
21302 * commands/echo.c: Likewise.
21303 * commands/efi/fixvideo.c: Likewise.
21304 * commands/efi/loadbios.c: Likewise.
21305 * commands/gptsync.c: Likewise.
21306 * commands/halt.c: Likewise.
21307 * commands/handler.c: Likewise.
21308 * commands/hdparm.c: Likewise.
21309 * commands/hexdump.c: Likewise.
21310 * commands/i386/cpuid.c: Likewise.
21311 * commands/i386/pc/drivemap.c: Likewise.
21312 * commands/i386/pc/halt.c: Likewise.
21313 * commands/i386/pc/pxecmd.c: Likewise.
21314 * commands/i386/pc/vbeinfo.c: Likewise.
21315 * commands/i386/pc/vbetest.c: Likewise.
21316 * commands/ieee1275/suspend.c: Likewise.
21317 * commands/keystatus.c: Likewise.
21318 * commands/loadenv.c: Likewise.
21319 * commands/ls.c: Likewise.
21320 * commands/lsmmap.c: Likewise.
21321 * commands/lspci.c: Likewise.
21322 * commands/memrw.c: Likewise.
21323 * commands/minicmd.c: Likewise.
21324 * commands/parttool.c: Likewise.
21325 * commands/password.c: Likewise.
21326 * commands/probe.c: Likewise.
21327 * commands/read.c: Likewise.
21328 * commands/reboot.c: Likewise.
21329 * commands/search.c: Likewise.
21330 * commands/sleep.c: Likewise.
21331 * commands/test.c: Likewise.
21332 * commands/true.c: Likewise.
21333 * commands/usbtest.c: Likewise.
21334 * commands/videotest.c: Likewise.
21335 * commands/xnu_uuid.c: Likewise.
21336 * disk/loopback.c: Likewise.
21337 * hello/hello.c: Likewise.
21338 * loader/i386/bsd.c: Likewise.
21339 * term/i386/pc/serial.c: Likewise.
21340 * po/POTFILES: Add new files.
21341
da8d5c53
CW
213422010-01-02 Colin Watson <cjwatson@ubuntu.com>
21343
21344 * term/i386/pc/at_keyboard.c
21345 (keyboard_controller_wait_untill_ready): Rename to ...
21346 (keyboard_controller_wait_until_ready): ... this. Update all users.
21347
33937904 213482010-01-01 Carles Pina i Estany <carles@pina.cat>
21349
21350 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
21351 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
21352 string using string width.
21353 * normal/menu_text.c (grub_print_message_indented): Use
21354 grub_print_spaces and not print_spaces.
21355 (print_timeout): Likewise.
21356 (print_spaces): Move to...
21357 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
21358
3fd3b8d8
RM
213592010-01-01 Robert Millan <rmh.grub@aybabtu.com>
21360
21361 Import from Gnulib.
21362
21363 * gnulib/getdelim.c: New file.
21364 * gnulib/getline.c: Likewise.
21365
33433555
VS
213662009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
21367
21368 * include/grub/list.h (grub_assert_fail): Removed.
21369 (grub_bad_type_cast_real): New function.
21370 (grub_bad_type_cast): New macro.
21371 (GRUB_AS_LIST): Use grub_bad_type_cast.
21372 (GRUB_AS_LIST_P): Likewise.
e44721e8 21373 (GRUB_AS_NAMED_LIST): Likewise.
33433555 21374 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 21375 (GRUB_AS_PRIO_LIST): Likewise.
33433555 21376 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 21377 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 21378
f5a51306
VS
213792009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
21380
21381 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
21382 Fix syntax error.
21383
90d1e879
RM
213842009-12-29 Robert Millan <rmh.grub@aybabtu.com>
21385
21386 * configure.ac: Check for TARGET_CFLAGS initialization before we
21387 initialize it ourselves (sigh).
21388 Move a few modifications to TARGET_CFLAGS to be unconditional
21389 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
21390 eh_frame)
21391
21392 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
21393 * term/i386/pc/at_keyboard.c
21394 (keyboard_controller_wait_untill_ready): Likewise.
21395 (keyboard_controller_led): Rename `led_status' paramter to avoid
21396 name conflict.
21397
465b5a81 213982009-12-28 Carles Pina i Estany <carles@pina.cat>
21399
21400 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
21401 quotes.
21402
c181849b
VS
214032009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21404
21405 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
21406
9c8739a4
VS
214072009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21408
21409 * normal/menu_text.c (grub_print_message_indented): Prevent
21410 past-the-end-of-array dereference.
21411
3e74249c
VS
214122009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
21413
21414 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
21415 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
21416
64fd18ed 214172009-12-27 Carles Pina i Estany <carles@pina.cat>
21418
21419 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
21420 * normal/main.c (grub_normal_read_line): Remove a space from the
21421 default prompt.
21422
714af9b9 214232009-12-27 Carles Pina i Estany <carles@pina.cat>
21424
21425 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
21426 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21427 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
21428 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
21429 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21430 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21431 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21432
82f3e412 214332009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 21434
21435 * video/readers/jpeg.c (cmd): Declare.
21436 (grub_cmd_jpegtest): Use `grub_command_t' type.
21437 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21438 Assign to `cmd'.
21439 (GRUB_MOD_FINI): Use `cmd' to unregister.
21440 * video/readers/png.c (cmd): Declare.
21441 (grub_cmd_pngtest): Use `grub_command_t' type.
21442 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21443 Assign to `cmd'.
21444 (GRUB_MOD_FINI): Use `cmd' to unregister.
21445 * video/readers/tga.c (cmd): Declare.
21446 (grub_cmd_tgatest): Use `grub_command_t' type.
21447 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
21448 Assign to `cmd'.
21449 (GRUB_MOD_FINI): Use `cmd' to unregister.
21450
82f3e412 214512009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 21452
21453 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
21454 stops.
21455 * kern/corecmd.c (grub_register_core_commands): Likewise.
21456 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
21457 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
21458 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
21459 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21460 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
21461 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
21462 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
21463 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
21464 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21465 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
21466 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21467 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21468 * normal/handler.c (insert_handler): Likewise.
21469 * normal/main.c (GRUB_MOD_INIT): Likewise.
21470 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
21471
fdcdbb66 214722009-12-26 Carles Pina i Estany <carles@pina.cat>
21473
21474 * commands/help.c (grub_cmd_help): Print the command name before the
21475 summary.
21476 (GRUB_MOD_INIT): Remove command name from the summary.
21477 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 21478 string as summary.
fdcdbb66 21479 * lib/arg.c (find_long): Print the command name before the summary.
21480 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
21481 summary.
21482 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
21483 * commands/cat.c (GRUB_MOD_INIT): Likewise.
21484 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
21485 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
21486 * commands/crc.c (GRUB_MOD_INIT): Likewise.
21487 * commands/date.c (GRUB_MOD_INIT): Likewise.
21488 * commands/echo.c (GRUB_MOD_INIT): Likewise.
21489 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
21490 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
21491 * commands/handler.c (GRUB_MOD_INIT): Likewise.
21492 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
21493 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
21494 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
21495 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
21496 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
21497 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
21498 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
21499 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
21500 * commands/ls.c (GRUB_MOD_INIT): Likewise.
21501 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
21502 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
21503 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
21504 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
21505 * commands/password.c (GRUB_MOD_INIT): Likewise.
21506 * commands/probe.c (GRUB_MOD_INIT): Likewise.
21507 * commands/read.c (GRUB_MOD_INIT): Likewise.
21508 * commands/search.c (GRUB_MOD_INIT): Likewise.
21509 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
21510 * commands/test.c (GRUB_MOD_INIT): Likewise.
21511 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
21512 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
21513 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
21514 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
21515 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
21516 * lib/arg.c (GRUB_MOD_INIT): Likewise.
21517 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
21518 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
21519 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
21520 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
21521 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
21522 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
21523 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
21524 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
21525
9c288be2
VS
215262009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21527
21528 Use search command for preliminar UUID search.
21529
21530 * commands/search.c: Split into ...
21531 * commands/search_wrap.c: ...this
21532 * commands/search.c: ...and this.
21533 * commands/search_file.c: New file.
21534 * commands/search_label.c: New file.
21535 * commands/search_uuid.c: New file.
21536 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
21537 Add commands/search_wrap.c, commands/search_file.c,
21538 commands/search_label.c and commands/search_uuid.c.
21539 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
21540 (search_mod_SOURCES): Set to commands/search_wrap.c.
21541 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
21542 search_label.mod.
21543 (search_fs_file_mod_SOURCES): New variable.
21544 (search_fs_file_mod_CFLAGS): Likewise.
21545 (search_fs_file_mod_LDFLAGS): Likewise.
21546 (search_label_mod_SOURCES): Likewise.
21547 (search_label_mod_CFLAGS): Likewise.
21548 (search_label_mod_LDFLAGS): Likewise.
21549 (search_fs_uuid_mod_SOURCES): New variable.
21550 (search_fs_uuid_mod_CFLAGS): Likewise.
21551 (search_fs_uuid_mod_LDFLAGS): Likewise.
21552 (fs_file_mod_SOURCES): Removed.
21553 (fs_file_mod_CFLAGS): Likewise.
21554 (fs_file_mod_LDFLAGS): Likewise.
21555 (fs_uuid_mod_SOURCES): Removed.
21556 (fs_uuid_mod_CFLAGS): Likewise.
21557 (fs_uuid_mod_LDFLAGS): Likewise.
21558 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
21559 Set to util/grub-install.in.
21560 * disk/fs_file.c: Removed.
21561 * disk/fs_uuid.c: Likewise.
21562 * include/grub/search.h: New file.
21563 * util/grub-install.in: Handle sparc64.
21564 Create and use load.cfg.
21565 * util/sparc64/ieee1275/grub-install.in: Removed.
21566
db943399
VS
215672009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21568
21569 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
21570 Ignore return status if CF is cleared.
21571 (grub_biosdisk_get_diskinfo_standard): Likewise.
21572
3fdae612
RM
215732009-12-25 Robert Millan <rmh.grub@aybabtu.com>
21574
21575 * term/i386/pc/at_keyboard.c
21576 (keyboard_controller_wait_untill_ready): New function.
21577 (grub_keyboard_controller_write, grub_keyboard_controller_read)
21578 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
21579 for keyboard polling, rather than duplicate the same loop. This
21580 saves a few bytes in code size.
21581
7ebaa2b4
VS
215822009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
21583
21584 Support for (pxe[:server[:gateway]]) syntax and
21585 use environment variable for PXE.
21586
21587 * commands/i386/pc/pxecmd.c (options): Removed.
21588 (print_ip): Removed.
21589 (grub_cmd_pxe): Removed
21590 (grub_cmd_pxe_unload): New function.
21591 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
21592 (grub_pxe_your_ip): Made static.
21593 (grub_pxe_default_server_ip): Likewise.
21594 (grub_pxe_default_gateway_ip): Likewise.
21595 (grub_pxe_blksize): Likewise.
21596 (parse_ip): New function.
21597 (grub_pxe_open): Support server and gateway specification.
21598 (grub_pxe_close): Free disk->data.
21599 (grub_pxefs_open): Use disk->data.
21600 (grub_pxefs_read): Likewise.
21601 (grub_env_write_readonly): New function.
21602 (set_mac_env): Likewise.
21603 (set_env_limn_ro): Likewise.
21604 (parse_dhcp_vendor): Likewise.
21605 (grub_pxe_detect): Set the environment variables.
21606 (set_ip_env): New function.
21607 (write_ip_env): Likewise.
21608 (grub_env_write_pxe_default_server): Likewise.
21609 (grub_env_write_pxe_default_gateway): Likewise.
21610 (grub_env_write_pxe_blocksize): Likewise.
21611 (GRUB_MOD_INIT(pxe)): Set environment variables.
21612 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
21613 (grub_pxe_mac_addr_t): ... this. All users updated.
21614 (grub_pxe_your_ip): Removed.
21615 (grub_pxe_server_ip): Likewise.
21616 (grub_pxe_gateway_ip): Likewise.
21617 (grub_pxe_blksize): Likewise.
21618
ec5f98ab 216192009-12-25 Carles Pina i Estany <carles@pina.cat>
21620
21621 * commands/help.c: Include `<grub/i18n.h>'.
21622 (grub_cmd_help): Gettextizze.
21623 (GRUB_MOD_INIT): Likewise.
21624 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
21625 (GRUB_MOD_INIT): Gettextizze.
21626 * commands/search.c: Include `<grub/i18n.h>'.
21627 (options): Gettextizze.
21628 (GRUB_MOD_INIT): Gettextizze.
21629 * lib/arg.c: Include `<grub/i18n.h>'.
21630 (help_options): Gettextizze.
21631 (find_long): Likewise.
21632 (grub_arg_show_help): Likewise.
21633 * normal/dyncmd.c: Include `<grub/i18n.h>'.
21634 (read_command_list): Gettextizze.
21635 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 21636 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 21637
22815526
RM
216382009-12-25 Robert Millan <rmh.grub@aybabtu.com>
21639
21640 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
21641 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
21642 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
21643 (led_status): New variable.
21644 (keyboard_controller_led): New function.
21645 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
21646 update led status for caps lock, num lock and scroll lock.
21647
0ad46fd7
FZ
216482009-12-25 Felix Zielcke <fzielcke@z-51.de>
21649
21650 * util/hostdisk.c (open_device): Fix a comment.
21651
d0e158c2
RM
216522009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21653
21654 * util/grub-install.in (host_os): New variable.
21655 * util/i386/efi/grub-install.in (host_os): Likewise.
21656
401c0ad6
RM
216572009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21658
21659 * util/mkisofs/write.c (padblock_write): Abort when given an
21660 excedingly large embed image, instead of silently truncating it.
21661
d14d3370
RM
216622009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21663
21664 * include/multiboot.h: Indentation fixes.
21665
eeed10b4
RM
216662009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21667
21668 * include/multiboot.h (struct multiboot_aout_symbol_table)
21669 (struct multiboot_elf_section_header_table): New structure
21670 declarations (stolen from GRUB Legacy).
21671 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
21672 table information.
21673
21674 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
21675 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
21676 type aliases.
21677
681c70ab
RM
216782009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21679
21680 * include/multiboot.h: Make comments src2texi-friendly.
21681
e4d47d8d
RM
216822009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21683
21684 For consistency with [multiboot]/docs/boot.S.
21685
21686 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
21687 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
21688 (MULTIBOOT_MAGIC2): Rename from this ...
21689 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
21690
a0b70bda
RM
216912009-12-24 Robert Millan <rmh.grub@aybabtu.com>
21692
21693 * include/multiboot.h: Remove `<grub/types.h>'.
21694 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
21695 types. Update all users.
21696
61ba42be 216972009-12-25 Carles Pina i Estany <carles@pina.cat>
21698
21699 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
21700 `couldn't' and `can not' by `cannot'.
21701 * commands/i386/pc/drivemap.c: Likewise.
21702 * disk/ata.c: Likewise.
21703 * disk/ieee1275/nand.c: Likewise.
21704 * fs/affs.c: Likewise.
21705 * fs/fat.c: Likewise.
21706 * fs/hfs.c: Likewise.
21707 * fs/hfsplus.c: Likewise.
21708 * fs/iso9660.c: Likewise.
21709 * fs/jfs.c: Likewise.
21710 * fs/minix.c: Likewise.
21711 * fs/reiserfs.c: Likewise.
21712 * fs/sfs.c: Likewise.
21713 * fs/udf.c: Likewise.
21714 * fs/ufs.c: Likewise.
21715 * fs/xfs.c: Likewise.
21716 * loader/powerpc/ieee1275/linux.c: Likewise.
21717 * loader/sparc64/ieee1275/linux.c: Likewise.
21718 * util/grub-probe.c: Likewise.
21719 * util/misc.c: Likewise.
21720
7fd0baee 217212009-12-24 Carles Pina i Estany <carles@pina.cat>
21722
21723 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
21724 grub_errno calls.
21725 * commands/acpi.c: Likewise.
21726 * commands/blocklist.c: Likewise.
21727 * commands/efi/loadbios.c: Likewise.
21728 * commands/i386/pc/drivemap.c: Likewise.
21729 * commands/loadenv.c: Likewise.
21730 * commands/memrw.c: Likewise.
21731 * commands/password.c: Likewise.
21732 * commands/videotest.c: Likewise.
21733 * disk/ata.c: Likewise.
21734 * disk/ata_pthru.c: Likewise.
21735 * disk/dmraid_nvidia.c: Likewise.
21736 * disk/ieee1275/nand.c: Likewise.
21737 * disk/ieee1275/ofdisk.c: Likewise.
21738 * disk/loopback.c: Likewise.
21739 * disk/lvm.c: Likewise.
21740 * disk/mdraid_linux.c: Likewise.
21741 * disk/raid.c: Likewise.
21742 * disk/raid6_recover.c: Likewise.
21743 * disk/scsi.c: Likewise.
21744 * efiemu/main.c: Likewise.
21745 * efiemu/mm.c: Likewise.
21746 * efiemu/pnvram.c: Likewise.
21747 * efiemu/symbols.c: Likewise.
21748 * font/font.c: Likewise.
21749 * fs/cpio.c: Likewise.
21750 * fs/hfsplus.c: Likewise.
21751 * fs/iso9660.c: Likewise.
21752 * fs/jfs.c: Likewise.
21753 * fs/minix.c: Likewise.
21754 * fs/ntfs.c: Likewise.
21755 * fs/ntfscomp.c: Likewise.
21756 * fs/reiserfs.c: Likewise.
21757 * fs/ufs.c: Likewise.
21758 * fs/xfs.c: Likewise.
21759 * gettext/gettext.c: Likewise.
21760 * include/grub/auth.h: Likewise.
21761 * kern/elf.c: Likewise.
21762 * kern/file.c: Likewise.
21763 * kern/ieee1275/init.c: Likewise.
21764 * kern/ieee1275/mmap.c: Likewise.
21765 * kern/ieee1275/openfw.c: Likewise.
21766 * kern/powerpc/dl.c: Likewise.
21767 * kern/sparc64/dl.c: Likewise.
21768 * lib/arg.c: Likewise.
21769 * loader/i386/bsd.c: Likewise.
21770 * loader/i386/bsdXX.c: Likewise.
21771 * loader/i386/efi/linux.c: Likewise.
21772 * loader/i386/efi/xnu.c: Likewise.
21773 * loader/i386/ieee1275/linux.c: Likewise.
21774 * loader/i386/linux.c: Likewise.
21775 * loader/i386/multiboot.c: Likewise.
21776 * loader/i386/pc/linux.c: Likewise.
21777 * loader/i386/pc/multiboot2.c: Likewise.
21778 * loader/i386/xnu.c: Likewise.
21779 * loader/ieee1275/multiboot2.c: Likewise.
21780 * loader/macho.c: Likewise.
21781 * loader/machoXX.c: Likewise.
21782 * loader/multiboot2.c: Likewise.
21783 * loader/multiboot_loader.c: Likewise.
21784 * loader/powerpc/ieee1275/linux.c: Likewise.
21785 * loader/sparc64/ieee1275/linux.c: Likewise.
21786 * loader/xnu.c: Likewise.
21787 * loader/xnu_resume.c: Likewise.
21788 * mmap/i386/pc/mmap.c: Likewise.
21789 * normal/menu_viewer.c: Likewise.
21790 * partmap/acorn.c: Likewise.
21791 * partmap/amiga.c: Likewise.
21792 * partmap/apple.c: Likewise.
21793 * script/lexer.c: Likewise.
21794 * term/gfxterm.c: Likewise.
21795 * term/i386/pc/serial.c: Likewise.
21796 * term/i386/pc/vga.c: Likewise.
21797 * term/ieee1275/ofconsole.c: Likewise.
21798 * term/terminfo.c: Likewise.
21799 * video/bitmap.c: Likewise.
21800 * video/efi_gop.c: Likewise.
21801 * video/efi_uga.c: Likewise.
21802 * video/fb/video_fb.c: Likewise.
21803 * video/i386/pc/vbe.c: Likewise.
21804 * video/readers/tga.c: Likewise.
21805 * video/video.c: Likewise.
21806
0ad46fd7 218072009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
21808
21809 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
21810 * commands/lspci.c: Likewise.
21811 * commands/probe.c: Likewise.
21812 * commands/xnu_uuid.c: Likewise.
21813 * conf/i386-coreboot.rmk: Likewise.
21814 * conf/i386-efi.rmk: Likewise.
21815 * conf/i386-ieee1275.rmk: Likewise.
21816 * conf/i386-pc.rmk: Likewise.
21817 * conf/powerpc-ieee1275.rmk: Likewise.
21818 * conf/sparc64-ieee1275.rmk: Likewise.
21819 * conf/x86_64-efi.rmk: Likewise.
21820 * fs/i386/pc/pxe.c: Likewise.
21821 * gettext/gettext.c: Likewise.
21822 * include/grub/efi/graphics_output.h: Likewise.
21823 * include/grub/i386/pc/memory.h: Likewise.
21824 * kern/env.c: Likewise.
21825 * kern/i386/qemu/startup.S: Likewise.
21826 * lib/i386/pc/biosnum.c: Likewise.
21827 * lib/i386/relocator.c: Likewise.
21828 * lib/i386/relocator_asm.S: Likewise.
21829 * lib/relocator.c: Likewise.
21830 * loader/i386/bsd.c: Likewise.
21831 * loader/i386/multiboot.c: Likewise.
21832 * loader/i386/pc/chainloader.c: Likewise.
21833 * loader/i386/xnu.c: Likewise.
21834 * loader/xnu.c: Likewise.
21835 * normal/main.c: Likewise.
21836 * normal/menu_text.c: Likewise.
21837 * util/getroot.c: Likewise.
21838 * util/grub-mkconfig_lib.in: Likewise.
21839 * util/grub.d/00_header.in: Likewise.
21840 * util/i386/pc/grub-mkimage.c: Likewise.
21841 * util/mkisofs/eltorito.c: Likewise.
21842 * util/mkisofs/exclude.h: Likewise.
21843 * util/mkisofs/hash.c: Likewise.
21844 * util/mkisofs/iso9660.h: Likewise.
21845 * util/mkisofs/joliet.c: Likewise.
21846 * util/mkisofs/mkisofs.c: Likewise.
21847 * util/mkisofs/mkisofs.h: Likewise.
21848 * util/mkisofs/multi.c: Likewise.
21849 * util/mkisofs/name.c: Likewise.
21850 * util/mkisofs/rock.c: Likewise.
21851 * util/mkisofs/tree.c: Likewise.
21852 * util/mkisofs/write.c: Likewise.
21853 * video/efi_gop.c: Likewise.
21854
009ec743
VS
218552009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
21856
21857 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
21858 size counting.
21859
0ad46fd7 218602009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
21861
21862 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
21863 * genmk.rb (class SCRIPT): Modify the target file instead of source.
21864
d3d30ea0
VS
218652009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21866
21867 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
21868 (GRUB_MOD_INIT(memrw)): Update help line.
21869
a34f5c70
VS
218702009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21871
21872 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
21873 Use grub_extcmd_t. All users updated.
21874 (options): New variable.
21875 (grub_cmd_read): Restructure for readability. Support "-v" option.
21876 (grub_cmd_write): Restructure for readability.
21877
0ad46fd7 218782009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
21879
21880 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
21881
0ad46fd7 218822009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
21883
21884 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
21885 with the actual contents of the correspondending make variable.
21886 * util/grub-mkrescue.in (pkglib_DATA): New variable.
21887 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
21888 specifying `*.lst' and `efiemu??.o'
21889
0ad46fd7 218902009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
21891
21892 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
21893 after function name.
21894 Noticed by Rene Engelhard <rene@debian.org>.
21895
dc77a799
VS
218962009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21897
21898 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
21899 (options): New variable.
21900 (iospace): Likewise.
21901 (grub_lspci_iter): List IO spaces if "-i" was given.
21902 (grub_cmd_lspci): Parse options.
21903 (GRUB_MOD_INIT(lspci)): Use extcmd.
21904 (GRUB_MOD_FINI(lspci)): Likewise.
21905
0ad46fd7 219062009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
21907
21908 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
21909 `function' keyword.
21910 Patch by Tony Mancill <tmancill@debian.org>.
21911
b5d5993b
VS
219122009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
21913
21914 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
21915 (grub_uhci_portstatus): Likewise.
21916 (grub_uhci_portstatus): Add necessary delay.
11d18281 21917 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 21918
941903f2 219192009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 21920
941903f2 21921 * commands/acpi.c (options): Fix capitalizations and/or full stops.
21922 (GRUB_MOD_INIT): Likewise.
21923 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 21924 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
21925 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 21926 * commands/efi/loadbios.c (enable_rom_area): Likewise.
21927 (enable_rom_area): Likewise.
21928 (GRUB_MOD_INIT): Likewise.
21929 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
21930 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
21931 * commands/handler.c (GRUB_MOD_INIT): Likewise.
21932 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
21933 * commands/hexdump.c (options): Likewise.
21934 * commands/i386/cpuid.c (options): Likewise.
21935 (GRUB_MOD_INIT): Likewise.
21936 * commands/i386/pc/drivemap.c (options): Likewise.
21937 (GRUB_MOD_INIT): Likewise.
21938 * commands/i386/pc/halt (options): Likewise.
21939 (GRUB_MOD_INIT): Likewise.
21940 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
21941 * commands/i386/pc/pxecmd.c (options): Likewise.
21942 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
21943 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
21944 * commands/keystatus.c (options): Likewise.
21945 (GRUB_MOD_INIT): Likewise.
21946 * commands/loadenv.c (options): Likewise.
21947 * commands/ls.c (options): Likewise.
21948 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
21949 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
21950 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
21951 * commands/parttool.c (helpmsg): Likewise.
21952 * commands/probe.c (options): Likewise.
21953 * commands/read.c (GRUB_MOD_INIT): Likewise.
21954 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
21955 * commands/search.c (options): Likewise.
21956 * commands/sleep.c (options): Likewise.
21957 * commands/test.c (GRUB_MOD_INIT): Likewise.
21958 * commands/true.c (GRUB_MOD_INIT): Likewise.
21959 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
21960 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
21961 * lib/arg.c (help_options): Likewise.
e9bbb4e7 21962 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
21963 `$(XGETTEXT)'.
98a50553 21964 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 21965
0ad46fd7 219662009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 21967
ef3c2c3a 21968 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
21969 instead of specifying them explicit.
21970
7922f68b
RM
219712009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21972
21973 * NEWS: Add grub-probe support for GNU/Hurd.
21974
537ce47f
RM
219752009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21976
21977 * NEWS: gettext was added after 1.97.
21978
9b214e3a
RM
219792009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21980
21981 * util/mkisofs/msdos_partition.h: New file (based on
21982 include/grub/msdos_partition.h).
21983 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
21984 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
21985 (ld_options, main): Recognize --protective-msdos-label.
21986 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
21987 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
21988 (padblock_write): If `use_protective_msdos_label' is set, patch a
21989 protective DOS-style label in the output image.
21990
21991 * util/grub-mkrescue.in: Use --protective-msdos-label.
21992
e9309813
RM
219932009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21994
21995 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
21996 boot.
21997
0ae56929
RM
219982009-12-21 Robert Millan <rmh.grub@aybabtu.com>
21999
22000 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
22001 variables.
22002 (ld_options, main): Recognize `--embedded-boot'.
22003 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
22004 declarations.
22005 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
22006 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
22007 (padblock_write): Likewise. Rewrite to support embedded boot image.
22008
22009 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
22010 for BIOS-based disk boot instead of only ElTorito.
22011
b15937b1
RM
220122009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22013
22014 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
22015 build (not needed for bootstrap).
22016
52cc3ce0
RM
220172009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22018
22019 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
22020 from i386-pc build (not needed for bootstrap).
22021 Rewrite a pair of strings.
22022
36f5ff04
RM
220232009-12-21 Robert Millan <rmh.grub@aybabtu.com>
22024
22025 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
22026
973c6c85 220272009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
22028
22029 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
22030
05d21547
AB
220312009-12-21 Andreas Born <futur.andy@googlemail.com>
22032
22033 * kern/env.c (grub_env_context_open): Mark exported variable for
22034 reexport.
22035
0175d51f
AB
220362009-12-21 Andreas Born <futur.andy@googlemail.com>
22037
22038 * kern/env.c (grub_env_export): Create nonexistent variables before
22039 exporting.
22040
7f39d92f 220412009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 22042
7f39d92f 22043 * include/grub/auth.h: Include `<grub/i18n.h>'.
22044 (GRUB_GET_PASSWORD): Gettextizze string.
22045 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
22046 menu_text.c.
22047 (grub_utf8_to_ucs4_alloc): Fix indentation.
22048 (grub_print_ucs4): Likewise.
22049 (grub_getstringwidth): Likewise.
22050 (print_message_indented): New declaration.
22051 * normal/auth.c: Include `<grub/i18n.h>'.
22052 (grub_auth_check_authentication): Gettexttize string.
22053 * normal/cmdline.c: Include `<grub/i18n.h>'.
22054 (grub_cmdline_get): Gettextizze.
22055 * normal/color.c: Include `<grub/i18n.h>'.
22056 (grub_parse_color_name_pair): Gettexttize strings.
22057 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
22058 string (use `print_message_indented').
22059 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
22060 `include/grub/normal.h'.
22061 (print_message_indented): Renamed to ...
22062 (grub_print_message_indented): ... this. Remove `static' qualifer (now
22063 used in normal/main.c).
22064 (print_message): Use `grub_print_message_indented' instead of
22065 `print_message_indented'.
22066 (print_timeout): Likewise.
22067 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
22068 (grub_normal_print_device_info): Gettexttize strings.
22069 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
22070
3041d898
VS
220712009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22072
22073 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
22074 of arguments. Return number of tokens and not arguments. All users
22075 updated.
22076
de15bf8e
VS
220772009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
22078
22079 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
22080 non-MSDOS paritions.
22081
e0a6ca52
VS
220822009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
22083
22084 * include/grub/types.h (UNUSED): Removed since it conflicts with
22085 NetBSD headers. All users changed to direct __attribute__ ((unused)).
22086 Reported by Grégoire Sutre.
22087
b99518d1 220882009-12-19 Carles Pina i Estany <carles@pina.cat>
22089
22090 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
22091 (grub_print_ucs4_alloc): Likewise.
22092 (grub_getstringwidth): Likewise.
22093 * normal/main.c (grub_normal_init_page): Gettextize version string.
22094 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
22095 (getstringwidth): Renamed to ...
22096 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
22097 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
22098 (grub_print_ucs4): Remove `static' qualifer (now used in
22099 normal/main.c).
22100 * po/POTFILES: Add normal/main.c.
22101
bfd5e52b 221022009-12-19 Carles Pina i Estany <carles@pina.cat>
22103
22104 * normal/menu_text.c (STANDARD_MARGIN): New macro.
22105 (print_message_indented): Add `margin_left' and `margin_right'
22106 parameters.
22107 (print_message): Update `print_message_indented' calls. Adds '\n' to the
22108 strings.
22109 (print_timeout): Use `print_message_indented' to print the message.
22110 Deletes `second_stage' parameter.
22111 (run_menu): Update `print_timeout' calls.
22112
5a1ad2b9
VS
221132009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22114
22115 Fix console palette on OpenFirmware.
22116
22117 * term/ieee1275/ofconsole.c (MAX): Removed.
22118 (colors): Redone based on VGA palette.
22119 (grub_ofconsole_setcolor): Discard brightness bit since only 8
22120 colors are supported.
22121 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
22122
b045f00a
VS
221232009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22124
22125 Fix potential EfiEmu double prepare.
22126
22127 * efiemu/main.c (prepared): New variable
22128 (grub_efiemu_unload): Set prepare to '0'.
22129 (grub_efiemu_prepare): Return if already prepared. Set prepared.
22130
22131 set_virtual_address_map support.
22132
22133 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
22134 prototype.
22135 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
22136 prototype.
22137 (grub_efiemu_crc32): Likewise.
22138 (grub_efiemu_crc64): Likewise.
22139 (grub_efiemu_set_virtual_address_map): Likewise.
22140 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
22141 New definition.
22142 (grub_autoefi_set_virtual_address_map): Likewise.
22143 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
22144 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
22145 Restructure flow to accomodate it.
22146 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
22147 (grub_efiemu_crc): Recompute CRC32.
22148 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
22149 (efiemu_ptv_relocated): ... this. Made global. All users updated.
22150 * efiemu/symbols.c (relocated_handle): New variable.
22151 (grub_efiemu_free_syms): Free relocated_handle.
22152 (grub_efiemu_alloc_syms): Allocate relocated_handle.
22153 (grub_efiemu_write_sym_markers): New function.
22154 (grub_efiemu_set_virtual_address_map): Likewise.
22155
22156 Newer XNU parameters.
22157
22158 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
22159 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
22160 (grub_xnu_fill_devicetree): New prototype.
22161 (grub_xnu_heap_real_start): New variable.
22162 * loader/xnu.c (get_name_ptr): New function.
22163 (grub_xnu_load_driver): Fill namelen and name.
22164
22165 64-bit xnu support.
22166
22167 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
22168 and 'loader/macho64.c'.
22169 * conf/i386-pc.rmk: Likewise.
22170 * conf/x86_64-efi.rmk: Likewise.
22171 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
22172 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
22173 * include/grub/macho.h (grub_macho_segment64): New structure.
22174 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
22175 (grub_macho_size32): ... to this.
22176 (grub_macho32_get_entry_point): Renamed from ...
22177 (grub_macho_get_entry_point32): ... to this.
22178 (grub_macho_contains_macho64): New prototype.
22179 (grub_macho_size64): Likewise.
22180 (grub_macho_get_entry_point64): Likewise.
22181 (grub_macho32_load): Renamed from ...
22182 (grub_macho_load32): ... to this.
22183 (grub_macho32_filesize): Renamed from ...
22184 (grub_macho_filesize32): ... to this.
22185 (grub_macho32_readfile): Renamed from ...
22186 (grub_macho_readfile32): ... to this.
22187 (grub_macho_filesize64): New prototype.
22188 (grub_macho_readfile64): Likewise.
22189 (grub_macho_parse32): Likewise.
22190 (grub_macho_parse64): Likewise.
22191 * loader/macho.c: Split into ...
22192 * loader/machoXX.c: ... and this. Replace 32 with XX.
22193 * loader/macho32.c: New file.
22194 * loader/macho64.c: Likewise.
22195 * loader/xnu.c (grub_xnu_is_64bit): New variable.
22196 (grub_cmd_xnu_kernel): Make 32-bit only.
22197 (grub_cmd_xnu_kernel64): New function.
22198 (grub_xnu_load_driver): Support Mach-O 64.
22199 (grub_cmd_xnu_mkext): Likewise.
22200 * util/grub.d/30_os-prober.in (osx_entry): New function.
22201 Generate entries for 64-bit boot too.
22202
22203 Eliminate ad-hoc tree format in XNU and EfiEmu.
22204
22205 * efiemu/main.c (grub_efiemu_prepare): Update comment.
22206 * efiemu/pnvram.c: Rewritten to use environment variables.
22207 All users updated.
22208
22209 Inline utf16_to_utf8.
22210
22211 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
22212 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
22213 All users updated.
22214 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
22215
22216 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
22217 * commands/usbtest.c (grub_usb_get_string): ... move here.
22218 (usb_print_str): Fix error handling.
22219 * include/grub/usb.h (grub_usb_get_string): Remove.
22220
22221 UTF-8 to UTF-16 transformation.
22222
22223 * conf/common.rmk (pkglib_MODULES): Add charset.mod
22224 (charset_mod_SOURCES): New variable.
22225 (charset_mod_CFLAGS): Likewise.
22226 (charset_mod_LDFLAGS): Likewise.
22227 * include/grub/utf.h: New file.
22228 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
22229
22230 Support for device properties.
22231
22232 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
22233 (grub_xnu_devprop_device_header): Likewise.
22234 (grub_xnu_devprop_device_descriptor): Likewise.
22235 (grub_xnu_devprop_add_device): New prototype.
22236 (grub_xnu_devprop_remove_device): Likewise.
22237 (grub_xnu_devprop_remove_property): Likewise.
22238 (grub_xnu_devprop_add_property_utf8): Likewise.
22239 (grub_xnu_devprop_add_property_utf16): Likewise.
22240 (grub_cpu_xnu_init): Likewise.
22241 (grub_cpu_xnu_fini): Likewise.
22242 (grub_cpu_xnu_unload): Likewise.
22243 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
22244 (property_descriptor): Likewise.
22245 (devices): New variable.
22246 (grub_xnu_devprop_remove_property): New function.
22247 (grub_xnu_devprop_add_device): Likewise.
22248 (grub_xnu_devprop_remove_device): Likewise.
22249 (grub_xnu_devprop_add_property): Likewise.
22250 (grub_xnu_devprop_add_property_utf8): Likewise.
22251 (grub_xnu_devprop_add_property_utf16): Likewise.
22252 (hextoval): Likewise.
22253 (grub_cpu_xnu_fill_devprop): Likewise.
22254 (grub_cmd_devprop_load): Likewise.
22255 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
22256 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
22257 (cmd_devprop_load): New variable.
22258 (grub_cpu_xnu_init): New function.
22259 (grub_cpu_xnu_fini): Likewise.
22260 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
22261 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
22262 (grub_cmd_xnu_devtree): Likewise.
22263 (hextoval): New function.
22264 (unescape): Likewise.
22265 (grub_xnu_fill_devicetree): Likewise.
22266
22267 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
22268 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
22269
0945f181
VS
222702009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
22271
22272 Workaround for broken ATI VBE.
22273
22274 * video/i386/pc/vbe.c (last_set_mode): New variable.
22275 (grub_vbe_set_video_mode): Set 'last_set_mode'.
22276 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
22277 (grub_video_vbe_setup): Don't check for reserved flag.
22278
0ad46fd7 222792009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
22280
22281 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
22282 the `find' command.
22283
c179ebe4
VS
222842009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
22285
22286 UUID support for HFS.
22287
22288 * fs/hfs.c (grub_hfs_uuid): New function.
22289 (grub_hfs_fs): New value .uuid.
22290 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
22291
0ad46fd7 222922009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
22293
22294 Fix a segfault with parsing unknown long options.
22295
22296 * util/grub-mkrelpath.c (options): Zero terminate it.
22297
c4a3e41a
CPE
222982009-12-13 Carles Pina i Estany <carles@pina.cat>
22299
22300 * include/grub/misc.h (grub_puts): New declaration.
22301 (grub_puts_): Likewise.
a22008a6 22302 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
22303 (grub_puts_): Likewise.
22304
2e8a7602
RM
223052009-12-13 Robert Millan <rmh.grub@aybabtu.com>
22306
22307 * util/grub-probe.c (probe): Improve error message.
22308
b50b77b9
RM
223092009-12-13 Robert Millan <rmh.grub@aybabtu.com>
22310
22311 * loader/i386/multiboot_elfxx.c
22312 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
22313 initialization.
22314
223152009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22316
22317 Relocator framework
22318
22319 * loader/i386/xnu_helper.S: Removed. All users updated.
22320 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
22321 (relocator_mod_SOURCES): New variable.
22322 (relocator_mod_CFLAGS): Likewise.
22323 (relocator_mod_LDFLAGS): Likewise.
22324 (relocator_mod_ASFLAGS): Likewise.
22325 * conf/x86_64.rmk: Likewise.
22326 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
22327 (grub_multiboot_payload_entry_offset): Likewise.
22328 (grub_multiboot_forward_relocator): Likewise.
22329 (grub_multiboot_forward_relocator_end): Likewise.
22330 (grub_multiboot_backward_relocator): Likewise.
22331 (grub_multiboot_backward_relocator_end): Likewise.
22332 (grub_multiboot_payload_eip): New variable.
22333 (grub_multiboot_payload_orig): Likewise.
22334 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
22335 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
22336 * include/grub/i386/memory.h
22337 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
22338 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
22339 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
22340 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
22341 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
22342 * include/grub/i386/relocator.h: New file.
22343 * include/grub/x86_64/relocator.h: Likewise.
22344 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
22345 (XNU_RELOCATOR): New macro.
22346 (grub_xnu_launcher_start): Remove.
22347 (grub_xnu_launcher_end): Likewise.
22348 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
22349 (grub_xnu_heap_real_start): Remove.
22350 (grub_xnu_heap_start): Change to void *. All users updated.
22351 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
22352 * lib/i386/relocator.c: New file.
22353 * lib/i386/relocator_asm.S: Likewise.
22354 * lib/i386/relocator_backward.S: Likewise.
22355 * lib/mips/relocator.c: Likewise.
22356 * lib/mips/relocator_asm.S: Likewise.
22357 * lib/relocator.c: Likewise.
22358 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
22359 (entry): Removed.
22360 (playground): Likewise.
22361 (grub_multiboot_payload_orig): New variable.
22362 (grub_multiboot_payload_dest): Likewise.
22363 (grub_multiboot_payload_size): Likewise.
22364 (grub_multiboot_payload_eip): Likewise.
22365 (grub_multiboot_payload_esp): Likewise.
22366 (grub_multiboot_boot): Use grub_relocator32_boot.
22367 (grub_multiboot_unload): Free relocators.
22368 (grub_multiboot): Setup stack. Use relocators.
22369 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
22370 (grub_multiboot_load_elfXX): Use relocators.
22371 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
22372 (grub_multiboot_payload_size): Likewise.
22373 (grub_multiboot_payload_dest): Likewise.
22374 (grub_multiboot_payload_entry_offset): Likewise.
22375 (grub_multiboot_forward_relocator): Likewise.
22376 (grub_multiboot_backward_relocator): Likewise.
22377 (grub_multiboot_real_boot): Likewise.
22378 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
22379 (grub_xnu_entry_point): Likewise.
22380 (grub_xnu_arg1): Likewise.
22381 (grub_xnu_stack): Likewise.
22382 (grub_xnu_launch): Removed.
22383 (grub_xnu_boot_resume): New function.
22384 (grub_xnu_boot): Use relocators.
22385 * loader/i386/xnu_helper.S: Removed.
22386 * loader/xnu.c (grub_xnu_heap_start): New variable.
22387 (grub_xnu_heap_size): Likewise.
22388 (grub_xnu_heap_malloc): Use relocators.
22389 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
22390
29eb90c6
VS
223912009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
22392
22393 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
22394 anything.
22395
31027430
CPE
223962009-12-13 Carles Pina i Estany <carles@pina.cat>
22397
22398 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
22399 GRUB_ERR_NONE before calling grub_env_set.
22400
dc0c71d9
RM
224012009-12-12 Robert Millan <rmh@aybabtu.com>
22402
22403 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
22404 * genmk.rb (video): New variable.
22405 (CLEANFILES, VIDEOFILES): Add #{video}.
22406 (#{video}): New target rule.
22407 * genvideolist.sh: New file.
22408 * Makefile.in (pkglib_DATA): Add video.lst.
22409 (video.lst): New target rule.
22410 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
22411 `video.lst'.
22412 * util/grub.d/30_os-prober.in: Replace `vbe' with
22413 ${GRUB_VIDEO_BACKEND}.
22414
2a4bfcf0
RM
224152009-12-11 Robert Millan <rmh.grub@aybabtu.com>
22416
22417 * THANKS: Add David Miller.
22418
2a3aa4d5
RM
224192009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
22420
22421 libpciaccess support.
22422
22423 * Makefile.in (LIBPCIACCESS): New variable.
22424 (enable_grub_emu_pci): Likewise.
22425 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
22426 util/pci.c and commands/lspci.c.
22427 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
22428 * configure.ac (grub-emu-pci): New option.
22429 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
22430 (grub_pci_device_unmap_range): Likewise.
22431 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
22432 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
22433 (grub_pci_address_t) [!GRUB_UTIL]: New type.
22434 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
22435 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
22436 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
22437 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
22438 * include/grub/pciutils.h: New file.
22439 * util/pci.c: Likewise.
22440
0ad46fd7 224412009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
22442
22443 * util/misc.c: Don't include <errno.h> twice.
22444
0ad46fd7 224452009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
22446
22447 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
22448 name in an error message.
22449 (grub_biosdisk_rw): Likewise.
22450
2e59983c
VS
224512009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22452
22453 Eliminate NTFS 4Gib barrier.
22454
22455 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
22456 (read_run_data): Likewise.
22457 (grub_ntfs_read_run_list): Likewise.
22458 (grub_ntfs_read_block): Likewise.
22459 (grub_ntfs_iterate_dir): Likewise.
22460 (read_mft): Likewise.
22461 (read_data): Likewise.
22462 Use COM_LOG_LEN.
22463 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
22464 to avoid 64-bit division
22465 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
22466 (grub_ntfs_rlst): Use grub_disk_addr_t.
22467
71ee178a
VS
224682009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22469
22470 Eliminate grub-fstest 4Gib barrier.
22471
22472 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
22473 (read_file): Fix error reporting.
22474
2520d4b8
VS
224752009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22476
22477 Eliminate hexdump 4Gib barrier.
22478
22479 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
22480 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
22481
e1f27065
VS
224822009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
22483
22484 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
22485 Fixes amarsh bug.
22486
1a0f7f45
RM
224872009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
22488
22489 Remove miscellaneous files in distclean target.
22490
22491 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
22492
c631d9fb
CW
224932009-12-09 Colin Watson <cjwatson@ubuntu.com>
22494
22495 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
22496 if they're already set. This resolves the conflict between my
22497 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
22498 fixing the --grub-probe option again.
22499 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
22500 change on 2009-10-06, so that we now once again source
22501 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
22502
7c7b6106
RM
225032009-12-08 Robert Millan <rmh.grub@aybabtu.com>
22504
22505 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
22506 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
22507 `util/devicemap.c'.
22508
e3069ec1
CPE
225092009-12-08 Carles Pina i Estany <carles@pina.cat>
22510
22511 * include/grub/misc.h (grub_printf_): New declaration.
22512 * kern/misc.c (grub_printf_): New definition.
22513 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
22514 instead of `grub_printf' and `_'.
22515 * normal/menu_entry.c (store_completion): Likewise.
22516 (run): Likewise.
22517 (grub_menu_entry_run): Likewise.
22518 * normal/menu_text.c (grub_wait_after_message): Likewise.
22519 (notify_booting): Likewise.
22520 (notify_fallback): Likewise.
22521 (notify_execution_failure): Likewise.
22522
d6ceebf1
CW
225232009-12-07 Colin Watson <cjwatson@ubuntu.com>
22524
22525 * configure.ac: Check for vasprintf.
22526 * util/misc.c (asprintf): Move allocation from here ...
22527 (vasprintf): ... to here. New function.
22528 (xasprintf): New function.
22529 * include/grub/util/misc.h (vasprintf, xasprintf): Add
22530 prototypes.
22531 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
22532 * util/grub-mkfont.c (write_font): Likewise.
22533 * util/grub-probe.c (probe): Likewise.
22534 * util/hostdisk.c (make_device_name): Likewise.
22535
de6daa8b
DM
225362009-12-06 David S. Miller <davem@sunset.davemloft.net>
22537
22538 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
22539 anything even prefixed with 'cdrom' as a cdrom.
22540
0ad46fd7 225412009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
22542
22543 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
22544 mount points.
22545
98d3dc02
CPE
225462009-12-05 Carles Pina i Estany <carles@pina.cat>
22547
22548 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
22549 grub_gettext_msg_list.
22550 (grub_gettext_gettranslation_from_position): Return const char *
22551 and not char *.
a2c1332b 22552 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
22553 returns from the list if existing there.
22554 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
22555 (grub_gettext_delete_list): Delete the list.
22556 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
22557 lang environment variable is changed.
22558 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
22559
b283f108
VS
225602009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
22561
22562 Rename kernel.mod to kernel.img.
22563
22564 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
22565 (kernel_mod_EXPORTS): Rename to ...
22566 (kernel_img_EXPORTS): ... this.
22567 (kernel_mod_SOURCES): Rename to ...
22568 (kernel_img_SOURCES): ... this.
22569 (kernel_mod_HEADERS): Rename to ...
22570 (kernel_img_HEADERS): ... this. All users updated.
22571 (kernel_mod_CFLAGS): Rename to ...
22572 (kernel_img_CFLAGS): ... this.
22573 (kernel_mod_ASFLAGS): Rename to ...
22574 (kernel_img_ASFLAGS): ... this.
22575 (kernel_mod_LDFLAGS): Rename to ...
22576 (kernel_img_LDFLAGS): ... this.
22577 * conf/x86_64-efi.rmk: Likewise.
22578 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
22579 (read_kernel_image): ... this. All users updated.
22580 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
22581
69055f8a
CPE
225822009-12-05 Carles Pina i Estany <carles@pina.cat>
22583
22584 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
22585 (print_spaces): New function.
22586 (grub_print_ucs4): New function.
22587 (getstringwidth): New function.
22588 (print_message_indented): New function.
22589 (print_message): Gettexttize strings using print_message_indented.
22590 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
22591 width.
22592 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 22593 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
22594 Gettextize.
22595 * normal/menu_entry.c (store_completion): Cleanup the gettextized
22596 string.
22597 (run): Likewise.
22598 (grub_menu_entry_run): Likewise.
22599 * PO/POTFILES: Add normal/menu_entry.c.
22600
f616f51c
VS
226012009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
22602
22603 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
22604
57bbe3be
CPE
226052009-12-05 Carles Pina i Estany <carles@pina.cat>
22606
22607 * util/grub-install.in: Install gettext .mo files.
22608 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
22609
013d67a1
CPE
226102009-12-05 Carles Pina i Estany <carles@pina.cat>
22611
22612 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
22613 grub_dprintf.
22614
fb954db0
RM
226152009-12-05 Robert Millan <rmh.grub@aybabtu.com>
22616
22617 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
22618 non-firmware-dependant one in realmode.S takes precedence.
22619
6b8474f8
RM
226202009-12-04 Robert Millan <rmh.grub@aybabtu.com>
22621
22622 * commands/halt.c: Replace misc arch-specific headers with
22623 `<grub/misc.h>'.
22624 * commands/reboot.c: Likewise.
22625 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
22626 `<grub/misc.h>'.
22627 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
22628 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
22629 (kernel_img_SOURCES): ... to here.
22630
22631 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
22632 * include/grub/i386/pc/init.h: Likewise.
22633 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
22634 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22635
22636 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
22637
22638 * include/grub/i386/halt.h: Remove.
22639 * include/grub/i386/reboot.h: Likewise.
22640
22641 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
22642
4b2e6ca2
DM
226432009-12-03 David S. Miller <davem@sunset.davemloft.net>
22644
22645 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
22646 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
22647 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
22648 "progname.h"
22649 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
22650 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22651 (usage): Add missing comma in printf.
22652
5239348f
RM
226532009-12-02 Robert Millan <rmh.grub@aybabtu.com>
22654
22655 Use the same reboot approach on i386 coreboot and qemu as we do on
22656 BIOS.
22657
22658 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
22659 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
22660 * kern/i386/reboot.c: Remove.
22661 * include/grub/i386/reboot.h (grub_reboot): Export function.
22662 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
22663 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
22664 0xf000:0xfff0 instead of 0xffff:0x0000.
22665 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
22666 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
22667
ef34cbd4
RM
226682009-11-30 Robert Millan <rmh.grub@aybabtu.com>
22669
22670 Fix $srcdir != $objdir build.
22671
22672 * Makefile.in (po/%.po): Rewrite as ...
22673 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
22674
dc9837ea
ST
226752009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
22676
22677 Fix GNU/Hurd grub-install crash.
22678 * util/grub-probe.c (probe): Try to access `path' only when it is not
22679 NULL.
22680
2f857f98
VS
226812009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22682
22683 Correct module naming.
22684
22685 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
22686 (GRUB_MOD_INIT(efi_uga)): ... to this
22687 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
22688 (GRUB_MOD_FINI(efi_uga)): ... to this
22689 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
22690 (GRUB_MOD_INIT(efi_gop)): ... to this
22691 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
22692 (GRUB_MOD_FINI(efi_gop)): ... to this
22693
c5448046
RM
226942009-11-28 Robert Millan <rmh.grub@aybabtu.com>
22695
22696 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
22697 translatable.
22698 (usage): Translate `arg' strings using gettext().
22699 Thanks to Jordi Mallach for the suggestion.
22700
c85184ad
VS
227012009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22702
22703 GOP support. Based on patch from Bean
22704 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
22705
22706 * video/efi_gop.c: New file.
22707 * include/grub/efi/graphics_output.h: Likewise.
22708 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
22709 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
22710 variables.
22711 * conf/x86_64-efi.rmk: Likewise.
22712
8a4c48d8
VS
227132009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
22714
22715 Rename efi_fb to efi_uga.
22716
22717 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
22718 'efi_uga.mod'.
22719 (efi_fb_mod_SOURCES): Rename this ...
22720 (efi_uga_mod_SOURCES): ... to this.
22721 (efi_fb_mod_CFLAGS): Rename this ...
22722 (efi_uga_mod_CFLAGS): ... to this.
22723 (efi_fb_mod_LDFLAGS): Rename this ...
22724 (efi_uga_mod_LDFLAGS): ... to this.
22725 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
22726 'efi_uga.mod'.
22727 (efi_fb_mod_SOURCES): Rename this ...
22728 (efi_uga_mod_SOURCES): ... to this.
22729 (efi_fb_mod_CFLAGS): Rename this ...
22730 (efi_uga_mod_CFLAGS): ... to this.
22731 (efi_fb_mod_LDFLAGS): Rename this ...
22732 (efi_uga_mod_LDFLAGS): ... to this.
22733 * video/efi_fb.c: Move this ...
22734 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
22735
fb6c1a7b
RM
227362009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22737
22738 * po/README: New file. Explain our PO file workflow.
22739
3bc7896c
RM
227402009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22741
22742 * po/ChangeLog: Remove. Move relevant entries back to ...
22743 * ChangeLog: ... here.
22744 * po/ca.po: Remove (now handled by TLP).
22745 * po/id.po: Likewise.
22746 * po/zh_CN.po: Likewise.
22747 * Makefile.in (LINGUAS): Initialize in a way that supports
22748 empty set.
22749
9ed4841d
RM
227502009-11-27 Robert Millan <rmh.grub@aybabtu.com>
22751
22752 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
22753 reliing on po/LINGUAS.
22754 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
22755 (po/%.po): ... this.
22756
0ad46fd7 227572009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
22758
22759 * util/i386/efi/grub-mkimage.c: Include "progname.h".
22760 (main): Use `program_name' instead of nonexistent `progname'.
22761
e30dd392
FZ
227622009-11-26 Felix Zielcke <fzielcke@z-51.de>
22763
22764 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
22765 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
22766
7656de4f
RM
227672009-11-26 Robert Millan <rmh.grub@aybabtu.com>
22768
22769 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
22770 commit.
22771 * conf/i386-efi.rmk: Likewise.
22772 * conf/i386-ieee1275.rmk: Likewise.
22773 * conf/powerpc-ieee1275.rmk: Likewise.
22774 * conf/sparc64-ieee1275.rmk: Likewise.
22775 * conf/x86_64-efi.rmk: Likewise.
22776
db77c4d4
FZ
227772009-11-26 Felix Zielcke <fzielcke@z-51.de>
22778
22779 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
22780
a755bb04
FZ
227812009-11-26 Felix Zielcke <fzielcke@z-51.de>
22782
22783 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
22784
8a4c07fd
RM
227852009-11-26 Robert Millan <rmh.grub@aybabtu.com>
22786
22787 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
22788 (grub_mkdevicemap_SOURCES): New variable.
22789 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
22790 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
22791 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
22792 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
22793 (grub_mkdevicemap_SOURCES): Remove.
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 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
22801 (usage): Fix strings to use `program_name'.
22802 (main): Initialize gettext.
22803 * util/grub-editenv.c: Likewise.
22804 * util/grub-emu.c: Likewise.
22805 * util/grub-fstest.c: Likewise.
22806 * util/grub-mkdevicemap.c: Likewise.
22807 * util/grub-mkfont.c: Likewise.
22808 * util/grub-mkrelpath.c: Likewise.
22809 * util/grub-pe2elf.c: Likewise.
22810 * util/grub-probe.c: Likewise.
22811 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
22812 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
22813 * util/sparc64/ieee1275/grub-setup.c: Likewise.
22814
22815 * util/misc.c: Include `"progname.h"'.
22816 (progname): Remove variable.
22817 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
22818
6f61ed55
FZ
228192009-11-25 Felix Zielcke <fzielcke@z-51.de>
22820
22821 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
22822 printf and print a newline after the menuentry header line.
22823 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
22824
f022876b
FZ
228252009-11-25 Felix Zielcke <fzielcke@z-51.de>
22826
22827 autoconf >= 2.60 support $(localedir).
22828
22829 * INSTALL: Note that autoconf 2.60 is required.
22830 * configure.ac (AC_PREREQ): Bump to 2.60.
22831 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
22832 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
22833
6717926e
YB
228342009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
22835
22836 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
22837 aclocal is run.
22838
08806a54
RM
228392009-11-25 Robert Millan <rmh.grub@aybabtu.com>
22840
22841 * normal/main.c (grub_normal_read_line): Fix off-by-one
22842 buffer overflow.
22843
13b33fba
RM
228442009-11-25 Robert Millan <rmh.grub@aybabtu.com>
22845
22846 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
22847 "parser.grub" in grub_command_execute() call.
22848
4a8572e9
CPE
228492009-11-24 Carles Pina i Estany <carles@pina.cat>
22850
22851 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
22852 * conf/i386-efi.rmk: Likewise.
22853 * conf/i386-ieee1275.rmk: Likewise.
22854 * conf/i386-pc.rmk: Likewise.
22855 * conf/powerpc-ieee1275.rmk: Likewise.
22856 * conf/sparc64-ieee1275.rmk: Likewise.
22857 * conf/x86_64-efi.rmk: Likewise.
22858 * gettext/gettex.c: Include <grub/i18n.h>.
22859 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
22860 here ...
22861 * include/grub/i18n.h: ... to here
22862 * include/grub/i18n.h: ... to here.
22863 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 22864 (grub_gettext_dummy): Move above user.
4a8572e9 22865
bee48093
FZ
228662009-11-24 Felix Zielcke <fzielcke@z-51.de>
22867
22868 * util/Makefile.in (install-local): Convert a `for' into a normal
22869 shell expansion.
22870
a031e91c
RM
228712009-11-24 Robert Millan <rmh.grub@aybabtu.com>
22872
22873 * autogen.sh: Add automake call.
22874 * config.guess: Remove.
22875 * config.sub: Likewise.
22876 * install-sh: Likewise.
22877
26bec39d
FZ
228782009-11-24 Felix Zielcke <fzielcke@z-51.de>
22879
22880 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
22881
8e2532fd
FZ
228822009-11-24 Felix Zielcke <fzielcke@z-51.de>
22883
22884 * util/Makefile.in (install-local): Convert a make `$(foreach)'
22885 function to a normal shell `for'.
22886
fefa1b7d
FZ
228872009-11-24 Felix Zielcke <fzielcke@z-51.de>
22888
22889 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
22890
4501250b
FZ
228912009-11-24 Felix Zielcke <fzielcke@z-51.de>
22892
22893 * util/grub-mkrelpath.c: New file.
22894 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
22895 (grub_mkrelpath_SOURCES): New variable.
22896 * include/grub/util/misc.h: New function prototype.
22897 * util/misc.c (make_system_path_relative_to_its_root): New function.
22898
22899 * util/grub-mkconfig_lib.in (bindir): New variable.
22900 (grub_mkrelpath): Likewise.
22901 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
22902
22903 * util/probe.c (probe): Make the file path relative to its root.
22904 Change a info message to use the GRUB path. Enable again the
22905 check if we can read the file with GRUB facilities.
22906
22907 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
22908 to its root.
22909
11d9778b
FZ
229102009-11-24 Felix Zielcke <fzielcke@z-51.de>
22911
22912 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
22913 platform.
22914
4465287d
FZ
229152009-11-24 Felix Zielcke <fzielcke@z-51.de>
22916
22917 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
22918 strncmp().
22919
62b47f22
FZ
229202009-11-24 Felix Zielcke <fzielcke@z-51.de>
22921
22922 * util/getroot.c (grub_util_is_dmraid): New function.
22923 (grub_util_get_dev_abstraction): Treat dmraid and multipath
22924 devices as normal ones, not as LVM.
22925
1eafb9b9 229262009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
22927
22928 * conf/common.rmk: Add grub-gettext_lib target and updates
22929 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
22930 LDFLAGS.
22931 * gettext/gettext.c: New file. (Reads mo files).
22932 * include/grub/file.h (grub_file_pread): New prototype.
22933 * include/grub/i18n.h (_): New prototype.
22934 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
22935 prototypes.
22936 * kern/misc.c (grub_gettext_dummy): New function.
22937 * normal/menu_text.c: Include <grub/i18n.h>.
22938 * normal/menu_text.c (print_timeout): Gettexttize string.
22939 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
22940 * po/POTFILES: Add `normal/menu_text.c'.
22941 * po/ca.po: Add new translations.
c3ea6bd4
CPE
22942 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
22943 gettext module and defines locale_dir and lang in grub.cfg.
22944 * NEWS: Add gettext support.
22945
0fdb2568
RM
229462009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22947
22948 * util/hostdisk.c: Include `<grub/i18n.h>'.
22949 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
22950 (make_device_name): Rewrite using asprintf.
22951 (convert_system_partition_to_system_disk): Replace 0 with NULL.
22952 (find_system_device): If a device is not found, generate one just
22953 by reusing the OS path name.
22954 (read_device_map): Make it permissible for device.map not to exist.
22955
f515aa62
RM
229562009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22957
22958 * script/sh/execute.c: Move from here ...
22959 * script/execute.c: ... to here. Update all users.
22960 * script/sh/function.c: Move from here ...
22961 * script/function.c: ... to here. Update all users.
22962 * script/sh/lexer.c: Move from here ...
22963 * script/lexer.c: ... to here. Update all users.
22964 * script/sh/main.c: Move from here ...
22965 * script/main.c: ... to here. Update all users.
22966 * script/sh/parser.y: Move from here ...
22967 * script/parser.y: ... to here. Update all users.
22968 * script/sh/script.c: Move from here ...
22969 * script/script.c: ... to here. Update all users.
22970
f84b481b
RM
229712009-11-23 Robert Millan <rmh.grub@aybabtu.com>
22972
22973 * configure.ac: Detect all `emu' platforms. Define
22974 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
22975 --enable-grub-emu logic. Disable include/grub/machine
22976 symlink on `emu' platforms.
22977
22978 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
22979 * gensymlist.sh.in: Likewise.
22980
22981 * include/grub/i386/coreboot/machine.h: Remove file.
22982 * include/grub/i386/efi/machine.h: Likewise.
22983 * include/grub/i386/ieee1275/machine.h: Likewise.
22984 * include/grub/i386/pc/machine.h: Likewise.
22985 * include/grub/i386/qemu/machine.h: Likewise.
22986 * include/grub/powerpc/ieee1275/machine.h: Likewise.
22987 * include/grub/sparc64/ieee1275/machine.h: Likewise.
22988 * include/grub/x86_64/efi/machine.h: Likewise.
22989
22990 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
22991 * commands/halt.c: Likewise.
22992 * commands/reboot.c: Likewise.
22993 * include/grub/autoefi.h: Likewise.
22994 * include/grub/i386/at_keyboard.h: Likewise.
22995 * include/grub/i386/kernel.h: Likewise.
22996 * include/grub/i386/loader.h: Likewise.
22997 * include/grub/i386/pc/memory.h: Likewise.
22998 * kern/dl.c: Likewise.
22999 * kern/i386/coreboot/init.c: Likewise.
23000 * loader/i386/bsd.c: Likewise.
23001 * loader/i386/linux.c: Likewise.
23002 * loader/multiboot_loader.c: Likewise.
23003 * term/i386/pc/serial.c: Likewise.
23004 * term/usb_keyboard.c: Likewise.
23005
23006 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
23007 `<grub/machine/machine.h>'
23008 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
23009 * util/misc.c: Remove `<grub/machine/machine.h>' and
23010 `<grub/machine/time.h>'.
23011
23012 * Makefile.in (enable_grub_emu): Remove variable.
23013 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
23014
23015 * conf/any-emu.rmk: New file.
23016 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
23017 (grub_emu_init.c): Move from here ...
23018 * conf/any-emu.rmk: ... to here.
23019
23020 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
23021 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
23022 * conf/any-emu.rmk: ... to here.
23023
4efeab03
RM
230242009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23025
23026 * include/grub/parser.h (grub_parser_register): Document need
23027 of `name' parameter.
23028 * normal/main.c (grub_normal_read_line): Simplify prompt string.
23029 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
23030 "sh" to "grub".
23031
ea1dd8bf
RM
230322009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23033
23034 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
23035 `$(XGETTEXT)'.
23036 * include/grub/i18n.h (N_): New macro.
23037 * util/mkisofs/mkisofs.h: Likewise.
23038 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
23039 around N_().
23040 (usage): Use gettext() to translate help strings when printing them.
23041
0c140626
RM
230422009-11-23 Robert Millan <rmh.grub@aybabtu.com>
23043
23044 Based on patch from Bean
23045 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
23046
23047 * video/efi_fb.c: New file.
23048 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
23049 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
23050 variables.
23051 * conf/x86_64-efi.rmk: Likewise.
23052
87d58298
RM
230532009-11-22 Robert Millan <rmh.grub@aybabtu.com>
23054
23055 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
23056 * util/i386/pc/grub-setup.c: Likewise.
23057
994cc3a3
ST
230582009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23059
23060 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
23061 <hurd/fs.h>
23062 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
23063 file_get_storage_info to implement grub_guess_root_device.
23064
26a61d6a
FZ
230652009-11-21 Felix Zielcke <fzielcke@z-51.de>
23066
23067 * Makefile.in (target): Use make's builtin $(shell) function
23068 instead of calling directly $(SHELL) to create the locale directories,
23069 inside the $(foreach) function.
23070
74ff1dd5
FZ
230712009-11-21 Felix Zielcke <fzielcke@z-51.de>
23072
23073 * util/grub-mkrescue.in: Print an error and usage if output option
23074 has not been given.
23075
0b787d0e
FZ
230762009-11-21 Felix Zielcke <fzielcke@z-51.de>
23077
23078 Patch from Loïc Minier <loic.minier@ubuntu.com>.
23079 * util/grub.d/30_os-prober.in: Cope with Linux entries where
23080 root and /boot are on different devices.
23081
1164b270
RM
230822009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23083
23084 Fix build for srcdir != objdir.
23085
23086 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
23087 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
23088 $(srcdir).
23089 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
23090 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
23091 reference for input.
23092
13774a2f
RM
230932009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23094
23095 * util/grub-mkrescue.in: Use source directory direcly (without copiing
23096 or hardlinking it). Remove -J option, Joliet is not compatible with
23097 multiple source directories.
23098
efda854e
RM
230992009-11-21 Carles Pina i Estany <carles@pina.cat>
231002009-11-21 Robert Millan <rmh.grub@aybabtu.com>
23101
23102 * util/grub-mkrescue.in: Recognize `--override-directory' option.
23103 (process_input_dir): New function. Process an arbitrary input
23104 directory.
23105 Misc adjustments to support both "override mode" and system-wide mode.
23106
6c09890c
FZ
231072009-11-20 Felix Zielcke <fzielcke@z-51.de>
23108
23109 * configure.ac (UNIFONT_BDF): Rename to ...
23110 (FONT_SOURCE): ... this. Update all users.
23111
a797824f
FZ
231122009-11-20 Felix Zielcke <fzielcke@z-51.de>
23113
23114 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
23115 to the list of unifont files to look for.
23116
cd4f42b0
RM
231172009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23118
23119 Patch from Joe Auricchio <jauricchio@gmail.com>
23120 * commands/minicmd.c (grub_mini_cmd_clear): New function.
23121 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
23122 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
23123
393c783d
FZ
231242009-11-19 Felix Zielcke <fzielcke@z-51.de>
23125
23126 * Makefile.in (install-local): Add a missing backslash.
23127
b2f1e327
FZ
231282009-11-19 Felix Zielcke <fzielcke@z-51.de>
23129
23130 * include/grub/x86_64/io.h: New file.
23131
f577f7a0
RM
231322009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23133
23134 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
23135 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
23136 Include `"progname.h"'.
23137 (main): Initialize gettext.
23138 * util/i386/pc/grub-setup.c: Gettexttize.
23139 * util/i386/pc/grub-mkimage.c: Likewise.
23140
23141 * Makefile.in (po/*.po): Redefine as ...
23142 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
23143
3bc7896c
RM
23144 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
23145
c37943b6
RM
231462009-11-19 Robert Millan <rmh.grub@aybabtu.com>
23147
23148 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
23149 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
23150 (program_name): Remove.
23151 (main): Initialize gettext support.
6323f705
RM
23152 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
23153 Include `<libintl.h>'.
23154 (_): New macro.
c37943b6
RM
23155
23156 * util/mkisofs/eltorito.c: Gettexttize.
23157 * util/mkisofs/joliet.c: Likewise.
23158 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
23159 * util/mkisofs/multi.c: Likewise.
23160 * util/mkisofs/rock.c: Likewise.
23161 * util/mkisofs/tree.c: Likewise.
23162 * util/mkisofs/write.c: Likewise.
23163
3bc7896c
RM
23164 * po/POTFILES: Update with new files.
23165
5ce77c6e
RM
231662009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23167
23168 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
23169 * util/mkisofs/iso9660.h: Likewise.
23170 * util/mkisofs/joliet.c: Likewise.
23171 * util/mkisofs/mkisofs.c: Likewise.
23172 * util/mkisofs/mkisofs.h: Likewise.
23173 * util/mkisofs/rock.c: Likewise.
23174 * util/mkisofs/tree.c: Likewise.
23175 * util/mkisofs/write.c: Likewise.
23176
23177 * util/mkisofs/eltorito.c (rcsid): Remove.
23178 * util/mkisofs/hash.c: Likewise.
23179 * util/mkisofs/joliet.c: Likewise.
23180 * util/mkisofs/name.c: Likewise.
23181 * util/mkisofs/rock.c: Likewise.
23182 * util/mkisofs/tree.c: Likewise.
23183 * util/mkisofs/write.c: Likewise.
23184
1dabbc77
RM
231852009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23186
23187 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
23188 instead of static allocation.
23189 * util/mkisofs/match.h: Likewise.
23190
633877cb
RM
231912009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23192
3bc7896c
RM
23193 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
23194 and `util/grub.d/10_linux.in'.
633877cb
RM
23195 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
23196 translatable Shell files.
23197
af1c0c85
RM
231982009-11-18 Robert Millan <rmh.grub@aybabtu.com>
23199
23200 * Makefile.in ($(srcdir)/aclocal.m4): New target.
23201
769ae37b
RM
232022009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23203
23204 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 23205 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
23206 * util/grub.d/10_kfreebsd.in (bindir): New variable.
23207 Add gettext initialization.
23208 (kfreebsd_entry): Make menuentry output translatable.
23209
232102009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23211
23212 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
23213 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
23214 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
23215 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
23216 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 23217 * po/LINGUAS: New file.
769ae37b
RM
23218
232192009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23220
23221 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
23222 other things).
23223 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
23224 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
23225 bindtextdomain() calls for gettext initialization.
23226
232272009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23228
23229 * gnulib/progname.c: New file (imported from Gnulib).
23230 * gnulib/progname.h: Likewise.
23231 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
23232 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
23233 (usage): Replace `progname' with `program_name'.
23234 (main): Use set_program_name() for program name initialization.
23235
232362009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23237
23238 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
23239 from here ...
23240 * Makefile.in (CPPFLAGS): ... to here.
23241
232422009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23243
23244 * aclocal.m4: Move from here ...
23245 * acinclude.m4: ... to here.
23246 * autogen.sh: Add call to `aclocal'.
23247 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
23248
232492009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23250
23251 * Makefile.in (CLEANFILES): Add `po/*.mo'.
23252 (LINGUAS): New variable.
23253 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
23254 (install-local): Install MO files.
23255 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
23256 * include/grub/i18n.h: New file.
3bc7896c
RM
23257 * po/POTFILES: New file.
23258 * po/ca.po: New file.
769ae37b
RM
23259 * util/grub.d/10_linux.in (bindir): New variable.
23260 Add gettext initialization.
23261 (linux_entry): Make menuentry output translatable.
23262 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
23263 (usage): Make --help output translatable.
23264 (main): Initialize gettext.
23265
02c0a6ad
RM
232662009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23267
23268 * import_gcry.py: New file (written by Vladimir with minor
23269 adjustments).
23270 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
23271 ciphers.
23272 * INSTALL: Document that Python is required for bootstrap.
23273
232742009-11-17 Robert Millan <rmh.grub@aybabtu.com>
23275
23276 Import ciphers from libgcrypt 1.4.4.
23277
23278 * lib/libgcrypt/cipher/ChangeLog
23279 * lib/libgcrypt/cipher/ac.c
23280 * lib/libgcrypt/cipher/arcfour.c
23281 * lib/libgcrypt/cipher/bithelp.h
23282 * lib/libgcrypt/cipher/blowfish.c
23283 * lib/libgcrypt/cipher/camellia-glue.c
23284 * lib/libgcrypt/cipher/camellia.c
23285 * lib/libgcrypt/cipher/camellia.h
23286 * lib/libgcrypt/cipher/cast5.c
23287 * lib/libgcrypt/cipher/cipher.c
23288 * lib/libgcrypt/cipher/crc.c
23289 * lib/libgcrypt/cipher/des.c
23290 * lib/libgcrypt/cipher/dsa.c
23291 * lib/libgcrypt/cipher/ecc.c
23292 * lib/libgcrypt/cipher/elgamal.c
23293 * lib/libgcrypt/cipher/hash-common.c
23294 * lib/libgcrypt/cipher/hash-common.h
23295 * lib/libgcrypt/cipher/hmac-tests.c
23296 * lib/libgcrypt/cipher/md.c
23297 * lib/libgcrypt/cipher/md4.c
23298 * lib/libgcrypt/cipher/md5.c
23299 * lib/libgcrypt/cipher/primegen.c
23300 * lib/libgcrypt/cipher/pubkey.c
23301 * lib/libgcrypt/cipher/rfc2268.c
23302 * lib/libgcrypt/cipher/rijndael-tables.h
23303 * lib/libgcrypt/cipher/rijndael.c
23304 * lib/libgcrypt/cipher/rmd.h
23305 * lib/libgcrypt/cipher/rmd160.c
23306 * lib/libgcrypt/cipher/rsa.c
23307 * lib/libgcrypt/cipher/seed.c
23308 * lib/libgcrypt/cipher/serpent.c
23309 * lib/libgcrypt/cipher/sha1.c
23310 * lib/libgcrypt/cipher/sha256.c
23311 * lib/libgcrypt/cipher/sha512.c
23312 * lib/libgcrypt/cipher/tiger.c
23313 * lib/libgcrypt/cipher/twofish.c
23314 * lib/libgcrypt/cipher/whirlpool.c
23315
af2f93ac
RM
233162009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23317
23318 Fix build for systems without error().
23319
23320 * gnulib/error.c: New file (imported from Gnulib).
23321 * gnulib/error.h: Likewise.
23322 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
23323 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
23324 (this variable is now used by error()).
23325
73fb3dd5
FZ
233262009-11-16 Felix Zielcke <fzielcke@z-51.de>
23327
814f5e96
FZ
23328 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
23329 instead of relying that char is signed.
73fb3dd5 23330
a691ca33
VS
233312009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
23332
23333 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
23334 blocksize different from specified.
23335 (grub_pxefs_read): Likewise.
23336
2af8f0f4
FZ
233372009-11-16 Felix Zielcke <fzielcke@z-51.de>
23338
23339 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
23340
23341 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
23342 (grub_ata_readwrite): Likewise. Update 2 format strings.
23343 (grub_atapi_read): Likewise.
23344
23345 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
23346 * conf/i386.rmk (pkglib_MODULES): ... to here ...
23347 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
23348 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
23349 (ata_mod_LDFLAGS): Move from here ...
23350 * conf/i386.rmk: ... to here ...
23351 * conf/x86_64-efi.rmk: ... and here.
23352 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
23353 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
23354
83bdecaf
RM
233552009-11-16 Robert Millan <rmh.grub@aybabtu.com>
23356
23357 Relicense multiboot.h, with RMS' blessing.
23358
23359 * include/multiboot.h: Change to X11 license.
23360
fd6fd3d7
RM
233612009-11-15 Robert Millan <rmh.grub@aybabtu.com>
23362
23363 Support --version in grub-mkisofs.
23364
23365 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
23366 (OPTION_VERSION): New macro.
23367 (ld_options): Recognize --version.
23368 (usage): Move `program_name' from here ...
23369 (program_name): ... to here. Add `static' qualifier.
23370 (main): Recognize `OPTION_VERSION'.
23371
16a88c49
FZ
233722009-11-15 Felix Zielcke <fzielcke@z-51.de>
23373
23374 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
23375 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
23376
a4158476
RM
233772009-11-14 Robert Millan <rmh.grub@aybabtu.com>
23378
23379 Fix help2man generation for mkisofs.
23380
23381 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
23382 (usage): Send output to stdout (rather than stderr).
23383
fc2208b0
RM
233842009-11-14 Robert Millan <rmh.grub@aybabtu.com>
23385
23386 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
23387 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
23388 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
23389 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
23390 (bin_SCRIPTS): Add `grub-mkfloppy'.
23391 (grub_mkfloppy_SOURCES): New variable.
23392
23393 * util/grub-mkrescue.in: New file.
23394 * util/i386/pc/grub-mkfloppy.in: New file.
23395
23396 * util/i386/coreboot/grub-mkrescue.in: Remove.
23397 * util/i386/pc/grub-mkrescue.in: Remove.
23398
8d0edf4a
RM
233992009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23400
23401 * include/grub/multiboot.h (struct grub_multiboot_header): Move
23402 from here ...
23403 * include/multiboot.h (struct multiboot_header): ... to here. Update
23404 all users.
23405 * include/grub/multiboot.h (struct grub_multiboot_info): Move
23406 from here ...
23407 * include/multiboot.h (struct multiboot_info): ... to here. Update
23408 all users.
23409 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
23410 from here ...
23411 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
23412 Update all users.
23413 * include/grub/multiboot.h (struct grub_mod_list): Move
23414 from here ...
23415 * include/multiboot.h (struct multiboot_mod_list): ... to here.
23416 Update all users.
23417
a73f5969
RM
234182009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23419
23420 * include/multiboot2.h (multiboot_word): Rename from this ...
23421 (multiboot2_word): ... to this. Update all users.
23422 (multiboot_header): Rename from this ...
23423 (multiboot2_header): ... to this. Update all users.
23424 (multiboot_tag_header): Rename from this ...
23425 (multiboot2_tag_header): ... to this. Update all users.
23426 (multiboot_tag_start): Rename from this ...
23427 (multiboot2_tag_start): ... to this. Update all users.
23428 (multiboot_tag_name): Rename from this ...
23429 (multiboot2_tag_name): ... to this. Update all users.
23430 (multiboot_tag_module): Rename from this ...
23431 (multiboot2_tag_module): ... to this. Update all users.
23432 (multiboot_tag_memory): Rename from this ...
23433 (multiboot2_tag_memory): ... to this. Update all users.
23434 (multiboot_tag_unused): Rename from this ...
23435 (multiboot2_tag_unused): ... to this. Update all users.
23436 (multiboot_tag_end): Rename from this ...
23437 (multiboot2_tag_end): ... to this. Update all users.
23438
1c8927f0
RM
234392009-11-13 Robert Millan <rmh.grub@aybabtu.com>
23440
23441 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
23442 this platform we should support Multiboot1 first.
23443
23444 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23445 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
23446 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
23447
6e1e0d89
RM
234482009-11-12 Robert Millan <rmh.grub@aybabtu.com>
23449
23450 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
23451 of write calls (converting them to fwrite() if they aren't already).
23452 (get_torito_desc): Likewise.
23453 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
23454
7f2b34d8
RM
234552009-11-12 Robert Millan <rmh.grub@aybabtu.com>
23456
23457 * util/i386/pc/grub-install.in: Move from here ...
23458 * util/grub-install.in: ... to here. Update all users.
23459
c0ef3311
CW
234602009-11-11 Colin Watson <cjwatson@ubuntu.com>
23461
23462 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
23463
e1f240ff
RM
234642009-11-11 Robert Millan <rmh.grub@aybabtu.com>
23465
23466 Support for El Torito without floppy emulation.
23467
23468 * util/mkisofs/eltorito.c: Include `<errno.h>'.
23469 (init_boot_catalog): Improve error handling.
23470 (get_torito_desc): Don't use floppy emulation unless requested by
23471 user. Patch boot information table when requested via
23472 `-boot-info-table'.
23473 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
23474 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
23475 (use_boot_info_table): New variables.
23476 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
23477 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
23478 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
23479 `--eltorito-emul-floppy'.
23480 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
23481 and `OPTION_ELTORITO_EMUL_FLOPPY'.
23482 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
23483 (use_boot_info_table, get_731): New prototypes.
23484 * util/mkisofs/write.c (get_731): New function.
23485
af7d4de5
FZ
234862009-11-11 Felix Zielcke <fzielcke@z-51.de>
23487
23488 Fix the generation of the man page.
23489
23490 * util/pc/i386/grub-install.in: Source
23491 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
23492
2c55dbc0
RM
234932009-11-11 Robert Millan <rmh.grub@aybabtu.com>
23494
23495 Large file support for grub-mkisofs.
23496
23497 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
23498 * util/mkisofs/mkisofs.c (next_extent, last_extent)
23499 (session_start): Upgrade type to `uint64_t'. Update all users.
23500 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
23501 (struct directory_entry): Upgrade type of `starting_block' and
23502 `size' to `uint64_t'. Update all users.
23503 (struct deferred): Remove unused structure.
23504 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
23505 Update all users.
23506 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
23507 file is larger than `UINT32_MAX'.
23508 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
23509 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
23510 return value.
23511 (struct deferred_write): Upgrade type of `extent' and `size' to
23512 `uint64_t'. Update all users.
23513 (last_extent_written): Upgrade type to `uint64_t'. Update all
23514 users.
23515 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
23516 Update all users. Upgrade type of `remain' to `int64_t' and
23517 `use' to `size_t'. Use error() to handle fread() errors.
23518 (write_files): Rely on write_one_file() rather than calling
23519 xfwrite() directly.
23520
6a9cead5
FZ
235212009-11-09 Felix Zielcke <fzielcke@z-51.de>
23522
23523 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
23524
4825d790
RM
235252009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23526
23527 * util/mkisofs/fnmatch.c: Remove.
23528 * util/mkisofs/getopt1.c: Likewise.
23529 * util/mkisofs/getopt.c: Likewise.
23530 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
23531 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
23532 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
23533 `gnulib/getopt1.c' and `gnulib/getopt.c'.
23534 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
23535
23536 * configure.ac: Detect `mingw32msvc' host_os.
23537 Check for lstat(), getuid() and getgid().
23538
23539 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
23540 instances of `u_char' with `uint8_t'.
23541
23542 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
23543 [!HAVE_GETUID] (getuid): New function (stub).
23544 [!HAVE_GETGID] (getgid): Likewise.
23545 [!HAVE_LSTAT] (lstat): Likewise.
23546 [!S_IROTH] (S_IROTH): New macro (dummy).
23547 [!S_IRGRP] (S_IRGRP): Likewise.
23548
84b860d8
RM
235492009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23550
23551 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
23552 conditional expression).
23553
66e9b712
RM
235542009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23555
23556 Import from Gnulib.
23557
23558 * gnulib/fnmatch.c: New file.
23559 * gnulib/fnmatch.h: Likewise.
23560 * gnulib/fnmatch_loop.c: Likewise.
23561 * gnulib/getopt.c: Likewise.
23562 * gnulib/getopt.h: Likewise.
23563 * gnulib/getopt1.c: Likewise.
23564 * gnulib/getopt_int.h: Likewise.
23565 * gnulib/gettext.h: Likewise.
23566
34f4a5b0
RM
235672009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23568
23569 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
23570 * normal/handler.c (read_handler_list): Likewise.
23571
ac451143
RM
235722009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23573
23574 Misc cleanup.
23575
23576 * kern/command.c (grub_register_command_prio): Use
23577 grub_zalloc() instead of explicitly zeroing data.
23578 * kern/list.c: Include `<grub/mm.h>'.
23579 (grub_named_list_find): Replace `0' with `NULL'.
23580 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
23581 (fs_module_list): Change type to `grub_named_list_t'. Update all
23582 users.
23583 * normal/dyncmd.c (read_command_list): Add space between function
23584 call and parenthesis.
23585 * normal/handler.c (read_handler_list): Likewise.
23586
4089b167
RM
235872009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23588
23589 * normal/auth.c (punishment_delay): Moved from here ...
23590 (grub_auth_strcmp): ... to here (inside function).
23591
325f5037
RM
235922009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23593
23594 * include/grub/list.h (struct grub_named_list): Remove `const'
23595 qualifier from `name'.
23596 (struct grub_prio_list): Likewise.
23597
7aea29a3
RM
235982009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23599
23600 * normal/auth.c: Include `<grub/time.h>'.
23601 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
23602
3fd6f044
RM
236032009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23604
23605 * normal/auth.c (punishment_delay): New variable.
23606 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
23607 (grub_auth_check_authentication): Punish failed login attempts with
23608 an incremental (2^N) delay.
23609
a4cd68e4
RM
236102009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23611
23612 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
23613 path with $(srcdir).
23614
7ad12f43
VS
236152009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
23616
23617 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
23618
c1129f03
RM
236192009-11-09 Robert Millan <rmh.grub@aybabtu.com>
23620
23621 * util/i386/coreboot/grub-mkrescue.in: New file.
23622 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
23623 variables.
23624
23625 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
23626 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
23627 * configure.ac: Add header and function checks to satisfy grub-mkisofs
23628 requirements.
23629 * util/mkisofs/defaults.h: New file.
23630 * util/mkisofs/eltorito.c: Likewise.
23631 * util/mkisofs/exclude.h: Likewise.
23632 * util/mkisofs/fnmatch.c: Likewise.
23633 * util/mkisofs/getopt.c: Likewise.
23634 * util/mkisofs/getopt1.c: Likewise.
23635 * util/mkisofs/hash.c: Likewise.
23636 * util/mkisofs/include/fctldefs.h: Likewise.
23637 * util/mkisofs/include/mconfig.h: Likewise.
23638 * util/mkisofs/include/prototyp.h: Likewise.
23639 * util/mkisofs/include/statdefs.h: Likewise.
23640 * util/mkisofs/iso9660.h: Likewise.
23641 * util/mkisofs/joliet.c: Likewise.
23642 * util/mkisofs/match.c: Likewise.
23643 * util/mkisofs/match.h: Likewise.
23644 * util/mkisofs/mkisofs.c: Likewise.
23645 * util/mkisofs/mkisofs.h: Likewise.
23646 * util/mkisofs/multi.c: Likewise.
23647 * util/mkisofs/name.c: Likewise.
23648 * util/mkisofs/rock.c: Likewise.
23649 * util/mkisofs/tree.c: Likewise.
23650 * util/mkisofs/write.c: Likewise.
23651
ec8bb77d
VS
236522009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
23653
23654 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
23655 being insecure.
23656
3716b12c
RM
236572009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23658
23659 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
23660 `grub-mkimage' (and use $0 when possible).
23661
b97b7b91
RM
236622009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23663
23664 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
23665 error message for excessively large memory map.
23666
04114812
RM
236672009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23668
23669 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
23670 executable bit.
23671
e4eb2373
RM
236722009-11-08 Robert Millan <rmh.grub@aybabtu.com>
23673
23674 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
23675 message for coreboot users.
23676
c926e1d5 236772009-11-07 Robert Millan <rmh.grub@aybabtu.com>
23678
23679 Fix build with GNU gold.
23680
23681 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
23682 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
23683 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
23684 link addresses.
23685 * aclocal.m4: Likewise.
23686
86e5b1db 236872009-11-04 Felix Zielcke <fzielcke@z-51.de>
23688
23689 * configure.ac (AC_PREREQ): Bump to 2.59d.
23690 * INSTALL: Make it more clear when Autoconf and Ruby are
23691 needed and when to run `./autogen.sh'.
23692
246cd78f 236932009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
23694
23695 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
23696 OSes.
23697
4f9dfb37 236982009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23699
23700 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
23701
b82bd5e1 237022009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23703
23704 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
23705 giving it to GNU Mach.
23706
ff1a9bca 237072009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23708
23709 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
23710 GNU partition number to get internal GRUB partition number.
23711
61697d9c 237122009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
23713
23714 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
23715 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
23716
a50569e1 237172009-11-01 Robert Millan <rmh.grub@aybabtu.com>
23718
23719 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
23720 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
23721 case.
23722
5b153867 237232009-11-01 Felix Zielcke <fzielcke@z-51.de>
23724
23725 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
23726
d9e2cd70 237272009-10-30 Robert Millan <rmh.grub@aybabtu.com>
23728
23729 Fix build problem.
23730
23731 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
23732 `-isystem=$(srcdir)/include'.
23733
805111a4 237342009-10-30 Robert Millan <rmh.grub@aybabtu.com>
23735
23736 * util/i386/pc/grub-install.in: Remove hint that device.map should be
23737 checked (grub-install doesn't currently rely on it).
23738
fa6e945f 237392009-10-29 Robert Millan <rmh.grub@aybabtu.com>
23740
23741 Revert SVN r2660.
23742
23743 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
23744 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
23745 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
23746 * conf/i386-ieee1275.rmk: Likewise.
23747 * conf/i386-pc.rmk: Likewise.
23748 * conf/powerpc-ieee1275.rmk: Likewise.
23749 * conf/sparc64-ieee1275.rmk: Likewise.
23750 * conf/x86_64-efi.rmk: Likewise.
23751
cee15086 237522009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23753
23754 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
23755
95b9239e 237562009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23757
23758 * include/grub/misc.h: Stop checking for APPLE_CC.
23759
2ed19dfd 237602009-10-28 Robert Millan <rmh.grub@aybabtu.com>
23761
23762 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
23763 doesn't cause an infinite call loop.
23764
fdcdde19 237652009-10-28 Felix Zielcke <fzielcke@z-51.de>
23766
23767 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
23768 strings.
23769
cefabfe1 237702009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23771
23772 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
23773 variable.
23774 * Makefile.in: Likewise.
23775
ed96ab6d 237762009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23777
23778 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
23779
0579b753 237802009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23781
23782 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
23783
478df409 237842009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23785
23786 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
23787
083d1679 237882009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23789
23790 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
23791 from here ...
23792 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
23793
5947ae32 237942009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23795
23796 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
23797 in $(MAKEINFO) invocation. This makes it clear in output that
23798 errors are being ignored.
23799
94180ff6 238002009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23801
23802 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
23803 from here ...
23804 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
23805 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
23806 * conf/i386-ieee1275.rmk: Likewise.
23807 * conf/i386-pc.rmk: Likewise.
23808 * conf/powerpc-ieee1275.rmk: Likewise.
23809 * conf/sparc64-ieee1275.rmk: Likewise.
23810 * conf/x86_64-efi.rmk: Likewise.
23811
9031b03a 238122009-10-26 Colin Watson <cjwatson@ubuntu.com>
23813
23814 * util/grub-editenv.c (main): If only a command is given, use
23815 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
23816 (usage): FILENAME is now optional and has a default.
23817
e4f6809b 238182009-10-26 Colin Watson <cjwatson@ubuntu.com>
23819
23820 Improve grub-mkconfig performance when there are several menu
23821 entries on a single filesystem.
23822
23823 * util/grub.d/10_linux.in (linux_entry): Cache the output of
23824 prepare_grub_to_access_device.
23825 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
23826 * util/grub.d/30_os-prober.in: Likewise.
23827
67937d4d 238282009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23829
23830 * util/grub.d/10_freebsd.in: Remove.
23831 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
23832 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
23833
ee3756cc 238342009-10-26 Robert Millan <rmh.grub@aybabtu.com>
23835
5c35048e 23836 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 23837
4dea1c6f 238382009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23839
23840 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
23841 grub_util_error() call.
23842
042484d7 238432009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23844
23845 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
23846 `reserved_first_sector' member.
23847 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
23848 `reserved_first_sector' to 1.
23849 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
23850 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
23851 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
23852 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
23853 filesystems which begin at first sector.
23854 (options): New option --skip-fs-probe.
23855 (main): Handle --skip-fs-probe and pass it to setup().
23856
d64448a7 238572009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23858
23859 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
23860 (memset): Fix function prototype.
23861
508d42ec 238622009-10-25 Robert Millan <rmh.grub@aybabtu.com>
238632009-10-25 Vasily Averin <vvs@parallels.com>
23864
23865 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
23866 `dirent.direntlen == 0'.
23867
b240e30c 238682009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23869
23870 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
23871 `cpio'.
23872 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
23873
346e7fbe 238742009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23875
23876 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
23877 `__trampoline_setup' and `__ucmpdi2'.
23878 * include/grub/powerpc/libgcc.h: Only export symbols for functions
23879 that libgcc provides.
23880
cdb308b0 238812009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23882
23883 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
23884 * include/grub/sparc64/libgcc.h (memset): Likewise.
23885 * include/grub/misc.h (memset, memcmp): New function prototypes.
23886
fb26abc2 238872009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23888
23889 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
23890 `cpio'.
23891 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
23892
f6693890 238932009-10-25 Robert Millan <rmh.grub@aybabtu.com>
23894
23895 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
23896 * docs/grub.cfg: Compensate for recent change in multiboot
23897 loader (since 2009-08-14 it won't pass filename to payload).
23898 * util/grub.d/10_hurd.in: Likewise.
23899
0933cdc0 239002009-10-21 Felix Zielcke <fzielcke@z-51.de>
23901
23902 * config.guess: Update to latest version from config git
23903 repository.
23904 * config.sub: Likewise.
23905
3b2fe8c2 239062009-10-20 Robert Millan <rmh.grub@aybabtu.com>
23907
23908 Fix build on sparc64.
23909
23910 * configure.ac: Perform checks for libgcc symbols before
23911 adding `-nostdlib' to LDFLAGS.
23912
46695a62 239132009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
23914
23915 Let user specify OpenBSD root device.
23916
23917 * loader/i386/bsd.c (openbsd_root): New variable.
23918 (openbsd_opts): New option 'root'.
23919 (OPENBSD_ROOT_ARG): New macro.
23920 (grub_openbsd_boot): Use 'openbsd_root'.
23921 (grub_cmd_openbsd): Fill 'openbsd_root'.
23922
d2b6b7fc 239232009-10-16 Robert Millan <rmh.grub@aybabtu.com>
23924
23925 * NEWS: Misc adjustments.
23926
421bd7ac 239272009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
23928
23929 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
23930
f1d29d87 239312009-10-16 Robert Millan <rmh.grub@aybabtu.com>
23932
23933 * configure.ac: Bump version to 1.97.
23934
6f3cd880 239352009-10-16 Colin Watson <cjwatson@ubuntu.com>
23936
23937 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
23938 -mno-3dnow on x86 architectures. Some toolchains enable these
23939 features by default, but they rely on registers that aren't enabled
23940 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
23941
035f7122 239422009-10-15 Robert Millan <rmh.grub@aybabtu.com>
23943
23944 Make entry text a bit more readable.
23945
23946 * util/grub.d/10_linux.in: Add `with' before `Linux'.
23947
44998e58 239482009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23949
23950 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
23951
cd2851b3 239522009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23953
23954 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
23955 operations.
23956
c6f3b249 239572009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23958
23959 * configure.ac: Add missing dollar.
23960
6b5886ba 239612009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
23962
23963 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
23964
23965 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
23966 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
23967 exports.
23968 * include/grub/sparc64/libgcc.h: Likewise. Use
23969 preprocessor conditionals.
23970
e9d66f6d 239712009-10-14 Robert Millan <rmh.grub@aybabtu.com>
23972
23973 * conf/common.rmk (grub-dumpbios): Remove rule.
23974 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
23975 * util/grub-dumpbios.in: Remove file.
23976
9155bc17 239772009-10-14 Robert Millan <rmh.grub@aybabtu.com>
23978
23979 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
23980 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
23981
23982 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
23983 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
23984 users.
23985
23986 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
23987 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
23988 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
23989 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
23990 users.
23991
bf7f7a18 239922009-10-12 Robert Millan <rmh.grub@aybabtu.com>
23993
23994 * term/tparm.c: Switch to GPLv3.
23995
86564c26 239962009-10-09 Robert Millan <rmh.grub@aybabtu.com>
23997
23998 * include/grub/i386/cpuid.h: Add header protection.
23999
5c936493 240002009-10-09 Robert Millan <rmh.grub@aybabtu.com>
24001
24002 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
24003
24004 * include/grub/i386/cpuid.h: New file.
24005 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
24006 (has_longmode): Rename to ...
24007 (grub_cpuid_has_longmode): ... this. Update all users. Remove
24008 `static' attribute.
24009 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
24010 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
24011 on a CPU that doesn't implement AMD64 instruction set.
24012
186e7cf2 240132009-10-06 Colin Watson <cjwatson@ubuntu.com>
24014
24015 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
24016 that version.texi is rebuilt on version number changes.
24017
83b65c4a 240182009-10-06 Colin Watson <cjwatson@ubuntu.com>
24019
24020 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
24021 Fixes bug #27602.
24022
d244281c 240232009-10-06 Colin Watson <cjwatson@ubuntu.com>
24024
24025 * util/i386/pc/grub-install.in: Source
24026 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
24027 that the --grub-probe option will work.
24028 * util/sparc64/ieee1275/grub-install.in: Likewise.
24029
da25306d 240302009-10-05 Robert Millan <rmh.grub@aybabtu.com>
24031
24032 * configure.ac: Bump version to 1.97~beta4.
24033
e8ee83c0 240342009-10-03 Robert Millan <rmh.grub@aybabtu.com>
24035
24036 Resync grub-mkdevicemap in x86_64-efi.
24037
24038 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
24039 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
24040 `util/devicemap.c'.
24041
50dcabcf 240422009-10-01 Colin Watson <cjwatson@ubuntu.com>
24043
24044 * util/grub-editenv.c (create_envblk_file): Write new block with a
24045 .new suffix and then rename it into place, to ensure atomic
24046 creation.
24047
0e51c3a7 240482009-09-28 Robert Millan <rmh.grub@aybabtu.com>
24049
24050 Do not automatically install headers.
24051
24052 * Makefile.in (include_DATA): Remove. Update all users.
24053
31299a95 240542009-09-26 Robert Millan <rmh.grub@aybabtu.com>
24055
24056 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
24057 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
24058
24059 * util/osdetect.lua: Remove.
24060 * script/lua/lauxlib.c: Likewise.
24061 * script/lua/ldebug.c: Likewise.
24062 * script/lua/grub_main.c: Likewise.
24063 * script/lua/lauxlib.h: Likewise.
24064 * script/lua/ldebug.h: Likewise.
24065 * script/lua/ltablib.c: Likewise.
24066 * script/lua/liolib.c: Likewise.
24067 * script/lua/lstrlib.c: Likewise.
24068 * script/lua/lualib.h: Likewise.
24069 * script/lua/ldo.c: Likewise.
24070 * script/lua/ldump.c: Likewise.
24071 * script/lua/ldo.h: Likewise.
24072 * script/lua/loslib.c: Likewise.
24073 * script/lua/lundump.c: Likewise.
24074 * script/lua/grub_lib.c: Likewise.
24075 * script/lua/ldblib.c: Likewise.
24076 * script/lua/lundump.h: Likewise.
24077 * script/lua/lmem.c: Likewise.
24078 * script/lua/grub_lib.h: Likewise.
24079 * script/lua/lmathlib.c: Likewise.
24080 * script/lua/lstate.c: Likewise.
24081 * script/lua/ltm.c: Likewise.
24082 * script/lua/lvm.c: Likewise.
24083 * script/lua/lmem.h: Likewise.
24084 * script/lua/lstate.h: Likewise.
24085 * script/lua/ltm.h: Likewise.
24086 * script/lua/ltable.c: Likewise.
24087 * script/lua/lvm.h: Likewise.
24088 * script/lua/llex.c: Likewise.
24089 * script/lua/lgc.c: Likewise.
24090 * script/lua/grub_lua.h: Likewise.
24091 * script/lua/loadlib.c: Likewise.
24092 * script/lua/lfunc.c: Likewise.
24093 * script/lua/lopcodes.c: Likewise.
24094 * script/lua/lparser.c: Likewise.
24095 * script/lua/ltable.h: Likewise.
24096 * script/lua/llex.h: Likewise.
24097 * script/lua/lgc.h: Likewise.
24098 * script/lua/lfunc.h: Likewise.
24099 * script/lua/lbaselib.c: Likewise.
24100 * script/lua/lopcodes.h: Likewise.
24101 * script/lua/lparser.h: Likewise.
24102 * script/lua/lzio.c: Likewise.
24103 * script/lua/linit.c: Likewise.
24104 * script/lua/lobject.c: Likewise.
24105 * script/lua/llimits.h: Likewise.
24106 * script/lua/lstring.c: Likewise.
24107 * script/lua/lzio.h: Likewise.
24108 * script/lua/lapi.c: Likewise.
24109 * script/lua/lcode.c: Likewise.
24110 * script/lua/lua.h: Likewise.
24111 * script/lua/lobject.h: Likewise.
24112 * script/lua/lstring.h: Likewise.
24113 * script/lua/lapi.h: Likewise.
24114 * script/lua/lcode.h: Likewise.
24115 * script/lua/luaconf.h: Likewise.
24116
cb8a2c38 241172009-09-26 Colin Watson <cjwatson@ubuntu.com>
24118
24119 * docs/grub.texi (Command-line and menu entry commands): Document
24120 date and echo commands.
24121
6b9b6276 241222009-09-24 Pavel Roskin <proski@gnu.org>
24123
24124 * include/grub/kernel.h (struct grub_module_header): Remove
24125 `grub_module_header_types'. Make `type' unsigned. Make `size'
24126 32-bit on all platforms.
24127 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
24128 8-bit field. Use grub_host_to_target32() for `size'.
24129 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
24130 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
24131 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
24132
4e5a02a7 241332009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24134
24135 Fix "lost keypress" bug in at_keyboard.
24136
24137 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
24138 Checks for readyness of input buffer (without flushing it).
24139 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
24140 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
24141
c6dcedf6 241422009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24143
24144 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
24145 size check within GRUB_MACHINE_PCBIOS section.
24146
74c958b1 241472009-09-24 Robert Millan <rmh.grub@aybabtu.com>
24148
24149 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
24150 return value.
24151 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
24152 KEYBOARD_ISREADY check.
24153 (grub_at_keyboard_checkkey): Rename to ...
24154 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
24155 Remove gratuitous cast.
24156
ff420223 241572009-09-23 Colin Watson <cjwatson@ubuntu.com>
24158
24159 * configure.ac: Call AC_PROG_MKDIR_P.
24160 * Makefile.in (docs/stamp-vti): Create docs directory. Create
24161 version.texi in $(builddir) rather than $(srcdir).
24162 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
24163 to makeinfo's @include search path.
24164
d96875df 241652009-09-23 Felix Zielcke <fzielcke@z-51.de>
24166
24167 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
24168
9b3f8365 241692009-09-23 Felix Zielcke <fzielcke@z-51.de>
24170
24171 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
24172 for `*.dpkg-new'.
24173
c44c90db 241742009-09-21 Colin Watson <cjwatson@ubuntu.com>
24175
24176 Build info documentation. Some code borrowed from Automake.
24177
24178 * configure.ac: Check for makeinfo.
24179 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
24180 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
24181 docs/version.texi.
24182 (MOSTLYCLEANFILES): Add vti.tmp.
24183 (docs/version.texi, docs/stamp-vti): Update automatically.
24184 (docs/grub.info): Build info documentation. Use --force and ignore
24185 errors for now.
24186 (all-local): Add $(INFOS).
24187 (install-local): Install info files.
24188 (uninstall): Uninstall info files.
24189 * docs/version.texi: Remove from revision control. This file is
24190 automatically generated on build now.
24191 * gendistlist.sh: Add `*.info'.
24192
e0b37bb5 241932009-09-21 Felix Zielcke <fzielcke@z-51.de>
24194
24195 * kern/term.c: Fix indentation.
24196
5a78865b 241972009-09-21 Felix Zielcke <fzielcke@z-51.de>
24198
24199 * util/hostdisk.c: Fix a comment.
24200
dace7e8a 242012009-09-20 Robert Millan <rmh.grub@aybabtu.com>
24202
24203 Fix regression introduced in r2539.
24204
24205 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
24206 to 0xA1.
24207
a83d079b 242082009-09-19 Colin Watson <cjwatson@ubuntu.com>
24209
24210 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 24211 os-prober. Under normal operation, it does not print anything to
24212 stderr; if it does, we need to debug it, and throwing away stderr
24213 makes that excessively difficult.
a83d079b 24214
be94a509 242152009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
24216
24217 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
24218
63f745e8 242192009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24220
24221 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
24222 AC_LANG_PROGRAM from autoconf.
24223 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
24224 prototypes (fixes warning).
24225
24226 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
24227 `--disable-werror' was used.
24228
bbb2a70f 242292009-09-16 Robert Millan <rmh.grub@aybabtu.com>
24230
24231 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
24232 uninitialized `lastaddr'.
24233
77c24f1d 242342009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
24235
0f0b8c87 24236 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 24237
07197f23 242382009-09-14 Colin Watson <cjwatson@ubuntu.com>
24239
24240 * commands/test.c (get_fileinfo): Return immediately if
24241 grub_fs_probe fails.
24242
dabf1798 242432009-09-14 José Martínez <xosemp@gmail.com>
24244
24245 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
24246
d52109a7 242472009-09-14 Colin Watson <cjwatson@ubuntu.com>
24248
24249 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
24250 output.
24251
56532179 242522009-09-13 Robert Millan <rmh.grub@aybabtu.com>
24253
24254 * configure.ac: Remove --enable-grub-pe2elf. Only build
24255 grub-pe2elf when needed by the build system itself.
24256 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
24257
8ef070f5 242582009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24259
24260 * configure.ac: Bump version to 1.97~beta3.
24261 * docs/version.texi: Likewise.
24262
61229557 242632009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24264
24265 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
24266 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
24267 from here ...
24268 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
24269 (grub_linux_setup_video): ... to here (with some adjustments).
24270
5c9f8d84 242712009-09-12 Robert Millan <rmh.grub@aybabtu.com>
24272
24273 Fix memory corruption issue (spotted by Colin Watson).
24274
24275 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
24276 causing returned size to be stored in an incorrect memory location.
24277 Fix use of uninitialized value when storing the returned size.
24278
e8f5d6e9 242792009-09-12 Yves Blusseau <blusseau@zetam.org>
24280
24281 Change clean rules to properly remove files
24282
24283 * genmk.rb: add new clean rules
24284 * Makefile.in (clean): add the new targets
24285 (mostlyclean): likewise
24286
cda2a409 242872009-09-11 Colin Watson <cjwatson@ubuntu.com>
24288
24289 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
24290 to grub_uint64_t.
24291 * fs/ntfs.c (init_file): Understand 64-bit sizes for
24292 non-resident files.
24293
86695375 242942009-09-11 Colin Watson <cjwatson@ubuntu.com>
24295
24296 * configure.ac: Don't look for help2man when cross-compiling. Fixes
24297 part of bug #27349.
24298
8aa1541a 242992009-09-10 Felix Zielcke <fzielcke@z-51.de>
24300
24301 * util/grub-mkconfig.in: Make the created config mode 400 and
24302 print a warning if it fails.
24303
48d9bb0a 243042009-09-10 Robert Millan <rmh.grub@aybabtu.com>
24305
24306 * util/grub.d/40_custom.in: Ask user to type custom entries below
24307 comment, rather than below 'exec tail' line.
24308
3b0521be 243092009-09-10 Colin Watson <cjwatson@ubuntu.com>
24310
24311 * util/grub.d/40_custom.in: Make sure that the explanatory text is
24312 visible in grub.cfg.
24313
50051d55 243142009-09-10 Colin Watson <cjwatson@ubuntu.com>
24315
24316 * util/grub.d/40_custom.in: Make it a little clearer how to use this
24317 file.
24318
c0d34387 243192009-09-10 Felix Zielcke <fzielcke@z-51.de>
24320
24321 * docs/grub.cfg: Add an example menu entry for memtest86+.
24322
80a608f3 243232009-09-09 Felix Zielcke <fzielcke@z-51.de>
24324
a2094832 24325 * config.guess: Update to latest version from config git.
80a608f3 24326 * config.sub: Likewise.
24327
99423078 243282009-09-08 Colin Watson <cjwatson@ubuntu.com>
24329
24330 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
24331 unknown-command case. Fixes bug #27320.
24332
44454e4c 243332009-09-08 Felix Zielcke <fzielcke@z-51.de>
24334
24335 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
24336 `help' if the command exists.
24337
e30d87ad 243382009-09-06 Robert Millan <rmh.grub@aybabtu.com>
24339
24340 * INSTALL: Require GCC 4.1.3 or later.
24341
9a86f1ec 243422009-09-06 Yves Blusseau <blusseau@zetam.org>
24343
24344 * Makefile.in (RMKFILES): add i386-qemu.rmk
24345 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
24346 $(srcdir)/stamp-h.in
24347
7f26d466 243482009-09-05 Robert Millan <rmh.grub@aybabtu.com>
24349
24350 * util/grub-probe.c (probe): Comment out buggy codepath, which
24351 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
24352 should be re-enabled after 1.97.
24353
3a613259 243542009-09-05 Felix Zielcke <fzielcke@z-51.de>
24355
24356 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
24357 find searches for.
24358
197f76c7 243592009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
24360
24361 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
24362 unnecessary calls to grub_error.
24363
70ba68ce 243642009-09-04 Colin Watson <cjwatson@ubuntu.com>
24365
24366 * NEWS: Mention `keystatus' and Unicode fonts.
24367
4ff0d7a4 243682009-09-04 Robert Millan <rmh.grub@aybabtu.com>
24369
24370 * configure.ac: Bump version to 1.97~beta2.
24371 * docs/version.texi: Likewise.
24372
77c55a87 243732009-09-03 Colin Watson <cjwatson@ubuntu.com>
24374
24375 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
24376 containing unwind information in some cases where it previously did
24377 not. Use -fno-dwarf2-cfi-asm if available to restore the old
24378 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
24379 discussion.
24380
f79572cd 243812009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
24382
24383 Embedding loadenv module into grub-emu
24384
24385 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
24386 commands/loadenv.c
24387 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
24388 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
24389 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
24390 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
24391 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
24392 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
24393
93a81088 243942009-09-03 Magnus Granberg <zorry@ume.nu>
24395
24396 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
24397 include -fPIE in the default specs.
24398 * configure.ac: Check if pie_possible is yes and add -fno-PIE
24399 to TARGET_CFLAGS.
24400
160034b2 244012009-09-03 Felix Zielcke <fzielcke@z-51.de>
24402
24403 * INSTALL: Note that GNU Bison 2.3 or later is required.
24404
087c07c4 244052009-09-03 Colin Watson <cjwatson@ubuntu.com>
24406
24407 * kern/i386/pc/startup.S: Fix typo.
24408
cbf978c0 244092009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
24410
24411 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
24412 according to GCS.
24413
244142009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 24415
24416 * docs/grub.texi (Naming convention): Describe one-based partition
24417 numbering.
24418 (Device syntax): Likewise.
24419 (File name syntax): Likewise.
24420 (Block list syntax): Likewise.
24421 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
24422 menu.lst.
24423 (File name syntax): Likewise.
24424 (Command-line and menu entry commands): Document acpi, blocklist,
24425 crc, export, insmod, keystatus, ls, set, and unset commands.
24426
f3e8cdfd 244272009-09-02 Colin Watson <cjwatson@ubuntu.com>
24428
24429 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
24430 to avoid implying that only one of --shift, --ctrl, or --alt may be
24431 used.
24432
c0bc232b 244332009-09-02 Colin Watson <cjwatson@ubuntu.com>
24434
24435 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
24436 rather than comparing against S_IFREG, which will almost never work.
24437
aa0f752d 244382009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
24439
24440 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
24441 (write_blocklists): Likewise.
24442
ecb3166a 244432009-09-01 Colin Watson <cjwatson@ubuntu.com>
24444
24445 * script/lua/grub_lua.h (fputs): Supply a format string as the first
24446 argument to grub_printf.
24447
c403a125 244482009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 24449
24450 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 24451 non GNU test.
31aba781 24452
b5e7312c 244532009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24454
24455 * kern/file.c (grub_file_read): Spelling fix
24456
fe00f472 244572009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
24458
24459 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
24460 loading of headers in some cases.
24461
cc55302e 244622009-08-30 Robert Millan <rmh.grub@aybabtu.com>
24463
24464 * configure.ac: Bump version to 1.97~beta1.
24465 * docs/version.texi: Likewise.
24466
5c90cdd2 244672009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 24468
24469 * include/grub/i386/xnu.h: Add license header.
24470 include grub/err.h explicitly.
24471
c90edae4 244722009-08-29 Robert Millan <rmh.grub@aybabtu.com>
24473
24474 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
24475 to `ufs' in the vfs.root.mountfrom kernel parameter.
24476
d8888b5c 244772009-08-29 Robert Millan <rmh.grub@aybabtu.com>
24478
24479 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
24480
24481 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
24482 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
24483
24484 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
24485 `ARRAY_SIZE' macro.
24486
6f07b921 244872009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24488
24489 * kern/file.c (grub_file_read): Check offset.
24490 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
24491 * fs/jfs.c (grub_jfs_read_file): Likewise.
24492 * fs/ntfs.c (grub_ntfs_read): Likewise.
24493 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
24494 * fs/minix.c (grub_minix_read_file): Correct offset check.
24495 * fs/ufs.c (grub_ufs_read_file): Likewise.
24496
b4f34077 244972009-08-28 Colin Watson <cjwatson@ubuntu.com>
24498
24499 * term/i386/pc/console.c (bios_data_area): Cast
24500 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
24501
e7c69859 245022009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24503
24504 1-bit optimised blitters.
24505
24506 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
24507 prototype.
24508 (grub_video_fbblit_replace_24bit_1bit): Likewise.
24509 (grub_video_fbblit_replace_16bit_1bit): Likewise.
24510 (grub_video_fbblit_replace_8bit_1bit): Likewise.
24511 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
24512 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
24513 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
24514 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
24515 function.
24516 (grub_video_fbblit_replace_24bit_1bit): Likewise.
24517 (grub_video_fbblit_replace_16bit_1bit): Likewise.
24518 (grub_video_fbblit_replace_8bit_1bit): Likewise.
24519 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
24520 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
24521 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
24522 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
24523 when possible.
24524 * video/video.c (grub_video_get_blit_format): Return
24525 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
24526
a57da43f 245272009-08-28 Colin Watson <cjwatson@ubuntu.com>
24528
24529 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
24530 the first argument to grub_printf.
24531
4cbe67e5 245322009-08-28 Colin Watson <cjwatson@ubuntu.com>
245332009-08-28 Robert Millan <rmh.grub@aybabtu.com>
24534
24535 Add `getkeystatus' terminal method. Add a new `keystatus' command
24536 to query it.
24537
24538 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
24539 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
24540 modifier key bitmasks.
24541 (struct grub_term_input): Add `getkeystatus' member.
24542 (grub_getkeystatus): Add prototype.
24543 * kern/term.c (grub_getkeystatus): New function.
24544
24545 * include/grub/i386/pc/memory.h
24546 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
24547 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
24548 Data Area layout.
24549 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
24550 (grub_console_term_input): Set `getkeystatus' member.
24551 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
24552 constants.
24553 (grub_usb_keyboard_getreport): Likewise.
24554 (grub_usb_keyboard_checkkey): Likewise.
24555 (grub_usb_keyboard_getkeystatus): New function.
24556 (grub_usb_keyboard_term): Set `getkeystatus' member.
24557
24558 * commands/keystatus.c: New file.
24559 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
24560 (keystatus_mod_SOURCES): New variable.
24561 (keystatus_mod_CFLAGS): Likewise.
24562 (keystatus_mod_LDFLAGS): Likewise.
24563 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
24564 commands/keystatus.c.
24565 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24566 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24567 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24568 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24569 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24570 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 24571
6e2a9085 245722009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
24573
24574 Split befs.mod and afs.mod into *_be.mod and *.mod
24575
24576 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
24577 (grub_fstest_SOURCES): Likewise.
24578 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
24579 (afs_be_mod_SOURCES): New variable.
24580 (afs_be_mod_CFLAGS): Likewise.
24581 (afs_be_mod_LDFLAGS): Likewise.
24582 (befs_be_mod_SOURCES): Likewise.
24583 (befs_be_mod_CFLAGS): Likewise.
24584 (befs_be_mod_LDFLAGS): Likewise.
24585 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
24586 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24587 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24588 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24589 (grub_emu_SOURCES): Likewise.
24590 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24591 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24592 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24593 * fs/afs_be.c: New file.
24594 * fs/befs_be.c: New file.
24595 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
24596 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
24597 (U16): Replaced with ...
24598 (grub_afs_to_cpu16): ...this. All users updated.
24599 (U32): Replaced with ...
24600 (grub_afs_to_cpu32): ...this. All users updated.
24601 (U64): Replaced with ...
24602 (grub_afs_to_cpu64): ...this. All users updated.
24603 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
24604 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 24605 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 24606 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
24607 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
24608 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
24609 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
24610 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
24611 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
24612 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
24613 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
24614
32a71655 246152009-08-26 Bean <bean123ch@gmail.com>
24616
24617 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
24618 64-bit number.
24619 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
24620 (grub_xfs_inode_block): Change return type to grub_uint64_t.
24621 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
24622
552bf6c5 246232009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24624
24625 NetBSD memory map support.
24626
24627 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
24628 (grub_netbsd_btinfo_mmap_header): New structure.
24629 (grub_netbsd_btinfo_mmap_entry): Likewise.
24630 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
24631
1ae2078c 246322009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24633
24634 Enable bsd.mod on coreboot.
24635
24636 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
24637 (bsd_mod_SOURCES): New variable.
24638 (bsd_mod_CFLAGS): Likewise.
24639 (bsd_mod_LDFLAGS): Likewise.
24640 (bsd_mod_ASFLAGS): Likewise.
24641 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
24642 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
24643
beefc598 246442009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24645
24646 Cleanup NetBSD root support.
24647
24648 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
24649 grub_bsd_get_device.
24650 Fix typo.
24651
3b76e68b 246522009-08-25 Felix Zielcke <fzielcke@z-51.de>
24653
24654 * util/grub.d/00_header.in: Move check for the video backend of
24655 gfxterm from here ...
24656 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
24657 a suitable video backend.
24658
aea664ea 246592009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24660
24661 Fix breakage in grub-setup.
24662
24663 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
24664 "msdos_partition_map".
24665
ff747d50 246662009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24667
24668 Fix breakage in normal/auth.c.
24669
24670 * normal/auth.c (grub_iswordseparator): New function.
24671
e7e1f93f 246722009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
24673
24674 Authentication support.
24675
24676 * commands/password.c: New file.
24677 * conf/common.rmk (pkglib_MODULES): Add password.mod.
24678 (password_mod_SOURCES): New variable.
24679 (password_mod_CFLAGS): Likewise.
24680 (password_mod_LDFLAGS): Likewise.
24681 (normal_mod_SOURCES): Add normal/auth.c.
24682 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
24683 normal/auth.c.
24684 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24685 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24686 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24687 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24688 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24689 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24690 * include/grub/auth.h: New file.
24691 * include/grub/err.h (grub_err_t): New enum value
24692 GRUB_ERR_ACCESS_DENIED.
24693 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
24694 'users'.
24695 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
24696 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
24697 users updated.
24698 * normal/auth.c: New file.
24699 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
24700 (grub_cmdline_run): Don't allow to go to command line without
24701 authentication.
24702 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
24703 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
24704 menuentry without superuser rights.
24705 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
24706 user isn't a superuser.
24707
70f1161d 247082009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24709
24710 Save space by inlining misc.c functions.
24711
24712 * kern/misc.c (grub_iswordseparator): Made static.
24713 * kern/misc.c (grub_strcat): Moved from here ...
24714 * include/grub/misc.h (grub_strcat): ... here. Inlined.
24715 * kern/misc.c (grub_strncat): Moved from here ...
24716 * include/grub/misc.h (grub_strncat): ... here. Inlined.
24717 * kern/misc.c (grub_strcasecmp): Moved from here ...
24718 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
24719 * kern/misc.c (grub_strncasecmp): Moved from here ...
24720 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
24721 * kern/misc.c (grub_isalpha): Moved from here ...
24722 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
24723 * kern/misc.c (grub_isdigit): Moved from here ...
24724 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
24725 * kern/misc.c (grub_isgraph): Moved from here ...
24726 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
24727 * kern/misc.c (grub_tolower): Moved from here ...
24728 * include/grub/misc.h (grub_tolower): ... here. Inlined.
24729
48e40bff 247302009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24731
24732 * script/sh/function.c (grub_script_function_find): Cut error message
24733 not to flood terminal.
24734 * script/sh/lexer.c (grub_script_yylex): Remove command line length
24735 limit.
24736 * script/sh/script.c (grub_script_arg_add): Duplicate string.
24737
c385bfc3 247382009-08-24 Colin Watson <cjwatson@ubuntu.com>
24739
24740 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
24741 `report' grub_uint8_t *.
24742 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
24743 Use a 50-millisecond timeout rather than just repeating
24744 grub_usb_keyboard_getreport 50 times.
24745 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
24746
2d21e3e8 247472009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24748
24749 Rename *_partition_map to part_*
24750
24751 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
24752 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
24753 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
24754 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
24755 All users updated.
24756 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
24757 All users updated.
24758 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
24759 * util/grub-probe.c (probe_partmap): Don't transform partition name
24760 to get module name.
24761
dd103c4e 247622009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24763
24764 Fix OpenBSD and NetBSD support.
24765
24766 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
24767 memory address conflict.
24768 (OPENBSD_MMAP_ACPI): New definition.
24769 (OPENBSD_MMAP_NVS): Likewise.
24770 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
24771 and OPENBSD_MMAP_NVS.
24772 Add memory map terminator
24773 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 24774 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 24775
16c84d74 247762009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24777
24778 Let user specify NetBSD root device.
24779
24780 * loader/i386/bsd.c (netbsd_root): New variable.
24781 (netbsd_opts): New option 'root'.
24782 (NETBSD_ROOT_ARG): New macro.
24783 (grub_netbsd_boot): Use 'netbsd_root'.
24784 (grub_bsd_unload): Free 'netbsd_root'.
24785 (grub_cmd_netbsd): Fill 'netbsd_root'.
24786
adb29902 247872009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24788
24789 Support for 64-bit NetBSD.
24790
24791 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
24792 point when booting non-FreeBSD.
24793
f5ae9f74 247942009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
24795
24796 Support --no-smp and --no-acpi for NetBSD.
24797
24798 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
24799 (NETBSD_AB_NOACPI): Likewise.
24800 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
24801 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
24802
de74f136 248032009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24804
24805 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
24806 errors.
24807 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
24808 errors. Call grub_error when needed.
24809
e9a925da 248102009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24811
24812 * commands/search.c (search_fs): Try searching without autoload first.
24813 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
24814 filesystem module explicitly for faster booting.
24815
5174302b 248162009-08-23 Colin Watson <cjwatson@ubuntu.com>
24817
24818 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
24819
c8c80635 248202009-08-23 Colin Watson <cjwatson@ubuntu.com>
24821
24822 * util/grub.d/30_os-prober.in: Disable os-prober if
24823 `GRUB_DISABLE_OS_PROBER' was set to true.
24824
71acf5e5 248252009-08-23 Robert Millan <rmh.grub@aybabtu.com>
24826
24827 * partmap/pc.c: Rename to ...
24828 * partmap/msdos.c: ... this. Update all users.
24829 (grub_pc_partition_map): Rename to ...
24830 (grub_msdos_partition_map): ... this. Update all users.
24831
24832 * parttool/pcpart.c: Rename to ...
24833 * parttool/msdospart.c: ... this. Update all users.
24834
24835 * include/grub/pc_partition.h: Rename to ...
24836 * include/grub/msdos_partition.h: ... this. Update all users.
24837 (grub_pc_partition_bsd_entry): Rename to ...
24838 (grub_msdos_partition_bsd_entry): ... this. Update all users.
24839 (grub_pc_partition_disk_label): Rename to ...
24840 (grub_msdos_partition_disk_label): ... this. Update all users.
24841 (grub_pc_partition_entry): Rename to ...
24842 (grub_msdos_partition_entry): ... this. Update all users.
24843 (grub_pc_partition_mbr): Rename to ...
24844 (grub_msdos_partition_mbr): ... this. Update all users.
24845 (grub_pc_partition): Rename to ...
24846 (grub_msdos_partition): ... this. Update all users.
24847 (grub_pc_partition_is_empty): Rename to ...
24848 (grub_msdos_partition_is_empty): ... this. Update all users.
24849 (grub_pc_partition_is_extended): Rename to ...
24850 (grub_msdos_partition_is_extended): ... this. Update all users.
24851 (grub_pc_partition_is_bsd): Rename to ...
24852 (grub_msdos_partition_is_bsd): ... this. Update all users.
24853
24854 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
24855 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
24856 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
24857 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
24858 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
24859 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
24860 (gpt_mod_LDFLAGS): Rename to ...
24861 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
24862 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
24863 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
24864 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
24865 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
24866 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
24867 (part_gpt_mod_LDFLAGS): ... this.
24868 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
24869 `pcpart.mod' to `msdospart.mod'.
24870 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
24871 to ...
24872 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
24873 (msdospart_mod_LDFLAGS): ... this.
24874
c11fded5 248752009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
24876
24877 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
24878 (openbsd_opts): Likewise.
24879 (netbsd_opts): Likewise.
24880 (freebsd_flags): Added 0 terminator.
24881 (openbsd_flags): Likewise.
24882 (netbsd_flags): Likewise.
24883 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
24884 (grub_cmd_freebsd): Transformed into extended command.
24885 (grub_cmd_openbsd): Likewise.
24886 (grub_cmd_netbsd): Likewise.
24887 (cmd_freebsd): Changed type to grub_extcmd_t.
24888 (cmd_openbsd): Likewise.
24889 (cmd_netbsd): Likewise.
24890 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
24891 grub_cmd_openbsd as extended commands.
24892 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
24893 cmd_netbsd and cmd_openbsd
24894
11d1c769 248952009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
24896
24897 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
24898
7a9094e5 248992009-08-21 Pavel Roskin <proski@gnu.org>
24900
5496c37e 24901 * Makefile.in (install-local): When checking if a file is in the
24902 build directory, use "test -e" to detect symlinks.
24903
7a9094e5 24904 * Makefile.in (install-local): Remove all files in
24905 $(DESTDIR)$(pkglibdir) before installing new files there.
24906
e53cea11 249072009-08-18 Felix Zielcke <fzielcke@z-51.de>
24908
24909 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
24910 grub-mkelfimage.
24911
9aced544 249122009-08-18 Felix Zielcke <fzielcke@z-51.de>
24913
24914 * util/grub-mkconfig.in: Don't use gfxterm by default if not
24915 explicitly specified by the user.
24916
b7da6bab 249172009-08-18 Pavel Roskin <proski@gnu.org>
24918
24919 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
24920 grub_uint8_t pointer for data.
24921 * include/grub/fbutil.h (struct grub_video_fbblit_info):
24922 Likewise.
24923 * video/fb/fbutil.c: Remove unnecessary casts.
24924
19f1b335 249252009-08-17 Michal Suchanek <hramrach@centrum.cz>
24926
24927 VBE cleanup.
24928
24929 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
24930 (grub_vbe_set_video_mode): Save active mode info
24931 only after setting the mode.
24932 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
24933 second argument.
24934
2f467aa9 249352009-08-17 Michal Suchanek <hramrach@centrum.cz>
24936
24937 Rename variables for clarity.
24938
24939 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
24940 (active_vbe_mode_info): ... this. All users updated.
24941 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
24942 All users updated.
24943 (initial_mode): Rename to ...
24944 (initial_vbe_mode): ... this. All users updated.
24945 (mode_in_use): Rename to ..
24946 (vbe_mode_in_use): ... this. All users updated.
24947 (mode_list): Rename to ..
24948 (vbe_mode_list): ... this. All users updated.
24949 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
24950 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
24951 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
24952 'mode_list_size' to 'vbe_mode_list_size'.
24953 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
24954 'best_mode_info' to 'best_vbe_mode_info' and
24955 'best_mode' to 'best_vbe_mode'
24956
6025fcd7 249572009-08-17 Michal Suchanek <hramrach@centrum.cz>
24958
24959 Remove duplicate grub_video_fb_get_video_ptr.
24960
24961 * include/grub/fbutil.h (get_data_ptr): Rename to ...
24962 (grub_video_fb_get_video_ptr): ... this.
24963 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
24964 * video/fb/fbutil.c: Add comment about addressing.
24965 (get_data_ptr): Rename to ...
24966 (grub_video_fb_get_video_ptr): ... this. All users updated.
24967 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
24968
cc8c6faf 249692009-08-17 Robert Millan <rmh.grub@aybabtu.com>
24970
24971 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
24972 grub_dprintf() that was just added.
24973
08aa61f0 249742009-08-17 Robert Millan <rmh.grub@aybabtu.com>
24975
24976 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
24977 (DEFAULT_VIDEO_MODE): Remove macros.
24978 (grub_linux_boot): Remove assumption that Linux has FB support,
24979 and use "text" as default video mode.
24980
7cef4f75 249812009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
24982
24983 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
24984 grub_dprintf.
24985 * fs/fat.c (grub_fat_read_data): Likewise.
24986
e1f39873 249872009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24988
24989 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
24990 payload.
24991 (grub_module): Likewise.
24992
c166d79e 249932009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24994
24995 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
24996 mbi->cmdline but free playground.
24997
c60cee8e 249982009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
24999
25000 Handle group offset on UFS1.
25001
25002 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
25003 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
25004
c0d8b5d4 250052009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25006
25007 Split ufs.mod into ufs1.mod and ufs2.mod.
25008
25009 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
25010 (grub_fstest_SOURCES): Likewise.
25011 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
25012 (ufs_mod_SOURCES): Remove.
25013 (ufs_mod_CFLAGS): Likewise.
25014 (ufs_mod_LDFLAGS): Likewise.
25015 (ufs1_mod_SOURCES): New variable.
25016 (ufs1_mod_CFLAGS): Likewise.
25017 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 25018 (ufs2_mod_SOURCES): New variable.
25019 (ufs2_mod_CFLAGS): Likewise.
25020 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 25021 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
25022 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
25023 Likewise.
25024 (grub_emu_SOURCES): Likewise.
25025 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25026 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25027 (grub_setup_SOURCES): Likewise.
25028 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25029 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
25030 (grub_setup_SOURCES): Likewise.
25031 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
25032 Likewise.
25033 * fs/ufs2.c: New file.
25034 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
25035
d3539132 250362009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
25037
25038 Framebuffer split.
25039
25040 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
25041 subsystem at the end.
25042 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
25043 (video_fb_mod_SOURCES): New variable.
25044 (video_fb_mod_CFLAGS): Likewise.
25045 (video_fb_mod_LDFLAGS): Likewise.
25046 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
25047 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
25048 * video/i386/pc/vbeblit.c: Moved from here ...
25049 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
25050 * video/i386/pc/vbefill.c: Moved from here ...
25051 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
25052 * video/i386/pc/vbeutil.c: Moved from here ...
25053 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
25054 * include/grub/i386/pc/vbeblit.h: Moved from here ...
25055 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
25056 * include/grub/i386/pc/vbefill.h: Moved from here ...
25057 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
25058 * include/grub/i386/pc/vbeutil.h: Moved from here ...
25059 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
25060 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
25061 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
25062 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
25063 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
25064 (grub_video_adapter): Added 'get_info_and_fini'.
25065 (grub_video_get_info_and_fini): New prototype.
25066 (grub_video_set_mode): make modestring const char *.
25067 * loader/i386/linux.c (grub_linux_setup_video): Use
25068 grub_video_get_info_and_fini.
25069 (grub_linux_boot): Move modesetting just before booting.
25070 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
25071 grub_video_get_info_and_fini.
25072 * video/i386/pc/vbe.c: Moved framebuffer part ...
25073 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
25074 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
25075 grub_video_fbstd_colors and grub_video_fb_set_palette.
25076 (grub_video_vbe_init): Clear 'framebuffer' variable and use
25077 grub_video_fb_init.
25078 (grub_video_vbe_fini): Use grub_video_fb_fini.
25079 (grub_video_vbe_setup): Use framebuffer.render_target instead of
25080 render_target and use grub_video_fb_set_active_render_target and
25081 grub_video_fb_set_palette.
25082 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
25083 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
25084 (grub_video_vbe_adapter): Use framebuffer.
25085 * video/video.c (grub_video_get_info_and_fini): New function.
25086 (grub_video_set_mode): Make modestring const char *.
25087 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
25088 values are already initialised.
25089
d404ee56 250902009-08-14 Pavel Roskin <proski@gnu.org>
25091
25092 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
25093 ABS and APPLE_CC.
25094 * boot/i386/pc/diskboot.S: Likewise.
25095 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
25096 sectors allow compilation on MacOSX.
25097 * conf/i386-pc.rmk: Enable unconditional compilation of
25098 lnxboot.img.
25099
9a10df16 251002009-08-13 Colin Watson <cjwatson@ubuntu.com>
25101
25102 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
25103 * util/grub.d/00_header.in: Enter interruptible sleep if
25104 GRUB_HIDDEN_TIMEOUT is set.
25105
be3c9ca7 251062009-08-13 Yves Blusseau <blusseau@zetam.org>
25107
25108 * include/grub/symbol.h: Add the LOCAL macro.
25109 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
25110 starting with "L_".
25111
1f9e557e 251122009-08-13 Pavel Roskin <proski@gnu.org>
25113
9ca62843 25114 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
25115 any modern compilers we support.
25116
1f9e557e 25117 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
25118 Use local labels starting with "L_" so that Apple assembler
25119 knows they are local.
25120
81623db6 251212009-08-10 Robert Millan <rmh.grub@aybabtu.com>
25122
25123 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
25124 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
25125 (bsd_kernel_types): ... this enum.
25126
25127 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
25128 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
25129 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
25130
25131 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
25132 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
25133 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
25134 messages.
25135
f5d35e7a 251362009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25137
25138 * util/grub-dumpdevtree: Moved from here ...
25139 * util/i386/efi/grub-dumpdevtree: ... to here.
25140 (hexify): New function. Converts a string to its hex version.
25141 Generate hex versions of "efi" and "device-properties" by calling
25142 hexify() on the ASCII strings rather than by hardcoding numbers.
25143
d1e1d527 251442009-08-08 Robert Millan <rmh.grub@aybabtu.com>
25145
25146 * fs/jfs.c: Update copyright year.
25147
1ebbe064 251482009-08-08 Felix Zielcke <fzielcke@z-51.de>
25149
25150 * util/grub.d/00_header.in: Fix a comment.
25151 * util/grub.d/10_linux.in: Likewise.
25152 * util/grub.d/10_windows.in: Likewise.
25153 * util/grub.d/10_hurd.in: Likewise.
25154
a78c8d24 251552009-08-08 Felix Zielcke <fzielcke@z-51.de>
25156
25157 * util/grub-mkconfig.in: Allow the user to specify the used font
25158 with GRUB_FONT.
25159
29a6b9e8 251602009-08-08 Pavel Roskin <proski@gnu.org>
25161
b5f16cc4 25162 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
25163 available, xfs.mod needs it now.
25164
2f5cb827 25165 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
25166 the "g" modifier in sed when the intention is to strip something
25167 once. This fixes comparison of kernels with multiple dashes.
25168
29a6b9e8 25169 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
25170 on it. Add missing space before closing bracket. Fix
25171 misleading formatting.
25172
892a3d98 251732009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25174
25175 * docs/grub.texi: Major overhaul. Remove all sections that are
25176 specific to GRUB Legacy, or mostly composed of Legacy-specific
25177 information.
25178
ed94253f 251792009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25180
25181 * docs/version.texi: New file. Provides version information for
25182 grub.texi.
25183
126d6628 251842009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25185
25186 * docs/grub.texi: Update CVS information to SVN.
25187 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
25188
998b5aa9 251892009-08-07 Felix Zielcke <fzielcke@z-51.de>
25190
25191 * util/grub-mkconfig.in: Remove a wrong `fi'.
25192
818e094a 251932009-08-07 Felix Zielcke <fzielcke@z-51.de>
25194
25195 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
25196 (grub_jfs_uuid): New function.
25197 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
25198
b969c52f 251992009-08-07 Felix Zielcke <fzielcke@z-51.de>
25200
25201 * util/grub-mkconfig_lib.in (font_path): Move the functionality
25202 of it to ...
25203 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
25204 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
25205
7a4894cc 252062009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25207
25208 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
25209 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
25210 Update all users.
25211
25212 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
25213 not just "vmlinu[zx]".
25214 Moved from here ...
25215 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
25216 all users.
25217
25218 * util/grub.d/10_linux.in (find_latest): Moved from here ...
25219 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
25220 all users.
25221
4e2171f8 252222009-08-07 Robert Millan <rmh.grub@aybabtu.com>
25223
25224 * util/grub.d/10_freebsd.in: Use an absolute device path for
25225 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
25226
6dcfcb32 252272009-08-06 Felix Zielcke <fzielcke@z-51.de>
25228
25229 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
25230 handling of multiple abstraction modules.
25231
f56a8756 252322009-08-04 Robert Millan <rmh.grub@aybabtu.com>
25233
25234 Fix a bug resulting in black screen when loading Linux using a
25235 packed video mode.
25236
25237 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
25238 function.
25239
25240 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
25241 (grub_vbe_bios_getset_dac_palette_width): New function.
25242 (grub_vbe_bios_get_dac_palette_width)
25243 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
25244 grub_vbe_bios_getset_dac_palette_width()).
25245
25246 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
25247 check for return status.
25248 (grub_vbe_get_video_mode_info): When getting information for a packed
25249 mode (<= 8 bpp), obtain DAC palette width using
25250 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
25251 {red,green,blue}_mark_size.
25252
222671b2 252532009-08-04 Felix Zielcke <fzielcke@z-51.de>
25254
ecb1a6d9 25255 * commands/search.c (options): Fix help output to match actual code.
222671b2 25256
f84114f5 252572009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
25258
25259 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
25260 of homegrown code.
25261
bd288a20 252622009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 25263
25264 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
25265 on XFS or ReiserFS.
25266
8aab5e25 252672009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25268
25269 Support Apple partition map with sector size different from 512 bytes.
25270
25271 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
25272 (apple_partition_map_iterate): Respect 'aheader.blocksize'
25273 and 'apart.partmap_size'.
25274
6ad6258a 252752009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
252762009-08-01 Robert Millan <rmh.grub@aybabtu.com>
25277
25278 Fix cpuid command.
25279
25280 * commands/i386/cpuid.c (options): New variable.
25281 (grub_cmd_cpuid): Return real error.
25282 (GRUB_MOD_INIT(cpuid)): Declare options.
25283
67459bc6 252842009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
25285
25286 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
25287 valid.
25288
fbc6ab54 252892009-07-31 Bean <bean123ch@gmail.com>
25290
25291 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
25292 log2_inode.
25293 (grub_fshelp_node): Move inode field to the end.
25294 (grub_xfs_data): Remove inode field.
25295 (grub_xfs_inode_block): Calculate inode size using sblock.
25296 (grub_xfs_inode_offset): Likewise.
25297 (grub_xfs_read_inode): Calculate inode size using sblock.
25298 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
25299 (grub_xfs_iterate_dir): Calculate inode size using sblock.
25300 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
25301 to match inode size.
25302 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
25303 not accessible when data is null.
25304 (grub_xfs_open): Likewise.
25305
f45d6cfc 253062009-07-31 Bean <bean123ch@gmail.com>
25307
25308 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
25309 Don't change pv->disk if it's already set.
25310
25311 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
25312 (grub_raid_register): ... here.
25313 (grub_raid_rescan): Removed.
25314
25315 * include/grub/raid.h (grub_raid_rescan): Removed.
25316
25317 * util/grub-fstest.c: Remove include file <grub/raid.h>.
25318 (fstest): Replace grub_raid_rescan with module fini function followed
25319 by init function.
25320
25321 * util/grub-probe.c: Add include file <grub/raid.h>.
25322 (probe_raid_level): New function.
25323 (probe): Detect abstraction by walking the disk device, support two
25324 level of abstraction (LVM on RAID) when detecting partition map.
25325
24443b5a 253262009-07-31 Pavel Roskin <proski@gnu.org>
25327
25328 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
25329 to grub_zalloc(), it was erroneous.
25330 Reported by Bean <bean123ch@gmail.com>
25331
a275d9e7 253322009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
25333
25334 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 25335 embedding zone, not only the first one.
a275d9e7 25336
56c5a47f 253372009-07-29 Joe Auricchio <jauricchio@gmail.com>
25338
25339 * term/gfxterm.c (clear_char): New function.
25340 (grub_virtual_screen_setup): Use clear_char.
25341 (scroll_up): Likewise.
25342 (grub_virtual_screen_cls): Likewise.
25343
67bb323a 253442009-07-29 Felix Zielcke <fzielcke@z-51.de>
25345
25346 * util/deviceiter.c (get_acceleraid_disk_name): New static
25347 function.
25348 (grub_util_iterate_devices): Handle Accelraid devices.
25349 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
25350
388a7c75 253512009-07-28 Robert Millan <rmh.grub@aybabtu.com>
25352
25353 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
25354 separator for the suggested gfxpayload string (';' collides with the
25355 parser and needs escaping).
25356
3bb7abcf 253572009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
25358
25359 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
25360 Clear direction flag before jumping to OS.
25361 (grub_multiboot2_real_boot): Likewise.
25362
2ddd36d7 253632009-07-28 Felix Zielcke <fzielcke@z-51.de>
25364
25365 * util/i386/pc/grub-install: Fix parsing of --disk-module
25366 option.
25367
c521b62b 253682009-07-28 Felix Zielcke <fzielcke@z-51.de>
25369
25370 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
25371 when embedding.
25372
880e0a0c 253732009-07-26 Felix Zielcke <fzielcke@z-51.de>
25374
25375 * util/grub-mkconfig.in (package_version): New variable.
25376 Use it do display the version.
25377
2366e356 253782009-07-25 Felix Zielcke <fzielcke@z-51.de>
25379
25380 * kern/file.c (grub_file_open): Revert to previous check with
25381 grub_errno.
25382
7ad8c80e 253832009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
25384
25385 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
25386 from help line. It's out of sync with code.
25387
72b9658b 253882009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
25389
25390 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
25391 entries on failed boot.
25392
77435277 253932009-07-25 Felix Zielcke <fzielcke@z-51.de>
25394
25395 * kern/file.c (grub_file_open): Fix an error check.
25396
fcaa8b21 253972009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
25398
35d16c74 25399 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
25400 partition map couldn't be identified.
fcaa8b21 25401
48904cd1 254022009-07-23 Pavel Roskin <proski@gnu.org>
25403
ef3c317f 25404 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
25405 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
25406 case of little endian words becomes just an optimization.
25407 Respect const modifier.
ad8ea1f4 25408 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 25409
48904cd1 25410 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
25411 to avoid loss of upper bits if align is unsigned and shorter
25412 than addr.
25413
260c9a89 254142009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
25415
25416 UUID support for UFS
25417
25418 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
25419 (grub_ufs_uuid): New function.
25420 (grub_ufs_fs): add .uuid
25421
f76ce889 254222009-07-21 Pavel Roskin <proski@gnu.org>
25423
25424 * kern/dl.c (grub_dl_check_header): Make static.
25425
6a6cbcaf 254262009-07-21 Felix Zielcke <fzielcke@z-51.de>
25427
25428 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
25429 add drivemap for Vista. It breaks Windows 7.
25430
cffcddb2 254312009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
25432
25433 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
25434 128 bytes
25435
1ef44b80 254362009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25437
25438 Add BFS support
25439
25440 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
25441 (grub_fstest_SOURCES): Likewise.
25442 (pkglib_MODULES): Add befs.mod.
25443 (befs_mod_SOURCES): New variable.
25444 (befs_mod_CFLAGS): Likewise.
25445 (befs_mod_LDFLAGS): Likewise.
25446 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25447 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25448 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25449 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25450 (grub_setup_SOURCES): Likewise.
25451 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25452 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25453 (grub_setup_SOURCES): Likewise.
25454 * fs/befs.c: New file.
25455 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
25456 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
25457 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
25458 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
25459 (B_KEY_INDEX_ALIGN): New declaration.
25460 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
25461 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
25462 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
25463 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
25464 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
25465 (grub_afs_mount) [MODE_BFS]: Likewise.
25466 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
25467 (grub_afs_fs): Use GRUB_AFS_FSNAME
25468 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
25469 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
25470 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
25471 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
25472
4f253044 254732009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
25474
25475 * util/getroot.c (find_root_device): Add support for MacOSX.
25476 * util/hostdisk.c: Likewise.
25477
57a55913 254782009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25479
25480 * font/font.c (find_glyph): Check whether a font is present to avoid
25481 segmentation fault.
75421ca9 25482
254832009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 25484
25485 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
25486
e98cd0c2 254872009-07-20 Pavel Roskin <proski@gnu.org>
25488
25489 * configure.ac: Trim excessively wordy excuses.
25490
1d2d169a 254912009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25492
25493 Add symlink, mtime and label support to AtheFS.
25494
25495 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
25496 (grub_afs_iterate_dir): Handle symlinks.
25497 (grub_afs_open): Use grub_afs_read_symlink.
25498 (grub_afs_dir): Likewise.
25499 Pass mtime.
25500 (grub_afs_label): New function.
25501 (grub_afs_fs): Add grub_afs_label.
25502 (grub_afs_read_symlink): New function.
25503
186f3189 255042009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
25505
25506 Fix AtheFS support.
25507
25508 * fs/afs.c: Fix comments style.
25509 (grub_afs_blockrun): Declare as packed.
25510 (grub_afs_datastream): Likewise.
25511 (grub_afs_bnode): Likewise.
25512 (grub_afs_btree): Likewise.
25513 (grub_afs_sblock): Likewise.
25514 Declare `name' as char.
25515 (grub_afs_inode): Declare as packed.
25516 Change void *vnode to grub_uint32_t unused.
25517 (grub_afs_iterate_dir): Check that key_size is positive.
25518 (grub_afs_mount): Don't read superblock twice.
75421ca9 25519 (grub_afs_dir): Don't free node in case of error,
186f3189 25520 grub_fshelp_find_file already handles this.
25521 (grub_afs_open): Likewise.
25522
5680109e 255232009-07-19 Pavel Roskin <proski@gnu.org>
25524
25525 * Makefile.in: Remove LIBLZO and enable_lzo.
25526 * conf/i386-pc.rmk: Remove lzo support.
25527 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
25528 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
25529 support.
25530 * kern/i386/pc/lzo1x.S: Remove.
25531 * kern/i386/pc/startup.S: Remove lzo support.
25532 * util/i386/pc/grub-mkimage.c: Likewise.
25533
ac70fa32 255342009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
25535
25536 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
25537 * fs/xfs.c (grub_xfs_dir): Likewise.
25538 * fs/afs.c (grub_afs_dir): Likewise.
25539 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
25540 (grub_iso9660_open): Likewise.
25541 * fs/jfs.c (grub_jfs_open): Likewise.
25542 * fs/ext2.c (grub_ext2_dir): Likewise.
25543 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
25544 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 25545
eab58da2 255462009-07-16 Pavel Roskin <proski@gnu.org>
25547
d2838156 25548 * configure.ac: Never add "-c" to CFLAGS.
25549
55c70904 25550 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
25551
43e6200c 25552 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
25553 grub_cv_cc_efiemu should be used.
25554
ce7a733d 25555 * configure.ac: Typo fixes.
25556
eab58da2 25557 * kern/mm.c (grub_zalloc): New function.
25558 (grub_debug_zalloc): Likewise.
25559 * include/grub/mm.h: Declare grub_zalloc() and
25560 grub_debug_zalloc().
25561 * util/misc.c (grub_zalloc): New function.
25562 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
25563 instead of grub_malloc(), remove unneeded initializations.
25564 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
25565 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
25566 * commands/parttool.c (grub_cmd_parttool): Likewise.
25567 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
25568 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
25569 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
25570 * disk/usbms.c (grub_usbms_finddevs): Likewise.
25571 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
25572 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
25573 (grub_cmd_efiemu_pnvram): Likewise.
25574 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
25575 * fs/iso9660.c (grub_iso9660_mount): Likewise.
25576 (grub_iso9660_iterate_dir): Likewise.
25577 * fs/jfs.c (grub_jfs_opendir): Likewise.
25578 * fs/ntfs.c (list_file): Likewise.
25579 (grub_ntfs_mount): Likewise.
25580 * kern/disk.c (grub_disk_open): Likewise.
25581 * kern/dl.c (grub_dl_load_core): Likewise.
25582 * kern/elf.c (grub_elf_file): Likewise.
25583 * kern/env.c (grub_env_context_open): Likewise.
25584 (grub_env_set): Likewise.
25585 (grub_env_set_data_slot): Likewise.
25586 * kern/file.c (grub_file_open): Likewise.
25587 * kern/fs.c (grub_fs_blocklist_open): Likewise.
25588 * loader/i386/multiboot.c (grub_module): Likewise.
25589 * loader/xnu.c (grub_xnu_create_key): Likewise.
25590 (grub_xnu_create_value): Likewise.
25591 * normal/main.c (grub_normal_add_menu_entry): Likewise.
25592 (read_config_file): Likewise.
25593 * normal/menu_entry.c (make_screen): Likewise.
25594 * partmap/sun.c (sun_partition_map_iterate): Likewise.
25595 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
25596 * script/sh/script.c (grub_script_parse): Likewise.
25597 * video/bitmap.c (grub_video_bitmap_create): Likewise.
25598 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
25599 * video/readers/png.c (grub_png_output_byte): Likewise.
25600 (grub_video_reader_png): Likewise.
25601
830afef7 256022009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 25603
25604 Enable all targets that can be built by default
25605
830afef7 25606 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 25607 grub-mkfont and grub-fstest if they can be built
25608
ee293aee 256092009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25610
25611 Fix hang and segmentation fault in grub-emu-usb
25612
25613 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
25614 * util/usb.c (grub_libusb_devices): likewise
25615 (grub_libusb_init): rename to ...
25616 (GRUB_MOD_INIT (libusb)):...this
25617 (grub_libusb_fini): rename to ..
25618 (GRUB_MOD_FINI (libusb)):...this
25619 * disk/usbms.c (grub_usbms_transfer): fix retry logic
25620 * include/grub/disk.h (grub_raid_init): removed, it's useless
25621 (grub_raid_fini): likewise
25622 (grub_lvm_init): likewise
25623 (grub_lvm_fini): likewise
25624 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
25625 by grub_init_all
25626
94414221 256272009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25628
25629 Fix libusb
25630
25631 * Makefile.in (LIBUSB): new macro
25632 * genmk.rb (Utility/print_tail): new method
25633 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
25634 (top level): call util.print_tail at the end.
25635
59ade63d 256362009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25637
25638 Make FreeBSD accept zpool.cache
25639
25640 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
25641 type is /boot/zfs/zpool.cache
25642
a58da8c7 256432009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
25644
25645 Fix 64-bit efiemu
25646
25647 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
25648 correct wrong typedef
25649 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
25650
20591577 256512009-07-15 Pavel Roskin <proski@gnu.org>
25652
560ca572 25653 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
25654 * kern/disk.c (struct grub_disk_cache): Likewise.
25655
e8e8e4fd 25656 * commands/probe.c (options): Typo fix.
25657
fde24e10 25658 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
25659 Increase to 0x5a to accommodate FAT32. Adjust other offsets
25660 accordingly.
25661 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
25662
379c54c1 25663 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
25664 the end of "Error" to make the message more readable.
25665
7bd8f5bf 25666 * boot/i386/pc/boot.S (kernel_segment): Remove.
25667 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
25668 for destination.
25669
40b132c5 25670 * boot/i386/pc/boot.S (boot_version): Remove.
25671 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
25672 Remove.
25673
20591577 25674 * include/grub/i386/pc/boot.h: Sort all offsets.
25675 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
25676 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
25677 * boot/i386/pc/boot.S: Assert location of every offset listed in
25678 include/grub/i386/pc/boot.h.
25679
2df32b2c 256802009-07-13 Pavel Roskin <proski@gnu.org>
25681
44b5d879 25682 * include/grub/i386/coreboot/machine.h: Rename
25683 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
25684 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
25685 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
25686
17dc3751 25687 * kern/dl.c: Force native word size to suppress warnings when
25688 compiling grub-emu.
25689
2df32b2c 25690 * kern/device.c (grub_device_iterate): Change struct part_ent to
25691 hold the name, not a pointer to it. Use one grub_malloc() per
25692 partition, not two. Free partition_name if grub_malloc() fails.
25693 Set ents to NULL only before grub_partition_iterate() is called.
25694
75c59f59 256952009-07-11 Bean <bean123ch@gmail.com>
25696
25697 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
25698 childname.
25699
0ae1bf88 257002009-07-10 Bean <bean123ch@gmail.com>
257012009-07-10 Robert Millan <rmh.grub@aybabtu.com>
25702
25703 * kern/ieee1275/openfw.c (grub_children_iterate)
25704 (grub_devalias_iterate): Fix size evaluation for property or path
25705 strings, which was broken since r2132.
25706
8279cade 257072009-07-07 Pavel Roskin <proski@gnu.org>
25708
7d8a52d3 25709 * commands/search.c (search_file): Merge into ...
25710 (search_fs): ... this. Accept search type as argument.
25711 (grub_cmd_search): Pass search type to search_fs().
25712
25f9a05a 25713 * include/grub/util/console.h: New file.
25714 * util/console.c: Use it instead of grub/machine/console.h.
25715 * util/grub-emu.c: Likewise.
25716
8279cade 25717 * lib/arg.c (find_long_option): Remove.
25718 (find_long): Add `len' argument, make `s' const char *.
25719 (grub_arg_parse): Parse long options in place, not in a
25720 temporary buffer.
25721
4a11b60f 257222009-07-06 Pavel Roskin <proski@gnu.org>
25723
99f68041 25724 * commands/search.c (search_fs): Fix potential NULL pointer
25725 dereference.
25726
4a11b60f 25727 * commands/search.c (search_fs): Replace QUID macro with quid_fn
25728 function pointer.
25729
e110f4de 257302009-07-06 Daniel Mierswa <impulze@impulze.org>
25731
25732 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
25733 comparison.
25734
46eeb6a2 257352009-07-05 Pavel Roskin <proski@gnu.org>
25736
bab74958 25737 * include/grub/i386/linux.h (struct linux_kernel_params):
25738 Restore padding3, it's still needed.
25739
46eeb6a2 25740 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
25741 FreeBSD.
25742 * util/osdetect.lua: Likewise.
25743
b4a1dc79 257442009-07-05 Bean <bean123ch@gmail.com>
25745
25746 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
25747
25748 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
25749 (grub_lua_getenv): Likewise.
25750 (grub_lua_setenv): Likewise.
25751 (save_errno): New function.
25752 (push_result): Likewise.
25753 (grub_lua_enum_device): Likewise.
25754 (grub_lua_enum_file): Likewise.
25755 (grub_lua_file_open): Likewise.
25756 (grub_lua_file_close): Likewise.
25757 (grub_lua_file_seek): Likewise.
25758 (grub_lua_file_read): Likewise.
25759 (grub_lua_file_getline): Likewise.
25760 (grub_lua_file_getsize): Likewise.
25761 (grub_lua_file_getpos): Likewise.
25762 (grub_lua_file_eof): Likewise.
25763 (grub_lua_file_exist): Likewise.
25764 (grub_lua_add_menu): Likewise.
25765
25766 * script/lua/grub_lua.h (isupper): New inline function.
25767 (islower): Likewise.
25768 (ispunct): Likewise.
25769 (isxdigit): Likewise.
25770 (strcspn): Change to normal function.
25771 (strpbkr): New function declaration.
25772 (memchr): Likewise.
25773
25774 * script/lua/grub_main.c (scan_str): New function.
25775 (strcspn): Likewise.
25776 (strpbrk): Likewise.
25777 (memchr): Likewise.
25778
25779 * script/lua/linit.c (lualibs): Enable the string library.
25780
25781 * util/osdetect.lua: New file.
25782
2da92295 257832009-07-04 Robert Millan <rmh.grub@aybabtu.com>
25784
25785 * include/grub/i386/linux.h (struct linux_kernel_params): Add
25786 `capabilities' member.
25787
b2582ec9 257882009-07-02 Pavel Roskin <proski@gnu.org>
25789
25790 * genparttoollist.sh: Add missing newline at the end.
25791
32622956 257922009-07-01 Pavel Roskin <proski@gnu.org>
25793
87a7339e 25794 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
25795
d23af54e 25796 * util/hostdisk.c (open_device): Remove `const' from
25797 `sysctl_size', as sysctlbyname() can change it (in this case it
25798 doesn't actually happen).
25799
c94b18a9 25800 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
25801 using signed long int constants.
25802
c6cd3ef0 25803 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
25804 constant to avoid a warning on FreeBSD.
25805
0df63420 25806 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
25807 where it's needed.
25808
999577f1 25809 * Makefile.in: Install include/grub/machine symlink.
25810
6f41557f 25811 * Makefile.in: When installing symlinks, use "cp -fR", which
25812 works on FreeBSD and MacOSX.
25813 From Yves Blusseau <cl7m42e02@sneakemail.com>
25814
c8d22988 25815 * kern/dl.c (grub_dl_resolve_symbol): Make static.
25816 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
25817
1b96e952 25818 * util/misc.c: Move grub_reboot() and grub_halt() ...
25819 * util/grub-emu.c: ... here. Make main_env static.
25820 * include/grub/util/misc.h: Remove main_env.
25821
2ef0084d 25822 * kern/mm.c: Use correct format to print size_t.
25823
32622956 25824 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
25825 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
25826 * kern/powerpc/dl.c: Likewise.
25827 * kern/sparc64/dl.c: Likewise.
25828 * kern/x86_64/dl.c: Likewise.
25829
3f7f0cd0 258302009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25831
25832 Fix grub-emu build on sparc64-ieee1275.
25833
75421ca9 25834 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 25835 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
25836
211d06b5 258372009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25838
25839 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
25840 (grub_reboot, grub_halt): New functions.
25841
25842 * util/i386/pc/misc.c: Delete. Update all users.
25843 * util/sparc64/ieee1275/misc.c: Likewise.
25844 * util/powerpc/ieee1275/misc.c: Likewise.
25845
aaf53e3c 258462009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25847
25848 * conf/i386.rmk (setjmp_mod_SOURCES)
25849 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
25850 * conf/common.rmk (setjmp_mod_SOURCES)
25851 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
25852 to use $(target_cpu).
25853 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
25854 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
25855 * conf/powerpc-ieee1275.rmk: Likewise.
25856 * conf/sparc64-ieee1275.rmk: Likewise.
25857
25858 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
25859 $(target_cpu) for kern/$(target_cpu)/dl.c.
25860 * conf/i386-efi.rmk: Likewise.
25861 * conf/i386-ieee1275.rmk: Likewise.
25862 * conf/x86_64-efi.rmk: Likewise.
25863 * conf/i386-coreboot.rmk: Likewise.
25864 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
25865 $(target_cpu) for kern/$(target_cpu)/dl.c and for
25866 kern/$(target_cpu)/cache.S.
25867 * conf/sparc64-ieee1275.rmk: Likewise.
25868
a337130b 258692009-07-01 Robert Millan <rmh.grub@aybabtu.com>
25870
25871 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
25872 type to `grub_uint8_t', and adjust `padding9' accordingly.
25873
c6fe4d53 258742009-06-29 Robert Millan <rmh.grub@aybabtu.com>
25875
b09db61d 25876 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
25877
c6fe4d53 25878 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
25879 assembly in final jump, using register constraints.
25880
b09db61d 25881 (grub_linux_boot): For text mode, initialize `have_vga' using
25882 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
25883
25884 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
25885 right before the final jump.
25886
25887 Set `video_mode' to 0x3.
25888
25889 Document initialization of `video_page', `video_mode' and
25890 `video_ega_bx'.
25891
28333ad0 258922009-06-29 Robert Millan <rmh.grub@aybabtu.com>
25893
25894 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
25895 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 25896 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 25897
02164e1b 258982009-06-29 Robert Millan <rmh.grub@aybabtu.com>
25899
25900 Fix build on Debian / sparc.
25901
25902 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
25903
18b6c557 259042009-06-28 Pavel Roskin <proski@gnu.org>
25905
85f2aab6 25906 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
25907 fix a warning.
25908
18b6c557 25909 * util/grub.d/10_linux.in: Match SUSE style initrd names.
25910
ad760f81 259112009-06-27 Robert Millan <rmh.grub@aybabtu.com>
25912
25913 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
25914 `err'.
25915
87a4623b 259162009-06-27 Robert Millan <rmh.grub@aybabtu.com>
25917
25918 Revert r2338.
25919
25920 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
25921 file can't be opened. grub_file_open() is already supposed to set
75421ca9 25922 grub_errno / grub_errmsg appropriately.
87a4623b 25923 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25924
8231fb77 259252009-06-27 Pavel Roskin <proski@gnu.org>
259262009-06-27 Robert Millan <rmh.grub@aybabtu.com>
25927
25928 * include/grub/dl.h: Include grub/elf.h.
25929 (struct grub_dl): Add symtab field.
25930 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
25931 GRUB_MODULES_MACHINE_READONLY.
25932 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
25933 of the header for read-only modules.
25934 (grub_dl_unload): Free mod->symtab for read-only modules.
25935 * kern/i386/dl.c: Use mod->symtab.
25936 * kern/powerpc/dl.c: Likewise.
25937 * kern/sparc64/dl.c: Likewise.
25938 * kern/x86_64/dl.c: Likewise.
25939
25940 * conf/i386-qemu.rmk: New file.
25941 * kern/i386/qemu/startup.S: Likewise.
25942 * kern/i386/qemu/mmap.c: Likewise.
25943 * boot/i386/qemu/boot.S: Likewise.
25944 * include/grub/i386/qemu/time.h: Likewise.
25945 * include/grub/i386/qemu/serial.h: Likewise.
25946 * include/grub/i386/qemu/kernel.h: Likewise.
25947 * include/grub/i386/qemu/console.h: Likewise.
25948 * include/grub/i386/qemu/boot.h: Likewise.
25949 * include/grub/i386/qemu/init.h: Likewise.
25950 * include/grub/i386/qemu/machine.h: Likewise.
25951 * include/grub/i386/qemu/loader.h: Likewise.
25952 * include/grub/i386/qemu/memory.h: Likewise.
25953
25954 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
25955 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
25956 [qemu] (pkglib_IMAGES): Add `boot.img'.
25957 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
25958 [qemu] (boot_img_FORMAT): New variables.
25959 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
25960 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
25961 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
25962 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
25963 [qemu] (kernel_img_FORMAT): New variables.
25964
25965 * configure.ac: Recognise `i386-qemu'.
25966
25967 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
25968 (for no compression).
25969 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
25970 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
25971 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
25972 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
25973 ifdefs).
25974
97fe384e 259752009-06-27 Pavel Roskin <proski@gnu.org>
25976
25977 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
25978 read.
25979 * efiemu/prepare32.c: Likewise.
25980 * efiemu/prepare64.c: Likewise.
25981
c402ab17 259822009-06-26 Pavel Roskin <proski@gnu.org>
25983
25984 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
25985 * include/grub/elf.h: Define symbols without "32" or "64" based
25986 on GRUB_TARGET_WORDSIZE.
25987 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
25988 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
25989 ELF definitions.
25990 * efiemu/loadcore64.c: Likewise.
25991 * loader/i386/bsd32.c: Likewise.
25992 * loader/i386/bsd64.c: Likewise.
25993 * kern/dl.c: Remove own ELF definitions.
25994 * util/i386/efi/grub-mkimage.c: Likewise.
25995
9bbdfd4d 259962009-06-23 Robert Millan <rmh.grub@aybabtu.com>
25997
25998 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
25999 segment 0x0 unconditionally, because the reference generated by
26000 GAS is an absolute address.
26001
a42ce6e9 260022009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26003
26004 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
26005 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
26006
c952cf92 260072009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26008
26009 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
26010 indexes. Check for -f explicitly.
cc3752ad 26011 (search_file): Improve error message.
26012 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 26013
132a0a59 260142009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26015
26016 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
26017 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
26018
387a140c 260192009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26020
26021 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
26022 * conf/i386-ieee1275.rmk: Likewise.
26023 * conf/i386-coreboot.rmk: Likewise.
26024
26025 * kern/i386/pc/startup.S (grub_stop): Remove function.
26026 * kern/i386/ieee1275/startup.S: Likewise.
26027 * kern/i386/coreboot/startup.S: Likewise.
26028 * kern/i386/misc.S (grub_stop): New function.
26029
41da9665 260302009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26031
26032 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
26033 * kern/i386/realmode.S (real_to_prot): ... to here.
26034
bf337234 260352009-06-22 Robert Millan <rmh.grub@aybabtu.com>
26036
26037 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
26038 with `kernel.img'.
26039 (kernel_elf_SOURCES): Rename to ...
26040 (kernel_img_SOURCES): ... this.
26041 (kernel_elf_HEADERS): Rename to ...
26042 (kernel_img_HEADERS): ... this. Update all users.
26043 (kernel_elf_ASFLAGS): Rename to ...
26044 (kernel_img_ASFLAGS): ... this.
26045 (kernel_elf_CFLAGS): Rename to ...
26046 (kernel_img_CFLAGS): ... this.
26047 (kernel_elf_LDFLAGS): Rename to ...
26048 (kernel_img_LDFLAGS): ... this.
26049 * conf/i386-coreboot.rmk: Likewise.
26050 * conf/powerpc-ieee1275.rmk: Likewise.
26051
26052 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
26053 with "kernel.img".
26054
f52196ff 260552009-06-21 Pavel Roskin <proski@gnu.org>
26056
c3cee413 26057 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
26058 to match nested functions.
26059 * loader/sparc64/ieee1275/linux.c: Likewise.
26060
f52196ff 26061 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
26062
58750afc 260632009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26064
26065 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
26066 all i386 platforms.
26067
15355c7d 260682009-06-21 Robert Millan <rmh.grub@aybabtu.com>
26069
26070 Fix asm file handling on ELF, and remove workarounds.
26071
26072 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 26073 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 26074 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
26075 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
26076
3f3ec72b 260772009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
26078
26079 Load BSD ELF modules
26080
26081 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
26082 and loader/i386/bsd64.c
26083 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
26084 (FREEBSD_MODTYPE_ELF_MODULE): New definition
26085 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
26086 (grub_freebsd_load_elfmodule32): New declaration
26087 (grub_freebsd_load_elfmoduleobj64): Likewise
26088 (grub_freebsd_load_elf_meta32): Likewise
26089 (grub_freebsd_load_elf_meta64): Likewise
26090 (grub_freebsd_add_meta): Likewise
26091 (grub_freebsd_add_meta_module): Likewise
26092 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
26093 (grub_freebsd_add_meta_module): Likewise and move module-specific
26094 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
26095 (grub_cmd_freebsd): Add elf-kernel specific parts
26096 based on grub_freebsd_add_meta_module
26097 (grub_cmd_freebsd_module): Add type parsing moved from
26098 grub_freebsd_add_meta_module
26099 (grub_cmd_freebsd_module_elf): New function
26100 (cmd_freebsd_module_elf): New variable
26101 (GRUB_MOD_INIT): Register freebsd_module_elf
26102 * loader/i386/bsd32.c: New file
26103 * loader/i386/bsd64.c: Likewise
26104 * loader/i386/bsdXX.c: Likewise
26105 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
26106 (grub_elf64_load): Likewise
26107 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
26108 All users updated
26109 (grub_elf64_load_hook_t): Likewise
26110
0db15301 261112009-06-21 Colin Watson <cjwatson@ubuntu.com>
26112
26113 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
26114 variable.
26115 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
26116 don't write a menu entry for recovery mode.
26117
546796c1 261182009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26119
26120 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
26121 after it's no longer needed.
26122
cd7310d5 261232009-06-20 Robert Millan <rmh.grub@aybabtu.com>
26124
26125 * include/grub/i386/loader.h (grub_linux_prot_size)
26126 (grub_linux_tmp_addr, grub_linux_real_addr)
26127 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
26128 GRUB_MACHINE_PCBIOS.
26129 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
26130 common grub_util_info() call to ...
26131 (generate_image): ... here.
26132 Fix use of uninitialized memory, comparison of signed with
26133 unsigned integers and memory leak.
26134 Remove bogus module address message.
26135
ab32d3b5 261362009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
26137
26138 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
26139 grub_raid_register
26140 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
26141
024ef597 261422009-06-19 Pavel Roskin <proski@gnu.org>
26143
26144 * configure.ac: Remove stray AC_MSG_CHECKING.
26145
3ac72b51 261462009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
26147
26148 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 26149
e14cd814 261502009-06-18 Pavel Roskin <proski@gnu.org>
26151
26152 * conf/common.rmk: Add fs_file.mod.
26153 * disk/fs_file.c: New file.
26154 * include/grub/disk.h (enum grub_disk_dev_id): Add
26155 GRUB_DISK_DEVICE_FILE_ID.
26156
26586d98 261572009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26158
26159 Fix build with Apple's toolchain. Part 2
26160
26161 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
26162 a fake start
26163
26de2bcd 261642009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26165
26166 Fix build with Apple's toolchain. Part 1
26167
26168 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
26169 for long calls
26170 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 26171 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 26172 Apple's toolchain
26173
09b3490b 261742009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
26175
26176 Fix warnings
26177
26178 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
26179 (decomp_block): initialize ch
26180 use grub_memcpy instead of memcpy
26181
c22a006a 261822009-06-17 Pavel Roskin <proski@gnu.org>
26183
d3638678 26184 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
26185 version, use declarations needed to use vga_text as the startup
26186 console.
26187
c22a006a 26188 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
26189 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
26190 the kernel.
26191 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
26192 and grub_at_keyboard_fini(), it's done on module load and
26193 unload.
26194
05b129e0 261952009-06-17 Felix Zielcke <fzielcke@z-51.de>
26196
26197 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
26198 file can't be found.
26199 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
26200
cf24ed9e 262012009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26202
26203 Fix newline handling
26204
26205 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 26206 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 26207 (grub_script_yylex): don't segfault on unterminated script
26208 newline terminates command and variable
26209
74aa8e4b 262102009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
26211
26212 avoid double grub_adjust_range call. Bug reported by David Simner
26213
26214 * kern/disk.c (grub_disk_write): change to raw disk access before
26215 calling disk_read
26216
1bd265f3 262172009-06-17 Colin Watson <cjwatson@ubuntu.com>
26218
26219 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
26220 spaces, for the benefit of help2man.
26221 * util/i386/efi/grub-mkimage.c (usage): Likewise.
26222
a2d08c06 262232009-06-16 Pavel Roskin <proski@gnu.org>
26224
26225 * kern/i386/halt.c: Include grub/machine/init.h.
26226 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
26227
b97bcb19 262282009-06-16 Felix Zielcke <fzielcke@z-51.de>
26229
26230 * util/grub.d/30_os-prober.in: Use ${root} in the generated
26231 drivemap menuentry.
26232
0644f96c 262332009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
26234
26235 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
26236 `echo' command.
26237
3ef17a2e 262382009-06-16 Pavel Roskin <proski@gnu.org>
26239
26240 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
26241 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
26242 save %dx, we only need %dl and we never change it.
26243 * boot/i386/pc/cdboot.S: Don't set the root drive.
26244 * boot/i386/pc/pxeboot.S: Likewise.
26245 * include/grub/i386/pc/boot.h: Remove
26246 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
26247 GRUB_BOOT_MACHINE_DRIVE_CHECK.
26248 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
26249 * kern/i386/pc/init.c (make_install_device): Remove references
26250 to grub_root_drive.
26251 * kern/i386/pc/startup.S: Likewise.
26252 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
26253
693fe637 262542009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
26255
26256 xnu_uuid command
26257
26258 * commands/xnu_uuid.c: new file
26259 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
26260 (xnu_uuid_mod_SOURCES): new variable
26261 (xnu_uuid_mod_CFLAGS): likewise
26262 (xnu_uuid_mod_LDFLAGS): likewise
26263 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
26264 * conf/i386-ieee1275.rmk: likewise
26265 * conf/i386-pc.rmk: likewise
26266 * conf/powerpc-ieee1275.rmk: likewise
26267 * conf/sparc64-ieee1275.rmk: likewise
26268 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
26269
c9da87d0 262702009-06-16 Pavel Roskin <proski@gnu.org>
26271
26272 * configure.ac: Avoid '==' in test command, it's not portable.
26273
9c6f4596 262742009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
26275
26276 Probe command
26277
26278 * commands/probe.c: new file
26279 * conf/common.rmk (pkglib_MODULES): add probe.mod
26280 (probe_mod_SOURCES): new variable
26281 (probe_mod_CFLAGS): likewise
26282 (probe_mod_LDFLAGS): likewise
26283 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
26284 * conf/i386-ieee1275.rmk: likewise
26285 * conf/i386-pc.rmk: likewise
26286 * conf/powerpc-ieee1275.rmk: likewise
26287 * conf/sparc64-ieee1275.rmk: likewise
26288
70b7f9fd 262892009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
26290
26291 Fix handling of string like \"hello\" and "a
26292 b"
26293
26294 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
26295 (grub_script_yylex): fix parsing of quoting, escaping and newline
26296
71c79a6b 262972009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
26298
dd74360c 26299 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 26300 handling
dd74360c 26301
0644f96c 263022009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 26303
26304 * util/grub-mkconfig.in: Fix parsing of --output option.
26305
e40893c3 263062009-06-12 Pavel Roskin <proski@gnu.org>
26307
26308 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
26309 genmk.rb don't need to be generated or installed.
26310
3a1acfe2 263112009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
26312
26313 * commands/i386/pc/drivemap_int13h.S: add more comments
26314
3a4575d4 263152009-06-11 Pavel Roskin <proski@gnu.org>
26316
0658e928 26317 * Makefile.in (uninstall): Uninstall manuals.
26318
ca0388f0 26319 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
26320 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
26321 and update-grub_lib in two places.
26322 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
26323
e3b27c39 26324 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
26325 a compiler warning.
26326
3a4575d4 26327 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
26328 `entry_lo' to fix variable shadowing.
26329
af1f4f55 263302009-06-11 Christian Franke <franke@computer.org>
26331
26332 * kern/misc.c (__enable_execute_stack): Add missing return type
26333 to prevent gcc warning.
26334
5225e649 263352009-06-11 Felix Zielcke <fzielcke@z-51.de>
26336
26337 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
26338
7d83bd47 263392009-06-11 Pavel Roskin <proski@gnu.org>
26340
c1cb63ba 26341 * Makefile.in: Don't rely on any scripts being executable.
26342 Always use $(SHELL) to run shell scripts.
26343
7d83bd47 26344 * configure.ac: Always define ___main if using -nostdlib. This
26345 fixes tests on Cygwin.
26346
948f48e7 263472009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
26348
26349 UDF fix
26350
7d83bd47 26351 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 26352 is in bytes and not in blocks
7d83bd47 26353
8ada9bc1 263542009-06-11 Pavel Roskin <proski@gnu.org>
26355
26356 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
26357 warning.
26358
25ad2323 263592009-06-11 Felix Zielcke <fzielcke@z-51.de>
26360
26361 * util/grub.d/30_os-prober.in: Fix a comment. Source
26362 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
26363 to set the root device. Place drivemap command in the generated
26364 chain entry.
26365
e65acb0c 263662009-06-11 Pavel Roskin <proski@gnu.org>
26367
26368 * configure.ac: Remove host_m32. Issues with 64-bit utilities
26369 have long been resolved.
26370
f285fe2d 263712009-06-11 Colin Watson <cjwatson@ubuntu.com>
26372
bd47b0b5 26373 * util/grub.d/10_linux.in: Capitalise "Linux".
26374
f285fe2d 26375 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
26376
a0c62e4e 263772009-06-11 Pavel Roskin <proski@gnu.org>
26378
b6783cb2 26379 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
26380 fix a gcc warning and ensure that the function won't ever exit.
26381
dde032e8 26382 * kern/i386/ieee1275/init.c: Add missing prototype for
26383 grub_stop_floppy().
26384
22cd079d 26385 * loader/ieee1275/multiboot2.c [__i386__]: Include
26386 grub/cpu/multiboot.h.
26387
a0c62e4e 26388 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
26389 casts to short - they are not portable and cause warnings. Fix
26390 use of uninitialized values in input_buf. Use ARRAY_SIZE.
26391
63963d17 263922009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
26393
26394 Drivemap fixes
26395
26396 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
26397 new function
26398 (grub_get_root_biosnumber_saved): new variable
26399 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
26400 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 26401 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 26402 %dx after the call if necessary
26403 * conf/common.rmk (pkglib_MODULES): remove boot.mod
26404 (boot_mod_SOURCES): remove
26405 (boot_mod_CFLAGS): remove
26406 (boot_mod_LDFLAGS): remove
26407 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
26408 (boot_mod_SOURCES): new variable
26409 (boot_mod_CFLAGS): likewise
26410 (boot_mod_LDFLAGS): likewise
26411 * conf/i386-efi.rmk: likewise
26412 * conf/i386-ieee1275.rmk: likewise
26413 * conf/i386-pc.rmk: likewise
26414 * conf/powerpc-ieee1275.rmk: likewise
26415 * conf/sparc64-ieee1275.rmk: likewise
26416 * conf/x86_64-efi.rmk: likewise
26417 * include/grub/i386/pc/biosnum.h: new file
26418 * lib/i386/pc/biosnum.c: likewise
26419 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
26420 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
26421 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 26422
33abf7ae 264232009-06-10 Pavel Roskin <proski@gnu.org>
26424
5ac35b35 26425 * io/gzio.c (test_header): Don't reuse one buffer for all data.
26426 Use separate variables. Read only the file size at the end, but
26427 not the checksum that we don't use.
26428
5c5215d5 26429 * kern/file.c (grub_file_read): Use void pointer for the buffer.
26430 Adjust all callers.
26431
27d5fef7 26432 * kern/ieee1275/openfw.c: Remove libc includes.
26433 * kern/ieee1275/cmain.c: Likewise.
26434 * include/grub/ieee1275/ieee1275.h: Likewise.
26435
33abf7ae 26436 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
26437 compiler warnings.
26438
19d50c2b 264392009-06-10 Felix Zielcke <fzielcke@z-51.de>
26440
26441 * Makefile.in: Remove all trailing whitespace.
26442 * conf/i386-pc.rmk: Likewise.
26443 * conf/powerpc-ieee1275.rmk: Likewise.
26444 * conf/sparc64-ieee1275.rmk: Likewise.
26445 * docs/grub.texi: Likewise.
26446 * docs/texinfo.tex: Likewise.
26447 * disk/fs_uuid.c: Likewise.
26448 * disk/lvm.c: Likewise.
26449 * disk/scsi.c: Likewise.
26450 * disk/ata.c: Likewise.
26451 * disk/ieee1275/ofdisk.c: Likewise.
26452 * disk/i386/pc/biosdisk.c: Likewise.
26453 * disk/host.c: Likewise.
26454 * disk/raid.c: Likewise.
26455 * disk/efi/efidisk.c: Likewise.
26456 * disk/usbms.c: Likewise.
26457 * disk/memdisk.c: Likewise.
26458 * disk/loopback.c: Likewise.
26459 * kern/powerpc/dl.c: Likewise.
26460 * kern/device.c: Likewise.
26461 * kern/dl.c: Likewise.
26462 * kern/sparc64/dl.c: Likewise.
26463 * kern/ieee1275/ieee1275.c: Likewise.
26464 * kern/term.c: Likewise.
26465 * kern/fs.c: Likewise.
26466 * kern/i386/dl.c: Likewise.
26467 * kern/i386/pc/startup.S: Likewise.
26468 * kern/i386/pc/init.c: Likewise.
26469 * kern/i386/pc/mmap.c: Likewise.
26470 * kern/i386/pc/lzo1x.S: Likewise.
26471 * kern/i386/ieee1275/init.c: Likewise.
26472 * kern/i386/realmode.S: Likewise.
26473 * kern/i386/tsc.c: Likewise.
26474 * kern/partition.c: Likewise.
26475 * kern/corecmd.c: Likewise.
26476 * kern/file.c: Likewise.
26477 * kern/efi/efi.c: Likewise.
26478 * kern/efi/init.c: Likewise.
26479 * kern/efi/mm.c: Likewise.
26480 * kern/main.c: Likewise.
26481 * kern/err.c: Likewise.
26482 * kern/env.c: Likewise.
26483 * kern/disk.c: Likewise.
26484 * kern/generic/millisleep.c: Likewise.
26485 * kern/generic/rtc_get_time_ms.c: Likewise.
26486 * kern/misc.c: Likewise.
26487 * kern/parser.c: Likewise.
26488 * genmk.rb: Likewise.
26489 * configure.ac: Likewise.
26490 * boot/i386/pc/diskboot.S: Likewise.
26491 * boot/i386/pc/pxeboot.S: Likewise.
26492 * boot/i386/pc/boot.S: Likewise.
26493 * boot/i386/pc/lnxboot.S: Likewise.
26494 * boot/i386/pc/cdboot.S: Likewise.
26495 * parttool/pcpart.c: Likewise.
26496 * video/readers/tga.c: Likewise.
26497 * video/video.c: Likewise.
26498 * video/bitmap.c: Likewise.
26499 * lib/envblk.c: Likewise.
26500 * lib/i386/setjmp.S: Likewise.
26501 * fs/xfs.c: Likewise.
26502 * fs/afs.c: Likewise.
26503 * fs/fat.c: Likewise.
26504 * fs/ntfs.c: Likewise.
26505 * fs/udf.c: Likewise.
26506 * fs/affs.c: Likewise.
26507 * fs/iso9660.c: Likewise.
26508 * fs/hfs.c: Likewise.
26509 * fs/fshelp.c: Likewise.
26510 * fs/ext2.c: Likewise.
26511 * fs/jfs.c: Likewise.
26512 * fs/reiserfs.c: Likewise.
26513 * fs/hfsplus.c: Likewise.
26514 * fs/minix.c: Likewise.
26515 * fs/cpio.c: Likewise.
26516 * fs/sfs.c: Likewise.
26517 * fs/ufs.c: Likewise.
26518 * efiemu/prepare.c: Likewise.
26519 * efiemu/loadcore_common.c: Likewise.
26520 * efiemu/runtime/efiemu.sh: Likewise.
26521 * efiemu/runtime/efiemu.S: Likewise.
26522 * efiemu/runtime/efiemu.c: Likewise.
26523 * efiemu/pnvram.c: Likewise.
26524 * efiemu/main.c: Likewise.
26525 * efiemu/i386/pc/cfgtables.c: Likewise.
26526 * efiemu/i386/loadcore64.c: Likewise.
26527 * efiemu/i386/loadcore32.c: Likewise.
26528 * efiemu/loadcore.c: Likewise.
26529 * efiemu/symbols.c: Likewise.
26530 * efiemu/mm.c: Likewise.
26531 * include/grub/autoefi.h: Likewise.
26532 * include/grub/datetime.h: Likewise.
26533 * include/grub/term.h: Likewise.
26534 * include/grub/hfs.h: Likewise.
26535 * include/grub/lvm.h: Likewise.
26536 * include/grub/i386/tsc.h: Likewise.
26537 * include/grub/i386/linux.h: Likewise.
26538 * include/grub/i386/xnu.h: Likewise.
26539 * include/grub/i386/efiemu.h: Likewise.
26540 * include/grub/i386/pc/biosdisk.h: Likewise.
26541 * include/grub/i386/pc/memory.h: Likewise.
26542 * include/grub/i386/pc/vbe.h: Likewise.
26543 * include/grub/parttool.h: Likewise.
26544 * include/grub/video.h: Likewise.
26545 * include/grub/memory.h: Likewise.
26546 * include/grub/fs.h: Likewise.
26547 * include/grub/partition.h: Likewise.
26548 * include/grub/xnu.h: Likewise.
26549 * include/grub/efi/api.h: Likewise.
26550 * include/grub/efi/pe32.h: Likewise.
26551 * include/grub/efi/memory.h: Likewise.
26552 * include/grub/multiboot.h: Likewise.
26553 * include/grub/usbdesc.h: Likewise.
26554 * include/grub/multiboot2.h: Likewise.
26555 * include/grub/acpi.h: Likewise.
26556 * include/grub/efiemu/efiemu.h: Likewise.
26557 * include/grub/disk.h: Likewise.
26558 * include/grub/ieee1275/ieee1275.h: Likewise.
26559 * include/grub/net.h: Likewise.
26560 * include/grub/machoload.h: Likewise.
26561 * include/grub/macho.h: Likewise.
26562 * include/multiboot.h: Likewise.
26563 * genmoddep.awk: Likewise.
26564 * normal/main.c: Likewise.
26565 * normal/menu_entry.c: Likewise.
26566 * normal/menu_viewer.c: Likewise.
26567 * normal/completion.c: Likewise.
26568 * normal/cmdline.c: Likewise.
26569 * normal/misc.c: Likewise.
26570 * normal/datetime.c: Likewise.
26571 * bus/usb/usbtrans.c: Likewise.
26572 * bus/usb/ohci.c: Likewise.
26573 * bus/usb/uhci.c: Likewise.
26574 * bus/usb/usb.c: Likewise.
26575 * mmap/efi/mmap.c: Likewise.
26576 * mmap/i386/pc/mmap_helper.S: Likewise.
26577 * mmap/i386/pc/mmap.c: Likewise.
26578 * mmap/i386/mmap.c: Likewise.
26579 * mmap/i386/uppermem.c: Likewise.
26580 * mmap/mmap.c: Likewise.
26581 * commands/acpi.c: Likewise.
26582 * commands/echo.c: Likewise.
26583 * commands/blocklist.c: Likewise.
26584 * commands/loadenv.c: Likewise.
26585 * commands/usbtest.c: Likewise.
26586 * commands/boot.c: Likewise.
26587 * commands/parttool.c: Likewise.
26588 * commands/search.c: Likewise.
26589 * commands/cat.c: Likewise.
26590 * commands/i386/pc/play.c: Likewise.
26591 * commands/i386/pc/drivemap.c: Likewise.
26592 * commands/i386/pc/vbeinfo.c: Likewise.
26593 * commands/i386/pc/acpi.c: Likewise.
26594 * commands/i386/pc/vbetest.c: Likewise.
26595 * commands/ls.c: Likewise.
26596 * commands/cmp.c: Likewise.
26597 * commands/test.c: Likewise.
26598 * commands/efi/acpi.c: Likewise.
26599 * commands/gptsync.c: Likewise.
26600 * commands/help.c: Likewise.
26601 * partmap/amiga.c: Likewise.
26602 * partmap/apple.c: Likewise.
26603 * partmap/acorn.c: Likewise.
26604 * partmap/pc.c: Likewise.
26605 * partmap/sun.c: Likewise.
26606 * partmap/gpt.c: Likewise.
26607 * script/sh/lexer.c: Likewise.
26608 * script/sh/function.c: Likewise.
26609 * font/font.c: Likewise.
26610 * font/font_cmd.c: Likewise.
26611 * loader/powerpc/ieee1275/linux.c: Likewise.
26612 * loader/efi/chainloader.c: Likewise.
26613 * loader/multiboot_loader.c: Likewise.
26614 * loader/macho.c: Likewise.
26615 * loader/i386/multiboot.c: Likewise.
26616 * loader/i386/linux.c: Likewise.
26617 * loader/i386/pc/linux.c: Likewise.
26618 * loader/i386/pc/multiboot2.c: Likewise.
26619 * loader/i386/pc/chainloader.c: Likewise.
26620 * loader/i386/pc/xnu.c: Likewise.
26621 * loader/i386/bsd_trampoline.S: Likewise.
26622 * loader/i386/efi/linux.c: Likewise.
26623 * loader/i386/multiboot_elfxx.c: Likewise.
26624 * loader/i386/bsd_helper.S: Likewise.
26625 * loader/i386/bsd.c: Likewise.
26626 * loader/i386/linux_trampoline.S: Likewise.
26627 * loader/i386/xnu_helper.S: Likewise.
26628 * loader/i386/xnu.c: Likewise.
26629 * loader/i386/bsd_pagetable.c: Likewise.
26630 * loader/i386/multiboot_helper.S: Likewise.
26631 * loader/xnu.c: Likewise.
26632 * loader/xnu_resume.c: Likewise.
26633 * io/gzio.c: Likewise.
26634 * term/efi/console.c: Likewise.
26635 * term/terminfo.c: Likewise.
26636 * term/ieee1275/ofconsole.c: Likewise.
26637 * term/i386/pc/serial.c: Likewise.
26638 * term/i386/pc/vesafb.c: Likewise.
26639 * term/i386/pc/vga.c: Likewise.
26640 * term/usb_keyboard.c: Likewise.
26641 * term/gfxterm.c: Likewise.
26642 * aclocal.m4: Likewise.
26643 * util/lvm.c: Likewise.
26644 * util/grub.d/30_os-prober.in: Likewise.
26645 * util/grub.d/10_hurd.in: Likewise.
26646 * util/console.c: Likewise.
26647 * util/grub-macho2img.c: Likewise.
26648 * util/grub-probe.c: Likewise.
26649 * util/hostfs.c: Likewise.
26650 * util/i386/pc/grub-mkimage.c: Likewise.
26651 * util/i386/pc/grub-setup.c: Likewise.
26652 * util/i386/efi/grub-mkimage.c: Likewise.
26653 * util/grub-mkconfig.in: Likewise.
26654 * util/raid.c: Likewise.
26655 * util/resolve.c: Likewise.
26656 * util/grub-mkdevicemap.c: Likewise.
26657 * util/grub-emu.c: Likewise.
26658 * util/getroot.c: Likewise.
26659 * util/hostdisk.c: Likewise.
26660 * util/usb.c: Likewise.
26661 * util/grub-editenv.c: Likewise.
26662 * util/misc.c: Likewise.
26663
d2d49665 266642009-06-10 Felix Zielcke <fzielcke@z-51.de>
26665
26666 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
26667 `genparttoollist.sh'.
26668 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
26669 Add `*.sh' to the list find searches for and change `mdate.sh'
26670 to `mdate-sh'.
26671
fe052e37 266722009-06-10 Pavel Roskin <proski@gnu.org>
26673
2763ac18 26674 * include/grub/multiboot2.h: Provide compatibility defines for
26675 multiboot2.h.
26676 * include/multiboot2.h: Include stdint.h only if needed, using
26677 angle brackets.
26678 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
26679 grub/multiboot2.h.
26680 * loader/ieee1275/multiboot2.c: Likewise.
26681 * loader/multiboot2.c: Likewise.
26682 * loader/multiboot_loader.c: Likewise.
26683
437e6adc 26684 * configure.ac: Use -nostdlib when probing for the target. It
26685 should not be required to have libc for the target.
26686
06a6836c 26687 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
26688 they fail without libc headers for the target.
26689 * include/grub/powerpc/libgcc.h: Use weak attribute for all
26690 exports.
26691 * include/grub/sparc64/libgcc.h: Likewise. Don't use
26692 preprocessor conditionals.
26693
fe052e37 26694 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
26695 build system doesn't need to be aware of the tar.c internals.
26696
afd22553 266972009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 26698
afd22553 26699 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 26700
6b787c4f 267012009-06-09 Robert Millan <rmh.grub@aybabtu.com>
26702
26703 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
26704 disk limit to 26 for IDE, Virtio, Xen and SCSI.
26705
267062009-06-09 Felix Zielcke <fzielcke@z-51.de>
26707
26708 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 26709 aren't available if ata.mod gets used.
6b787c4f 26710
473d1e45 267112009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 26712
473d1e45 26713 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 26714 initialising controller.
473d1e45 26715 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 26716
255a27d4 267172009-06-08 Felix Zielcke <fzielcke@z-51.de>
26718
26719 * util/i386/pc/grub-install.in: Add a parameter --disk-module
26720 to choose between ata and biosdisk module on i386-pc.
26721
473d1e45 267222009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 26723
d55842d8 26724 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
26725 Subclass and Programming Interface fields in terms of the 3 byte
26726 Class Code register.
26727 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
26728
fa5db0b1 26729 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
26730 interface is OHCI. Add grub_dprintf for symmetry with
26731 bus/usb/uhci.c.
26732 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
26733 interface is UHCI. Add interf variable for programming
26734 interface. Print interface with class/subclass.
26735
c0947beb 26736 * bus/usb/ohci.c: Set interf with correct field.
26737
69da8877 26738 * bus/usb/uhci.c: Remove unneeded doubled lines.
26739 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
26740 Remove whitespace inside comment.
26741
9e172e30 267422009-06-08 Robert Millan <rmh.grub@aybabtu.com>
26743
26744 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
26745 as fallback an equivalent option without depth.
26746
de65ee2b 267472009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
26748
26749 Not fail if unable to retrieve C/H/S on LBA disks
26750
473d1e45 26751 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 26752 if unable to retrieve C/H/S on LBA disks
26753
b57ea2c9 267542009-06-08 Pavel Roskin <proski@gnu.org>
26755
26756 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
26757 about aliasing.
26758
af361263 267592009-06-08 Felix Zielcke <fzielcke@z-51.de>
26760
26761 * Makefile.in (uninstall): Remove all $lib_DATA files.
26762
4c9ec6b3 267632009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
26764
26765 Bugfix: install on partitionless device
26766
26767 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
26768 is a whole disk
26769
e76fc924 267702009-06-08 Felix Zielcke <fzielcke@z-51.de>
26771
26772 * Makefile.in (uninstall): Remove all $include_DATA files.
26773
ba5a0d05 267742009-06-08 Felix Zielcke <fzielcke@z-51.de>
26775
26776 * commands/true.c: New file. Implement the true and false commands.
26777 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
26778 (true_mod_SOURCES): New variable.
26779 (true_mod_CFLAGS): Likewise.
26780 (true_mod_LDFLAGS): Likewise.
26781
c8048e32 267822009-06-05 Colin D Bennett <colin@gibibit.com>
26783
26784 Optimized font character lookup using binary search instead of linear
26785 search. Fonts now are required to have the character index ordered by
26786 code point.
26787
26788 * font/font.c (load_font_index): Verify that fonts have ordered
26789 character indices.
26790 (find_glyph): Use binary search instead of linear search to find a
26791 character in a font.
26792
408305be 267932009-06-05 Michael Scherer <misc@mandriva.org>
26794
26795 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
26796 uses case sensitive btree.
26797 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
26798 only for case insensitive filesystems.
26799
8ee1e0d9 268002009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
26801
26802 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
26803 * conf/common.rmk (search_mod_CFLAGS): likewise
26804
a9966eb1 268052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26806
473d1e45 26807 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 26808 compensate a compiler bug
26809
9e7100fb 268102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26811
473d1e45 26812 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 26813 instead of '\b'
473d1e45 26814
ede21d71 268152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26816
26817 Definitions for creating asm symbols with Apple's CC
26818
26819 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
26820 [APPLE_CC] (VARIABLE): likewise
26821
9dbf7653 268222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26823
26824 Disable lnxboot.img when compiled
26825 with Apple's CC
26826
26827 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
26828 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
26829 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
26830 [! APPLE_CC] (CODE_LENG): skip
26831 [! APPLE_CC] (setup_sects): likewise
26832 [! APPLE_CC]: skip filling
473d1e45 26833
e93cdc3d 268342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26835
26836 Address in trampolines based on 32-bit registers when compiled
26837 with Apple's CC
26838
473d1e45 26839 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 26840 for addresses
26841 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
26842
6c688477 268432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26844
26845 Avoid aliases when compiling with Apple's CC for PCBIOS machine
26846
26847 * kern/misc.c [APPLE_CC] (memcpy): new function
26848 [APPLE_CC] (memmove): likewise
26849 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 26850 (memcpy): define alias conditionally on !APPLE_CC
6c688477 26851 (memset): likewise
26852 (abort): likewise
26853 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
26854 APPLE_CC are defined
26855 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
26856 (grub_assert_fail): make prototype conditional
26857
e37ffc5c 268582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26859
26860 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
26861
473d1e45 26862 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
26863 grub-macho2img
e37ffc5c 26864 (CLEANFILES): add grub-macho2img
26865 (grub_macho2img_SOURCES): new variable
26866 * kern/i386/pc/startup.S (bss_start): new variable
26867 (bss_end): likewise
26868 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
26869 * util/grub-macho2img.c: new file
26870
cf00df31 268712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26872
26873 Use objconv when compiling with Apple's CC
26874
26875 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
26876 (efiemu64.o): likewise
26877 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
26878 when compiling with Apple's CC
26879 (efiemu64_s.o): likewise
26880 * configure.ac: check for objconv when compiling with Apple's CC
26881 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 26882
d119a20c 268832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26884
26885 Define segment as well as section when compiling with
26886 Apple's CC
26887
26888 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
26889 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
26890 (efiemu_convert_pointer): likewise
26891 (efiemu_set_virtual_address_map): likewise
26892 (efiemu_convert_pointer): likewise
26893 (efiemu_getcrc32): likewise
26894 (init_crc32_table): likewise
26895 (reflect): likewise
26896 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
26897 (GRUB_MOD_DEP): likewise
473d1e45 26898
c8600122 268992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26900
26901 Allow a compilation without -mcmodel=large
26902
26903 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
26904 when compiled without -mcmodel=large
473d1e45 26905 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 26906 without -mcmodel=large
473d1e45 26907 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 26908 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 26909
e8df1d4e 269102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26911
26912 Remove nested functions in efiemu core
26913
26914 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 26915
cc6c3ac1 269162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26917
26918 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
26919
26920 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
26921 temporary storage
473d1e45 26922 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
26923 using Apple's CC
cc6c3ac1 26924 (grub_cpu_is_tsc_supported): likewise
26925 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 26926
3e325901 269272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26928
26929 Absolute addressing through constant with Apple's cc
26930
26931 * kern/i386/pc/startup.S: Define necessary constants
26932 and address through it when using ABS with Apple's CC
26933 * boot/i386/pc/diskboot.S: likewise
26934 * boot/i386/pc/boot.S: likewise
26935 * boot/i386/pc/lnxboot.S: likewise
26936 * boot/i386/pc/cdboot.S: likewise
26937 * mmap/i386/pc/mmap_helper.S: likewise
26938 * commands/i386/pc/drivemap_int13h.S: likewise
26939
2b167a72 269402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26941
26942 Check if compiler is apple cc
26943
26944 * Makefile.in (ASFLAGS): new variable
26945 (TARGET_ASFLAGS): likewise
26946 (TARGET_MODULE_FORMAT): likewise
26947 (TARGET_APPLE_CC): likewise
26948 (OBJCONV): likewise
26949 (TARGET_IMG_CFLAGS): likewise
26950 (TARGET_CPPFLAGS): add includedir
26951 * configure.ac: call grub_apple_cc and grub_apple_target_cc
26952 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
26953 Check for linker script only if compiler isn't Apple's CC
26954 (TARGET_MODULE_FORMAT): set
26955 (TARGET_APPLE_CC): likewise
26956 (TARGET_ASFLAGS): likewise
26957 (ASFLAGS): likewise
26958 Check for objcopy only if compiler isn't Apple's CC
26959 Check for BSS symbol only if compiler isn't Apple's CC
26960 * genmk.rb: adapt nm options if we use Apple's utils
26961 * aclocal.m4 (grub_apple_cc): new test
26962 (grub_apple_target_cc): likewise
473d1e45 26963
fb14123e 269642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26965
26966 Simplify sed expressions and improve awk
26967
26968 * Makefile.in (install-local): simplify sed expression
26969 * gencmdlist.sh: likewise
26970 * genmoddep.awk: avoid adding module as a dependency of itself
26971
5b889789 269722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26973
26974 Add missing start symbols
26975
26976 * boot/i386/pc/boot.S: add start
fb14123e 26977 * boot/i386/pc/pxeboot.S: likewise
473d1e45 26978
fd2bf2e3 269792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26980
26981 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 26982
26983 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 26984 (relocate_addresses): consider both r_addend and value at offset
26985 (make_mods_section): zerofill modinfo and header
26986 (convert_elf): write prefix here
473d1e45 26987
5389763d 269882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26989
26990 Use .asciz instead of .string
26991
26992 * i386/pc/diskboot.S: use .asciz instead of .string
26993 * i386/pc/boot.S: likewise
26994 * include/grub/dl.h (GRUB_MOD_DEP): likewise
26995 (GRUB_MOD_NAME): likewise
473d1e45 26996
3eb5ed4e 269972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
26998
26999 gfxpayload support
27000
27001 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
27002 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
27003 (grub_video_setup): remove
27004 (grub_video_set_mode): new prototype
27005 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
27006 (vid_mode): remove
27007 (linux_vesafb_res): compile only on PCBIOS
27008 (grub_linux_boot): support gfxpayload
27009 * loader/i386/pc/xnu.c (video_hook): new function
27010 (grub_xnu_set_video): support gfxpayload
27011 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
27012 (DEFAULT_VIDEO_HEIGHT): likewise
27013 (DEFAULT_VIDEO_FLAGS): likewise
27014 (DEFAULT_VIDEO_MODE): new definition
27015 (video_hook): new function
27016 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 27017 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 27018 loading xnu
27019 * video/video.c (grub_video_setup): removed
473d1e45 27020 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 27021 grub_video_setup
27022
4b0e1143 270232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27024
27025 Avoid calling biosdisk in drivemap
27026
27027 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
27028 (revparse_biosdisk): likewise
27029 (list_mappings): derive name from id directly
27030 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 27031
fda6cb98 270322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
27033
27034 Script fixes
27035
27036 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
27037 (grub_lexer_param): add tokenonhold
27038 (grub_script_create_cmdline): remove cmdline. All callers updated
27039 (grub_script_function_create): make functionname
27040 grub_script_arg. All callers updated
27041 (grub_script_execute_argument_to_string): new prototype
27042 * kern/parser.c (state_transitions): reorder
27043 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 27044 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 27045 make global
27046 (grub_script_execute_cmdline): use new format
27047 * script/sh/function.c (grub_script_function_create): make functionname
27048 grub_script_arg. All callers updated
473d1e45 27049 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 27050 (grub_script_yylex): remove
27051 (grub_script_yylex2): renamed to ...
27052 (grub_script_yylex): ...renamed
27053 parse the expressions like a${b}c
27054 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
27055 (GRUB_PARSER_TOKEN_VAR): remove
27056 (GRUB_PARSER_TOKEN_NAME): likewise
27057 ("if"): declare as typeless
27058 ("while"): likewise
27059 ("function"): likewise
27060 ("else"): likewise
27061 ("then"): likewise
27062 ("fi"): likewise
27063 (text): remove
27064 (argument): likewise
27065 (script): accept empty scripts and make exit on error
27066 (arguments): use GRUB_PARSER_TOKEN_ARG
27067 (function): likewise
27068 (command): move error handling to script
27069 (menuentry): move grub_script_lexer_ref before
473d1e45 27070 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 27071 argument. All callers updated
27072
f4448a07 270732009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27074
27075 Prevent GRUB from probing floppies during boot.
27076
27077 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
27078 * commands/search.c (options): Add --no-floppy.
27079 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
27080 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
27081 --no-floppy when searching for UUIDs.
27082
2bf5885a 270832009-06-04 Robert Millan <rmh.grub@aybabtu.com>
27084
27085 Simplify the code duplication in commands/search.c.
27086
27087 * commands/search.c (search_label, search_fs_uuid): Merge into ...
27088 (search_fs): ... this. Update all users.
27089
f6fd460a 270902009-06-03 Felix Zielcke <fzielcke@z-51.de>
27091
27092 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
27093
cbb3c83e 270942009-05-28 Pavel Roskin <proski@gnu.org>
27095
57788cfd 27096 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
27097 Remove the original symlink explicitly.
27098
cbb3c83e 27099 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
27100 just one slash. That's how grub_fshelp_find_file() does it.
27101
cd0d5e30 271022009-05-26 Pavel Roskin <proski@gnu.org>
27103
f0f8bbe2 27104 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
27105 to `str'.
27106
cd0d5e30 27107 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
27108 possibly unused.
27109
8c2cab51 271102009-05-25 Christian Franke <franke@computer.org>
27111
27112 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
27113 register.
27114 (grub_atapi_identify): Add wait after drive select.
27115 (grub_ata_identify): Do more strict status register check before
27116 calling grub_atapi_identify (). Suppress error message if status
27117 register is 0x00 after command failure. Add status register
27118 check after PIO read to avoid bogus identify due to stuck DRQ.
27119 Thanks to Pavel Roskin for testing.
27120 (grub_device_initialize): Remove unsafe status register check.
27121 Thanks to 'phcoder' for problem report and patch.
27122 Prevent sign extension in debug message.
27123
230c0ad6 271242009-05-23 Colin D Bennett <colin@gibibit.com>
27125
27126 Cleaned up `include/grub/normal.h'. Grouped prototypes by
27127 definition file, and functions defined in `normal/menu.c' have had
27128 their prototypes moved to `include/grub/menu.h' for consistency.
27129
27130 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
27131 from normal.h.
27132 (grub_menu_get_entry): Likewise.
27133 (grub_menu_get_timeout): Likewise.
27134 (grub_menu_set_timeout): Likewise.
27135 (grub_menu_execute_entry): Likewise.
27136 (grub_menu_execute_with_fallback): Likewise.
27137 (grub_menu_entry_run): Likewise.
27138
27139 * include/grub/normal.h: Re-ordered and grouped function
27140 prototypes by file that the function is defined in.
27141 (grub_menu_execute_callback): Removed; moved to menu.h.
27142 (grub_menu_get_entry): Likewise.
27143 (grub_menu_get_timeout): Likewise.
27144 (grub_menu_set_timeout): Likewise.
27145 (grub_menu_execute_entry): Likewise.
27146 (grub_menu_execute_with_fallback): Likewise.
27147 (grub_menu_entry_run): Likewise.
27148 (grub_menu_addentry): Renamed from this ...
27149 (grub_normal_add_menu_entry): ... to this.
27150
27151 * normal/main.c (grub_menu_addentry): Renamed from this ...
27152 (grub_normal_add_menu_entry): ... to this.
27153
27154 * script/sh/execute.c (grub_script_execute_menuentry): Update
27155 reference to renamed grub_menu_addentry function.
27156
861f03a5 271572009-05-23 Felix Zielcke <fzielcke@z-51.de>
27158
27159 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
27160
96b1619a 271612009-05-22 Pavel Roskin <proski@gnu.org>
27162
bf6a5fb2 27163 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
27164 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
27165 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
27166 compiling for the i386 targets, but not for the utilities.
27167
96b1619a 27168 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
27169 to grub_uint8_t.
27170 (grub_root_drive): Likewise.
27171 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
27172 remove alignment.
27173 (grub_root_drive): Change size to byte.
27174 (grub_start_addr): Remove.
27175 (grub_end_addr): Likewise.
27176 (grub_apm_bios_info): Likewise.
27177
b729776b 271782009-05-21 Felix Zielcke <fzielcke@z-51.de>
27179
27180 * normal/i386: Remove.
27181 * normal/powerpc: Likewise.
27182 * normal/sparc64: Likewise.
27183 * normal/x86_64: Likewise.
27184
0a15ce80 271852009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
27186
27187 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 27188 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 27189 * loader/i386/xnu_helper.S: Likewise
d6da58e6 27190
33db9015 271912009-05-18 Colin D Bennett <colin@gibibit.com>
27192
d6da58e6 27193 Display error messages when parsing a Lua statement fails.
27194 Previously, executing a syntactically invalid statement like
27195 ")foo" or "bar;" would silently fail.
33db9015 27196
27197 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 27198 (grub_lua_parse_line): Improved reporting of Lua parser and
27199 execution errors.
33db9015 27200
46422c89 272012009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27202
27203 Remove -Werror which causes build to fail on some systems
27204
27205 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
27206 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
27207 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 27208
22f53a96 272092009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
27210
27211 trampoline for linux on 64-bit platform
27212
18f547ad 27213 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
27214 loader/i386/efi/linux_trampoline.S
27215 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 27216 declaration
d6da58e6 27217 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
27218 here
22f53a96 27219 * loader/i386/linux_trampoline.S: moved here
d6da58e6 27220 * loader/i386/efi/linux.c (allocate_pages): reserve space for
27221 trampoline
22f53a96 27222 (jumpvector): removed
27223 (grub_linux_trampoline_start): new declaration
27224 (grub_linux_trampoline_end): likewise
27225 (grub_linux_boot): use trampoline when on 64-bit platform
27226 * loader/i386/linux.c: likewise
27227
cb5a0f40 272282009-05-16 Pavel Roskin <proski@gnu.org>
27229
27230 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
27231 const to avoid a warning.
27232 (grub_lua_setenv): Likewise.
27233 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
27234 lmsg to fix a warning.
27235
334f2c28 272362009-05-16 Felix Zielcke <fzielcke@z-51.de>
27237
27238 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 27239 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27240 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
27241 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27242 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
27243 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
27244 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
27245 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 27246
59e5d3ec 272472009-05-16 Felix Zielcke <fzielcke@z-51.de>
27248
27249 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
27250
9d87a1ba 272512009-05-16 Bean <bean123ch@gmail.com>
27252
27253 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
27254 (lua_mod_SOURCES): New variable.
27255 (lua_mod_CFLAGS): Likewise.
27256 (lua_mod_LDFLAGS): Likewise.
27257
27258 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
27259 (setjmp_mod_SOURCES): New variable.
27260 (setjmp_mod_CFLAGS): Likewise.
27261 (setjmp_LDFLAGS): Likewise.
27262
27263 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
27264 (setjmp_mod_SOURCES): New variable.
27265 (setjmp_mod_CFLAGS): Likewise.
27266 (setjmp_LDFLAGS): Likewise.
27267
27268 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
27269 (setjmp_mod_SOURCES): New variable.
27270 (setjmp_mod_CFLAGS): Likewise.
27271 (setjmp_LDFLAGS): Likewise.
27272
27273 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
27274 (setjmp_mod_SOURCES): New variable.
27275 (setjmp_mod_CFLAGS): Likewise.
27276 (setjmp_LDFLAGS): Likewise.
27277
27278 * normal/i386/setjmp.S: Moved from here ...
27279 * lib/i386/setjmp.S: ... Moved here
27280 * normal/x86_64/setjmp.S: Moved from here ...
27281 * lib/x86_64/setjmp.S: ... Moved here
27282 * normal/powerpc/setjmp.S: Moved from here ...
27283 * lib/powerpc/setjmp.S: ... Moved here
27284 * normal/sparc64/setjmp.S: Moved from here ...
27285 * lib/sparc64/setjmp.S: ... Moved here
27286
27287 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
27288 returns_twice in mingw.
27289
27290 * script/lua/grub_lib.c: New file.
27291 * script/lua/grub_lib.h: Likewise.
27292 * script/lua/grub_lua.h: Likewise.
27293 * script/lua/grub_main.c: Likewise.
27294 * script/lua/lapi.c: Likewise.
27295 * script/lua/lapi.h: Likewise.
27296 * script/lua/lauxlib.c: Likewise.
27297 * script/lua/lauxlib.h: Likewise.
27298 * script/lua/lbaselib.c: Likewise.
27299 * script/lua/lcode.c: Likewise.
27300 * script/lua/lcode.h: Likewise.
27301 * script/lua/ldblib.c: Likewise.
27302 * script/lua/ldebug.c: Likewise.
27303 * script/lua/ldebug.h: Likewise.
27304 * script/lua/ldo.c: Likewise.
27305 * script/lua/ldo.h: Likewise.
27306 * script/lua/ldump.c: Likewise.
27307 * script/lua/lfunc.c: Likewise.
27308 * script/lua/lfunc.h: Likewise.
27309 * script/lua/lgc.c: Likewise.
27310 * script/lua/lgc.h: Likewise.
27311 * script/lua/linit.c: Likewise.
27312 * script/lua/liolib.c: Likewise.
27313 * script/lua/llex.c: Likewise.
27314 * script/lua/llex.h: Likewise.
27315 * script/lua/llimits.h: Likewise.
27316 * script/lua/lmathlib.c: Likewise.
27317 * script/lua/lmem.c: Likewise.
27318 * script/lua/lmem.h: Likewise.
27319 * script/lua/loadlib.c: Likewise.
27320 * script/lua/lobject.c: Likewise.
27321 * script/lua/lobject.h: Likewise.
27322 * script/lua/lopcodes.c: Likewise.
27323 * script/lua/lopcodes.h: Likewise.
27324 * script/lua/loslib.c: Likewise.
27325 * script/lua/lparser.c: Likewise.
27326 * script/lua/lparser.h: Likewise.
27327 * script/lua/lstate.c: Likewise.
27328 * script/lua/lstate.h: Likewise.
27329 * script/lua/lstring.c: Likewise.
27330 * script/lua/lstring.h: Likewise.
27331 * script/lua/lstrlib.c: Likewise.
27332 * script/lua/ltable.c: Likewise.
27333 * script/lua/ltable.h: Likewise.
27334 * script/lua/ltablib.c: Likewise.
27335 * script/lua/ltm.c: Likewise.
27336 * script/lua/ltm.h: Likewise.
27337 * script/lua/lua.h: Likewise.
27338 * script/lua/luaconf.h: Likewise.
27339 * script/lua/lualib.h: Likewise.
27340 * script/lua/lundump.c: Likewise.
27341 * script/lua/lundump.h: Likewise.
27342 * script/lua/lvm.c: Likewise.
27343 * script/lua/lvm.h: Likewise.
27344 * script/lua/lzio.c: Likewise.
27345 * script/lua/lzio.h: Likewise.
27346
5e898c9d 273472009-05-16 Bean <bean123ch@gmail.com>
27348
27349 * include/grub/kernel.h (grub_module_header_types): Add type
27350 OBJ_TYPE_CONFIG.
27351
27352 * kern/main.c (grub_load_config): New function.
27353 (grub_main): Call grub_load_config to read boot config.
27354
27355 * grub-mkimage (generate_image): New parameter config_path.
27356 (options): New option --config.
27357 (main): Parse --config option, and pass it to generate_image.
27358
cf353a47 273592009-05-14 Christian Franke <franke@computer.org>
27360
27361 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
27362 This fixes build on Cygwin.
27363
3834887f 273642009-05-14 Pavel Roskin <proski@gnu.org>
27365
27366 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
27367 jump. This saves two bytes, so the typical case of 2 swapped
27368 drives would fit 32 bytes.
27369
8090fc01 273702009-05-13 Pavel Roskin <proski@gnu.org>
27371
ac963883 27372 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
27373 grub_uint32_t to avoid a warning.
27374
8090fc01 27375 * loader/i386/linux.c (allocate_pages): When assigning
27376 real_mode_mem, cast through grub_size_t to fix a warning. The
27377 code already makes sure that the value would fit a pointer.
27378 (grub_linux_setup_video): Cast render_target->data to
27379 grub_size_t to fix a warning.
27380
18f547ad 273812009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 27382
27383 * commands/i386/pc/drivemap.c: New file - implement drivemap
27384 command.
27385 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
27386 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
27387
6f6a8b28 273882009-05-13 Pavel Roskin <proski@gnu.org>
27389
27390 * util/i386/pc/grub-setup.c (setup): Remove unused variable
27391 embedding_area_exists.
27392
15fbf4c4 273932009-05-13 Robert Millan <rmh.grub@aybabtu.com>
27394
27395 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
27396 it easier to understand / work with.
59978c8a 27397 Improve warning messages for cases where there's no embedding area,
27398 or when it is too small (or core.img too large).
15fbf4c4 27399
238e871f 274002009-05-13 Pavel Roskin <proski@gnu.org>
27401
0ab3a9a4 27402 * loader/i386/pc/multiboot2.c: Add necessary includes for
27403 grub_multiboot2_real_boot().
27404
a2c8c5f8 27405 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
27406 PX record is always little-endian. We only need the lower 2
27407 bytes of the mode.
27408
faec96af 27409 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
27410 facilitate code reuse.
27411 (grub_cpio_mount): Use "struct head", not a char buffer. This
27412 fixes a warning reported by gcc 4.4.
27413
238e871f 27414 * kernel/disk.c (grub_disk_read): Use void pointer for the
27415 buffer.
27416 (grub_disk_write): Use const void pointer for the buffer.
27417 Adjust all callers. Remove unnecessary casts.
27418
901d2f0c 274192009-05-10 Robert Millan <rmh.grub@aybabtu.com>
27420
27421 * util/i386/pc/grub-install.in: Update copyright year.
27422
18f547ad 274232009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 27424
27425 gptsync
27426
27427 * commands/gptsync.c: new file
27428 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
27429 (gptsync_mod_SOURCES): new variable
27430 (gptsync_mod_CFLAGS): likewise
27431 (gptsync_mod_LDFLAGS): likewise
18f547ad 27432 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 27433 new definition
27434 (GRUB_PC_PARTITION_TYPE_HFS): likewise
27435 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
27436 * conf/i386-ieee1275.rmk: likewise
27437 * conf/i386-pc.rmk: likewise
27438 * conf/powerpc-ieee1275.rmk: likewise
27439
b4ba690a 274402009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
27441
27442 Fixed grub-emu
27443
27444 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
27445 (grub_dl_ref): likewise
27446
317e1a44 274472009-05-08 Robert Millan <rmh.grub@aybabtu.com>
27448
27449 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
27450 split in two functions (one for msdos and one for gpt).
27451
041b8094 274522009-05-08 Pavel Roskin <proski@gnu.org>
27453
752473c2 27454 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
27455 not modified.
27456
041b8094 27457 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
27458 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
27459 Initialize them with -1. Add sanity check for bad1. Eliminate
27460 nerr variable.
27461
172800ce 274622009-05-08 David S. Miller <davem@davemloft.net>
27463
27464 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
27465
29aa5e81 274662009-05-06 Robert Millan <rmh.grub@aybabtu.com>
27467
27468 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 27469 existence.
29aa5e81 27470
96613b62 274712009-05-05 Felix Zielcke <fzielcke@z-51.de>
27472
27473 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 27474 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 27475
eef73c8a 274762009-05-05 David S. Miller <davem@davemloft.net>
27477
27478 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
27479
119494b5 274802009-05-05 Pavel Roskin <proski@gnu.org>
27481
27482 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
27483 of grub_dl_ref() and grub_dl_unref().
27484 * commands/parttool.c: Remove preprocessor conditionals around
27485 grub_dl_ref() and grub_dl_unref().
27486 * fs/affs.c: Likewise.
27487 * fs/afs.c: Likewise.
27488 * fs/cpio.c: Likewise.
27489 * fs/ext2.c: Likewise.
27490 * fs/fat.c: Likewise.
27491 * fs/hfs.c: Likewise.
27492 * fs/hfsplus.c: Likewise.
27493 * fs/iso9660.c: Likewise.
27494 * fs/jfs.c: Likewise.
27495 * fs/minix.c: Likewise.
27496 * fs/ntfs.c: Likewise.
27497 * fs/reiserfs.c: Likewise.
27498 * fs/sfs.c: Likewise.
27499 * fs/udf.c: Likewise.
27500 * fs/ufs.c: Likewise.
27501 * fs/xfs.c: Likewise.
27502 * include/grub/dl.h: Likewise.
27503 * loader/xnu.c: Likewise.
27504
de5fd76e 275052009-05-04 Pavel Roskin <proski@gnu.org>
27506
27507 * commands/acpi.c: Remove unused variable my_mod.
27508 * partmap/amiga.c: Likewise.
27509 * partmap/apple.c: Likewise.
27510 * partmap/gpt.c: Likewise.
27511 * partmap/pc.c: Likewise.
27512 * partmap/sun.c: Likewise.
27513 * term/gfxterm.c: Likewise.
27514 * term/i386/pc/vesafb.c: Likewise.
27515 * term/i386/pc/vga.c: Likewise.
27516
983598ad 275172009-05-04 David S. Miller <davem@davemloft.net>
27518
27519 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
27520 pointer args to grub_ieee1275_get_property().
27521
8aadec43 27522 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
27523
9554b15e 27524 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
27525 devices, and do not traverse down under controller nodes.
27526
67e23c90 27527 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
27528 (grub_ofdisk_open): Use it to un-escape "," characters.
27529 * kern/disk.c (find_part_sep): New.
27530 (grub_disk_open): Use it to find the first non-escaped ','
27531 character in the disk name.
27532 * util/ieee1275/devicemap.c (escape_of_path): New.
27533 (grub_util_emit_devicemap_entry): Use it.
27534 * util/sparc64/ieee1275/grub-install.in: Update script to
27535 strip partition specifiers properly by not triggering on
27536 '\' escaped ',' characters.
27537
74bfdd2f 275382009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27539
27540 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
27541 to 0x300.
27542 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
27543 resolutions.
27544 (linux_vesafb_modes): Add a lot of additional modes to the list (based
27545 on documentation from Wikipedia).
27546
4241d2b1 275472009-05-04 Pavel Roskin <proski@gnu.org>
27548
27549 * disk/ata.c: Spelling fixes.
27550 * disk/raid.c: Likewise.
27551 * disk/usbms.c: Likewise.
27552 * disk/dmraid_nvidia.c: Likewise.
27553 * kern/ieee1275/openfw.c: Likewise.
27554 * kern/ieee1275/init.c: Likewise.
27555 * kern/ieee1275/cmain.c: Likewise.
27556 * boot/i386/pc/cdboot.S: Likewise.
27557 * video/readers/png.c: Likewise.
27558 * video/i386/pc/vbe.c: Likewise.
27559 * fs/udf.c: Likewise.
27560 * fs/hfs.c: Likewise.
27561 * fs/reiserfs.c: Likewise.
27562 * efiemu/runtime/efiemu.c: Likewise.
27563 * efiemu/main.c: Likewise.
27564 * efiemu/mm.c: Likewise.
27565 * include/grub/elf.h: Likewise.
27566 * include/grub/xnu.h: Likewise.
27567 * include/grub/usbdesc.h: Likewise.
27568 * include/grub/usb.h: Likewise.
27569 * include/grub/script_sh.h: Likewise.
27570 * include/grub/lib/LzmaEnc.h: Likewise.
27571 * include/grub/efiemu/efiemu.h: Likewise.
27572 * include/grub/command.h: Likewise.
27573 * normal/menu.c: Likewise.
27574 * normal/main.c: Likewise.
27575 * normal/datetime.c: Likewise.
27576 * bus/usb/uhci.c: Likewise.
27577 * mmap/i386/uppermem.c: Likewise.
27578 * mmap/mmap.c: Likewise.
27579 * commands/acpi.c: Likewise.
27580 * commands/test.c: Likewise.
27581 * partmap/apple.c: Likewise.
27582 * font/font.c: Likewise.
27583 * loader/sparc64/ieee1275/linux.c: Likewise.
27584 * loader/macho.c: Likewise.
27585 * loader/i386/bsd_trampoline.S: Likewise.
27586 * loader/i386/bsd.c: Likewise.
27587 * loader/xnu.c: Likewise.
27588 * term/i386/pc/vesafb.c: Likewise.
27589 * term/usb_keyboard.c: Likewise.
27590 * util/resolve.c: Likewise.
27591 * util/getroot.c: Likewise.
27592
0cfc0083 275932009-05-04 Felix Zielcke <fzielcke@z-51.de>
27594
27595 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
27596
7c1d00cd 275972009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27598
27599 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
27600 build error.
27601
b01f0548 276022009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27603
27604 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
27605 parameter only available on BIOS.
27606
ecc3eb22 276072009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27608
27609 Removed wrong semicolon in declaration
27610
27611 * grub/misc.h (grub_dprintf): remove semicolon
27612
112972a9 276132009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27614
27615 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
27616 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
27617 is done by grub_cmd_linux() now).
27618 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
27619 restore video to text mode.
27620 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
27621 indicates lack of "vga=" parameter. "vga=0" is mapped to
27622 `GRUB_LINUX_VID_MODE_NORMAL'.
27623
afd5c115 276242009-05-04 Felix Zielcke <fzielcke@z-51.de>
27625
27626 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
27627 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
27628 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 27629 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 27630 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
27631 `grub_script.tab.c'.
27632
27633 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27634 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27635 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27636 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27637 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27638
faa517ce 27639 * Makefile.in: Remove duplicated 2008 in Copyright line.
27640
ae0c0bdc 276412009-05-04 Robert Millan <rmh.grub@aybabtu.com>
27642
473d1e45 27643 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 27644 unconditionally.
27645 * include/grub/util/misc.h (grub_util_warn): New declaration.
27646
27647 * util/i386/pc/grub-install.in: Understand --force and pass it down
27648 to grub-setup.
27649
27650 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
27651 down to setup().
27652 (setup): Improve error messages and add warnings when requested to
27653 install in odd layouts. Refuse to install using blocklists unless
27654 --force was set.
27655
18f547ad 276562009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 27657
27658 * disk/raid.c (grub_raid_scan_device): Improve debug message.
27659
6d260daa 276602009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27661
27662 Updated copyright year
27663
27664 * fs/hfsplus.c: updated copyright year
18f547ad 27665
69f853f8 276662009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
27667
27668 HFS+ UUID
27669
18f547ad 27670 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 27671 in the space previously used by unused3
27672 (grub_hfsplus_uuid): new function
27673 (grub_hfsplus_fs): added uuid field
27674
4c402e73 276752009-05-03 Pavel Roskin <proski@gnu.org>
27676
27677 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
27678 suppress warnings. It's no longer needed.
27679 * disk/host.c: Likewise.
27680 * disk/ata_pthru.c: Likewise.
27681 * disk/loopback.c: Likewise.
27682 * hook/datehook.c: Likewise.
27683 * parttool/pcpart.c: Likewise.
27684 * fs/i386/pc/pxe.c: Likewise.
27685 * fs/ntfscomp.c: Likewise.
27686 * efiemu/main.c: Likewise.
27687 * mmap/mmap.c: Likewise.
27688 * commands/crc.c: Likewise.
27689 * commands/hexdump.c: Likewise.
27690 * commands/hdparm.c: Likewise.
27691 * commands/acpi.c: Likewise.
27692 * commands/echo.c: Likewise.
27693 * commands/minicmd.c: Likewise.
27694 * commands/blocklist.c: Likewise.
27695 * commands/memrw.c: Likewise.
27696 * commands/loadenv.c: Likewise.
27697 * commands/usbtest.c: Likewise.
27698 * commands/lsmmap.c: Likewise.
27699 * commands/boot.c: Likewise.
27700 * commands/parttool.c: Likewise.
27701 * commands/configfile.c: Likewise.
27702 * commands/search.c: Likewise.
27703 * commands/ieee1275/suspend.c: Likewise.
27704 * commands/cat.c: Likewise.
27705 * commands/i386/pc/pxecmd.c: Likewise.
27706 * commands/i386/pc/play.c: Likewise.
27707 * commands/i386/pc/halt.c: Likewise.
27708 * commands/i386/pc/vbeinfo.c: Likewise.
27709 * commands/i386/pc/vbetest.c: Likewise.
27710 * commands/lspci.c: Likewise.
27711 * commands/date.c: Likewise.
27712 * commands/handler.c: Likewise.
27713 * commands/ls.c: Likewise.
27714 * commands/test.c: Likewise.
27715 * commands/cmp.c: Likewise.
27716 * commands/efi/loadbios.c: Likewise.
27717 * commands/efi/fixvideo.c: Likewise.
27718 * commands/halt.c: Likewise.
27719 * commands/help.c: Likewise.
27720 * commands/reboot.c: Likewise.
27721 * hello/hello.c: Likewise.
27722 * script/sh/main.c: Likewise.
27723 * loader/xnu.c: Likewise.
27724 * term/terminfo.c: Likewise.
27725 * term/i386/pc/serial.c: Likewise.
27726 * term/usb_keyboard.c: Likewise.
27727
515b5079 277282009-05-03 David S. Miller <davem@davemloft.net>
27729
27730 * normal/menu.c: Include grub/parser.h
27731
dfc31a22 277322009-05-03 Pavel Roskin <proski@gnu.org>
27733
2fee74f1 27734 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
27735 not char*.
27736 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
27737 Suggested by Javier Martín <lordhabbit@gmail.com>
27738
dfc31a22 27739 * util/i386/pc/grub-mkrescue.in: Allow for the case when
27740 efiemu??.o doesn't exist.
27741 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
27742 copying.
27743
18f547ad 277442009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 27745
27746 FreeBSD 64-bit support
27747
18f547ad 27748 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 27749 and loader/i386/bsd_trampoline.S
27750 (bsd_mod_ASFLAGS): new variable
27751 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
27752 (FREEBSD_MODTYPE_KERNEL64): likewise
27753 (grub_bsd64_trampoline_start): likewise
27754 (grub_bsd64_trampoline_end): likewise
27755 (grub_bsd64_trampoline_selfjump): likewise
27756 (grub_bsd64_trampoline_gdt): likewise
27757 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
27758 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
27759 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
27760 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 27761 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 27762 of "attrib" member
27763 * loader/i386/bsd_pagetable.c: new file
27764 * loader/i386/bsd_trampoline.S: likewise
27765 * loader/i386/bsd.c (ALIGN_QWORD): new macro
27766 (ALIGN_VAR): likewise
27767 (entry_hi): new variable
27768 (kern_end_mdofs): likewise
27769 (is_64bit): likewise
27770 (grub_freebsd_add_meta): use ALIGN_VAR
27771 (grub_e820_mmap): new declaration
27772 (grub_freebsd_add_mmap): new function
27773 (grub_freebsd_add_meta_module): support 64 bit kernels
27774 (grub_freebsd_list_modules): use ALIGN_VAR
27775 (gdt_descriptor): new declaration
27776 (grub_freebsd_boot): support 64 bit kernels
27777 (grub_bsd_elf64_hook): new function
27778 (grub_bsd_load_elf): support elf64
27779
038c5720 277802009-05-03 Bean <bean123ch@gmail.com>
27781
27782 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
27783 after we get the result of if statement.
27784
fc45fb58 277852009-05-03 Bean <bean123ch@gmail.com>
27786
27787 * Makefile.in (enable_efiemu): New variable.
27788
27789 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
27790 set.
27791 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
27792 path.
27793 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
27794 path, add -mno-red-zone option.
27795 (efiemu64_s.o): Likewise.
27796 (efiemu64.o): Use macro $^ for source file.
27797
27798 * configure.ac (--enable-efiemu): New option.
27799
bbee0f2b 278002009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
27801
27802 xnu support
27803
27804 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
27805 (pkglib_MODULES): add xnu.mod
27806 (xnu_mod_SOURCES): new variable
27807 (xnu_mod_CFLAGS): likewise
27808 (xnu_mod_LDFLAGS): likewise
27809 (xnu_mod_ASFLAGS): likewise
27810 * conf/i386-pc.rmk: likewise
27811 * conf/x86_64-efi.rmk: likewise
7dd4a573 27812 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 27813 new declaration
27814 * include/grub/i386/macho.h: new file
27815 * include/grub/i386/xnu.h: likewise
27816 * include/grub/macho.h: likewise
27817 * include/grub/machoload.h: likewise
27818 * include/grub/x86_64/macho.h: likewise
27819 * include/grub/x86_64/xnu.h: likewise
27820 * include/grub/xnu.h: likewise
27821 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
27822 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
27823 * loader/i386/efi/xnu.c: new file
27824 * loader/i386/pc/xnu.c: likewise
27825 * loader/i386/xnu.c: likewise
27826 * loader/i386/xnu_helper.S: likewise
27827 * loader/macho.c: likewise
27828 * loader/xnu.c: likewise
27829 * loader/xnu_resume.c: likewise
27830 * util/grub-dumpdevtree: likewise
27831 * include/grub/i386/pit.h: include grub/err.h
27832 (grub_pit_wait): export
27833 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 27834
5caf964d 278352009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
27836
27837 Efiemu
7dd4a573 27838
5caf964d 27839 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 27840 _linux_efi, linux_efi.
27841 new files in grub-emu
5caf964d 27842 new targets efiemu32.o and efiemu64.o
27843 * loader/linux_normal_efiemu.c: likewise
27844 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 27845 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 27846 files to copy
27847 * include/grub/autoefi.h: new file
7dd4a573 27848 * include/grub/i386/efiemu.h: likewise
5caf964d 27849 * include/grub/i386/pc/efiemu.h: likewise
27850 * include/grub/efi/api.h: add LL suffix when necessary
27851 new definitions relating to tables
27852 * include/grub/efiemu/efiemu.h: new file
27853 * include/grub/efiemu/runtime.h: likewise
27854 * efiemu/prepare.c: likewise
27855 * efiemu/loadcore_common.c: likewise
27856 * efiemu/loadcore64.c: likewise
27857 * efiemu/runtime/efiemu.sh: likewise
27858 * efiemu/runtime/efiemu.S: likewise
27859 * efiemu/runtime/efiemu.c: likewise
27860 * efiemu/runtime/config.h: likewise
27861 * efiemu/prepare32.c: likewise
27862 * efiemu/main.c: likewise
27863 * efiemu/modules/pnvram.c: likewise
27864 * efiemu/modules/i386: likewise
27865 * efiemu/modules/i386/pc: likewise
27866 * efiemu/modules/acpi.c: likewise
27867 * efiemu/i386/pc/cfgtables.c: likewise
27868 * efiemu/i386/loadcore64.c: likewise
27869 * efiemu/i386/loadcore32.c: likewise
27870 * efiemu/prepare64.c: likewise
27871 * efiemu/loadcore.c: likewise
27872 * efiemu/symbols.c: likewise
27873 * efiemu/mm.c: likewise
27874 * efiemu/loadcore32.c: likewise
7dd4a573 27875
278762009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 27877
27878 ACPI spoofing
27879
27880 * commands/acpi.c: new file
27881 * commands/i386/pc/acpi.c: likewise
27882 * commands/efi/acpi.c: likewise
27883 * include/grub/acpi.h: likewise
27884 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
27885 (acpi_mod_SOURCES): new variable
27886 (acpi_mod_CFLAGS): likewise
27887 (acpi_mod_LDFLAGS): likewise
27888 * conf/i386-efi.rmk: likewise
27889 * conf/x86_64-efi.rmk: likewise
27890
7dd4a573 278912009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 27892
27893 Missing part from mmap patch
27894
27895 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
27896 (grub_mmap_unregister)
27897 (grub_mmap_free_and_unregister): use grub_mmap_register
27898
7dd4a573 278992009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 27900
27901 Mmap services
27902
27903 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
27904 * loader/i386/linux.c (find_mmap_size): likewise
27905 (allocate_pages): likewise
27906 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
27907 (grub_fill_multiboot_mmap): likewise
27908 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
27909 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
27910 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
27911 (OPENBSD_MMAP_RESERVED): likewise
27912 * include/grub/i386/pc/memory.h: include grub/memory.h
27913 (grub_lower_mem): removed
27914 (grub_upper_mem): likewise
27915 (GRUB_MACHINE_MEMORY_ACPI): new definition
27916 (GRUB_MACHINE_MEMORY_NVS): likewise
27917 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
27918 (GRUB_MACHINE_MEMORY_HOLE): likewise
27919 (grub_machine_mmap_register): likewise
27920 (grub_machine_mmap_unregister): likewise
27921 (grub_machine_get_upper): likewise
27922 (grub_machine_get_lower): likewise
27923 (grub_machine_get_post64): likewise
27924 * include/grub/i386/efi/memory.h: new file
27925 * include/grub/x86_64/efi/memory.h: likewise
27926 * include/grub/efi/memory.h: likewise
27927 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
27928 (mmap_mod_SOURCES): new variable
27929 (mmap_mod_LDFLAGS): likewise
27930 (mmap_mod_ASFLAGS): likewise
27931 * conf/i386-coreboot.rmk: likewise
27932 * conf/i386-ieee1275.rmk: likewise
27933 * conf/i386-efi.rmk: likewise
27934 * conf/x86_64-efi.rmk: likewise
27935 * include/grub/types.h (UINT_TO_PTR): new macro
27936 (PTR_TO_UINT32): likewise
27937 (PTR_TO_UINT64): likewise
27938 * include/grub/memory.h: new file
27939 * mmap/i386/pc/mmap.c: likewise
27940 * mmap/i386/pc/mmap_helper.S: likewise
27941 * mmap/i386/uppermem.c: likewise
27942 * mmap/mmap.c: likewise
27943 * mmap/efi/mmap.c: likewise
7dd4a573 27944 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 27945 grub_upper_mem
27946 * kern/i386/pc/init.c (grub_lower_mem): removed variable
27947 (grub_upper_mem): likewise
27948 (grub_machine_init): don't use grub_upper_mem,
27949 make grub_lower_mem local
27950 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
27951 grub_mmap_iterate and grub_mmap_get_upper
27952 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
27953
d558e6b5 279542009-05-02 Bean <bean123ch@gmail.com>
27955
27956 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
27957 script/sh/parser.y.
27958 (pkglib_MODULES): Add normal.mod and sh.mod.
27959 (normal_SOURCES): New variable.
27960 (normal_mod_CFLAGS): Likewise.
27961 (normal_mod_LDFLAGS): Likewise.
27962 (sh_mod_SOURCES): Likewise.
27963 (sh_mod_CFLAGS): Likewise.
27964 (sh_mod_LDFLAGS): Likewise.
27965
27966 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
27967 script/sh/lexer.c_DEPENDENCIES.
27968 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
27969 kern/rescue_reader.c and kern/rescue_parser.c.
27970 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
27971 (grub_emu_SOURCES): Change source files.
27972 (pkglib_MODULES): Remove normal.mod.
27973 (normal_SOURCES): Removed.
27974 (normal_mod_CFLAGS): Likewise.
27975 (normal_mod_LDFLAGS): Likewise.
27976 * conf/i386-coreboot.rmk: Likewise.
27977 * conf/i386-efi.rmk: Likewise.
27978 * conf/i386-ieee1276.rmk: Likewise.
27979 * conf/powerpc-ieee1275.rmk: Likewise.
27980 * conf/sparc64-ieee1275.rmk: Likewise.
27981 * conf/x86_64-efi.rmk: Likewise.
27982
27983 * include/grub/command.h (grub_command_execute): New inline function.
27984
27985 * include/grub/menu.h (grub_menu_entry): Removed commands field.
27986
27987 * include/grub/normal.h: Remove <grub/setjmp.h>.
27988 (grub_fs_module_list): Moved to normal/autofs.c.
27989 (grub_exit_env): Removed.
27990 (grub_command_execute): Likewise.
27991 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
27992 parameter script.
27993 (read_command_list): New function declaration.
27994 (read_fs_list): Likewise.
27995
27996 * include/parser.h: Include <grub/reader.h>.
27997 (grub_parser_split_cmdline): Change type of getline parameter.
27998 (grub_parser): New structure.
27999 (grub_parser_class): New variable.
28000 (grub_parser_execute): New function declaration.
28001 (grub_register_rescue_parser): Likewise.
28002 (grub_parser_register): New inline function.
28003 (grub_parser_unregister): Likewise.
28004 (grub_parser_get_current): Likewise.
28005 (grub_parser_set_current): Likewise.
28006
28007 * include/grub/reader.h: New file.
28008 * kern/reader.c: Likewise.
28009 * kern/rescue_parser.c: Likewise.
28010 * kern/rescue_reader.c: Likewise.
28011 * normal/autofs.c: Likewise.
28012 * normal/dyncmd.c: Likewise.
28013
28014 * include/grub/rescue.h: Removed.
28015 * normal/command.h: Likewise.
28016
28017 * include/grub/script.h: Moved to ...
28018 * include/grub/script_sh.h: ... Moved here.
28019 * normal/execute.c: Moved to ...
28020 * script/sh/execute.c: ... Moved here.
28021 * normal/function.c: Moved to ...
28022 * script/sh/function.c: ... Moved here.
28023 * normal/lexer.c: Moved to ...
28024 * script/sh/lexer.c: ... Moved here.
28025 * normal/parser.y: Moved to ...
28026 * script/sh/parser.y: ... Moved here.
28027 * normal/script.c: Moved to ...
28028 * script/sh/script.c: ... Moved here.
28029
28030 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
28031 <grub/reader.h>.
28032 (grub_exit_env): Removed.
28033 (fs_module_list): Moved to normal/autofs.c.
28034 (grub_file_getline): Don't handle comment here.
28035 (free_menu): Skip removed field entry->commands.
28036 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
28037 script parameter.
28038 (read_config_file): Removed nested parameter, change getline function.
28039 (grub_enter_normal_mode): Removed.
28040 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
28041 (read_command_list): Likewise.
28042 (autoload_fs_module): Moved to normal/autofs.c.
28043 (read_fs_list): Likewise.
28044 (reader_nested): New variable.
28045 (grub_normal_execute): Run parser.sh to switch to sh parser.
28046 (grub_cmd_rescue): Removed.
28047 (cmd_normal): Removed.
28048 (grub_cmd_normal): Unregister itself at the beginning. Don't register
28049 rescue command.
28050 (grub_cmdline_run): New function.
28051 (grub_normal_reader_init): Likewise.
28052 (grub_normal_read_line): Likewise.
28053 (grub_env_write_pager): Likewise.
28054 (cmdline): New variable.
28055 (grub_normal_reader): Likewise.
28056 (GRUB_MOD_INIT): Register normal reader and set as current, register
28057 pager hook, register normal command with grub_register_command_prio,
28058 so that it won't show up in command.lst.
28059 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
28060 grub_fs_autoload_hook.
28061
28062 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
28063 (grub_menu_execute_entry): Replace grub_script_execute with
28064 grub_parser_execute, change parameter to grub_command_execute.
28065
28066 * normal/menu_text.c: Remove <grub/script.h>.
28067
28068 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
28069 and <grub/parser.h>.
28070 (run): Change editor_getline to use new parser interface. Change
28071 parameter to grub_command_execute.
28072
28073 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
28074 <grub/reader.h> and <grub/parser.h>.
28075 (grub_load_normal_mode): Execute normal command.
28076 (grub_main): Call grub_register_core_commands,
28077 grub_register_rescue_parser and grub_register_rescue_reader, use
28078 grub_reader_loop to enter input loop.
28079
7dd4a573 28080 * kern/parser.c (grub_parser_split_cmdline): Change type of
28081 getline parameter.
d558e6b5 28082 (grub_parser_class): New variable.
28083 (grub_parser_execute): New function.
28084
28085 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
28086 * loader/multiboot2.c: Likewise.
28087 * loader/sparc64/ieee1275/linux.c: Likewise.
28088
28089 * util/grub-emu.c (read_command_list): New dummy function.
28090
18db813d 280912009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28092
28093 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
28094 count to 16 for CCISS and IDA.
28095
6c67de15 280962009-05-02 Robert Millan <rmh.grub@aybabtu.com>
28097
28098 * normal/menu_text.c (grub_wait_after_message): Print a newline
28099 after waiting for user input.
28100
28101 * loader/i386/linux.c: Include `<grub/normal.h>'.
28102 (grub_cmd_linux): Improve the error message about `ask' mode, by
28103 waiting for user input so it's not missed (we can do this, since
28104 user requested interaction).
28105
d9dc87b0 281062009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28107
28108 Added missing lst to grub-mkrescue
28109
28110 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
28111 and ${input_dir}/parttool.lst
28112
ac8a2baa 281132009-04-30 David S. Miller <davem@davemloft.net>
28114
ad22a610 28115 * util/hostdisk.c (device_is_wholedisk): New function.
28116 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
28117 zero only if device_is_wholedisk() returns true.
28118
6966215d 28119 * util/hostdisk.c (convert_system_partition_to_system_disk):
28120 Handle virtual disk devices named /dev/vdiskX as found on sparc
28121 and powerpc.
28122
ac8a2baa 28123 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
28124 lettered partition specifier is found, convert to numbered.
28125
979b4fb4 281262009-04-29 David S. Miller <davem@davemloft.net>
28127
e2bf39b2 28128 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
28129 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28130
3c64e104 28131 * normal/command.c: Add missing newline at end of file.
28132
979b4fb4 28133 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
28134 warnings.
28135 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
28136 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
28137 grub_ofdisk_read): Likewise, and deal similarly with the fact that
28138 ihandles have a 32-bit type but need to be stored in a "void *".
28139
136d9f82 281402009-04-28 Pavel Roskin <proski@gnu.org>
28141
9459c306 28142 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
28143 not disk. Adjust all dependencies.
2e08a26a 28144 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 28145 grub_disk_close().
28146
136d9f82 28147 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
28148 parent's partition, don't copy it by reference, as it gets freed
28149 on close.
28150
7dd4a573 281512009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 28152
28153 Preboot hooks support
28154
28155 * commands/boot.c (struct grub_preboot_t): new declaration
28156 (preboots_head): new variable
28157 (preboots_tail): likewise
28158 (grub_loader_register_preboot_hook): new function
28159 (grub_loader_unregister_preboot_hook): likewise
28160 (grub_loader_set): launch preboot hooks
28161 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
28162 (grub_loader_register_preboot_hook): new declaration
28163 (grub_loader_unregister_preboot_hook): likewise
28164
5af922b5 281652009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
28166
28167 Warning fix
28168
7dd4a573 28169 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 28170 calling grub_dprintf
28171
a5562c30 281722009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
28173
28174 Bug and warning fixes
28175
7dd4a573 28176 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 28177 declaration
28178 * commands/test.c (test_parse): fixed bug with file tests and corrected
28179 declaration of find_file
28180
4006f85c 281812009-04-26 Pavel Roskin <proski@gnu.org>
28182
28183 * Makefile.in: Don't install empty manual pages if help2man is
28184 missing. Use help2man option for output, not shell redirection.
28185
5c77c3de 281862009-04-26 David S. Miller <davem@davemloft.net>
28187
28188 * util/grub-mkdevicemap.c (make_device_map): Add missing
28189 NESTED_FUNC_ATTR to process_device().
28190
033b10a8 281912009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28192
28193 Test command
28194
28195 * commands/test.c: rewritten to use bash-like test
28196
e4343593 281972009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
28198
28199 Parttool autoloading and improvements
28200
7dd4a573 28201 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 28202 (parttool.lst): new target
28203 * genmk.rb: generate parttool-*
28204 (CLEANFILES): add #{parttool}
28205 (PARTTOOLFILES): new variable
28206 * genparttoollist.sh: new file
7dd4a573 28207 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 28208 (grub_pcpart_type): likewise
28209 * commands/parttool.c (helpmsg): new variable
28210 (grub_cmd_parttool): output help if not enough arguments are supplied
28211 autoload modules
28212 (GRUB_MOD_INIT(parttool)): use helpmsg
28213
0d312500 282142009-04-24 David S. Miller <davem@davemloft.net>
28215
7dd4a573 28216 Avoiding opening same device multiple times in device iterator.
0d312500 28217
28218 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 28219 and use it to build a list of partitions in iterate_disk() and
0d312500 28220 iterate_partition().
28221
ac20caff 28222 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
28223 on disk->data.
28224
0dcf7495 28225 * disk/ieee1275/nand.c (grub_nand_iterate): Return
28226 grub_devalias_iterate() result instead of unconditional 0.
28227 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
28228 Also, capture hook return value, either directly or via
28229 grub_children_iterate(), and propagate to caller.
28230 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
28231 grub_children_iterate): Return value is now 'int' instead of
28232 'grub_err_t'.
28233 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
28234 like a proper iterator, stopping when hooks return non-zero.
28235 (grub_devalias_iterate): Likewise.
28236
c8c08833 282372009-04-23 David S. Miller <davem@davemloft.net>
28238
28239 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
28240
f01005a8 282412009-04-22 David S. Miller <davem@davemloft.net>
28242
28243 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
28244 is larger than address_cells, use that value for address_cells too.
28245
4e8269da 28246 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
28247 IEEE1275_MAX_PATH_LEN): Define.
28248 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
28249 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
28250 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
28251 'devtype'. Explicitly NULL terminate devalias expansion.
28252
a1447506 28253 * util/sparc64/ieee1275/misc.c: New file.
28254 * util/sparc64/ieee1275/grub-setup.c: New file.
28255 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
28256 * util/sparc64/ieee1275/grub-mkimage.c: New file.
28257 * util/sparc64/ieee1275/grub-install.in: New file.
28258 * util/ieee1275/ofpath.c: New file.
28259 * util/ieee1275/devicemap.c: New file.
28260 * util/devicemap.c: New file.
28261 * util/deviceiter.c: New file.
28262 * kern/sparc64/ieee1275/init.c: New file.
28263 * include/grub/util/ofpath.h: New file.
28264 * include/grub/util/deviceiter.h: New file.
28265 * util/grub-mkdevicemap.c: Include deviceiter.h.
28266 Implement using grub_util_emit_devicemap_entry and
28267 grub_util_iterate_devices.
28268 * conf/i386-corebook.rmk: Build util/deviceiter.c and
28269 util/devicemap.c into grub-mkdevicemap
28270 * conf/i386-efi.rmk: Likewise.
28271 * conf/i386-ieee1275.rmk: Likewise.
28272 * conf/i386-pc.rmk: Likewise.
28273 * conf/powerpc-ieee1275.rmk: Likewise.
28274 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
28275 images and installation utilities. Build kernel as image
28276 instead of as elf binary. Use common rules as much as possible.
28277
7dd4a573 282782009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 28279
28280 Correct GPT definition
28281
7dd4a573 28282 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 28283 of "attrib" member
28284
c6c5219f 282852009-04-19 Felix Zielcke <fzielcke@z-51.de>
28286
28287 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
28288
0552ff9f 282892009-04-19 David S. Miller <davem@davemloft.net>
28290
28291 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
28292 (grub_rescue_cmd_linux): Rename to...
28293 (grub_cmd_linux): and fix prototype.
28294 (grub_rescue_cmd_initrd): Rename to...
28295 (grub_cmd_initrd): and fix prototype.
28296 (cmd_linux, cmd_initrd): New.
28297 (GRUB_MOD_INIT(linux)): Use grub_register_command().
28298 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
28299
d1a282fc 283002009-04-17 Pavel Roskin <proski@gnu.org>
28301
07c5039f 28302 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
28303 format.
28304 (grub_ohci_transfer): Likewise.
28305
b012002d 28306 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
28307
1bc09c35 28308 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
28309 return without a value. Fix inconsistent indentation.
28310
e0ff9126 28311 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
28312 match struct grub_fs.
28313
d1a282fc 28314 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
28315 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
28316 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
28317 * commands/lspci.c (grub_lspci_iter): Likewise.
28318
a96df3f2 283192009-04-16 Bean <bean123ch@gmail.com>
28320
28321 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
28322 value.
28323
41bb0fe9 283242009-04-15 Pavel Roskin <proski@gnu.org>
28325
28326 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
28327 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
28328 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
28329 definitions.
28330
596c6970 283312009-04-15 Felix Zielcke <fzielcke@z-51.de>
28332
28333 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 28334 that no multiple data or metadata areas are supported and `Unknown
596c6970 28335 metadata header'.
28336
7dd4a573 283372009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 28338
28339 Move loader out of the kernel
28340
28341 * kern/loader.c: moved to ...
28342 * commands/boot.c: ... moved here
28343 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
28344 * commands/boot.c (grub_cmd_boot): moved here. All users updated
28345 * include/grub/kernel.h (grub_machine_fini): export
28346 * include/grub/loader.h (grub_loader_is_loaded): update declaration
28347 (grub_loader_set): likewise
28348 (grub_loader_unset): likewise
28349 (grub_loader_boot): likewise
28350 * conf/common.rmk: new module boot.mod
28351 (pkglib_MODULES): add boot.mod
28352 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
28353 (grub_emu_SOURCES): likewise
28354 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
28355 (grub_emu_SOURCES): likewise
28356 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
28357 (grub_emu_SOURCES): likewise
28358 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
28359 (grub_emu_SOURCES): likewise
28360 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
28361 (grub_emu_SOURCES): likewise
7dd4a573 28362 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
28363 (grub_emu_SOURCES): likewise
0d5d5653 28364 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 28365 (grub_emu_SOURCES): likewise
0d5d5653 28366
7dd4a573 283672009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 28368
28369 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 28370
5999d619 28371 * kern/misc.c (grub_itoa): Removed function
28372 (grub_ltoa): likewise
28373 (grub_vsprintf): use grub_lltoa
28374
7dd4a573 283752009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 28376
28377 Restore grub-emu
28378
28379 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
28380 * conf/i386-coreboot.rmk: likewise
28381 * conf/i386-ieee1275.rmk: likewise
28382 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 28383
20318222 283842009-04-15 Felix Zielcke <fzielcke@z-51.de>
28385
28386 * INSTALL: Add that `./autogen.sh' needs to be run before
28387 `./configure.'.
28388
d05f0df3 283892009-04-14 Bean <bean123ch@gmail.com>
28390
28391 * Makefile.in (pkglib_DATA): Add handler.lst.
28392 (handler.lst): New rule.
28393
28394 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
28395 * conf/i386-coreboot.rmk: Likewise.
28396 * conf/i386-ieee1275.rmk: Likewise.
28397 * conf/i386-efi.rmk: Likewise.
28398 * conf/x86_64-efi.rmk: Likewise.
28399 * conf/powerpc-ieee1275.rmk: Likewise.
28400 * conf/sparc64-ieee1275.rmk: Likewise.
28401
28402 * genhandlerlist.sh: New file.
28403
28404 * genmk.rb: Add rules to generate handler.lst.
28405
28406 * include/grub/normal.h (grub_file_getline): New function definition.
28407 (read_handler_list): Likewise.
28408 (free_handler_list): Likewise.
28409
28410 * include/grub/term.h (grub_term_register_input): Add name parameter
28411 for auto generation of handler.lst.
28412 (grub_term_register_output): Likewise.
28413
28414 * normal/handler.c: New file.
28415
28416 * normal/main.c (get_line): Renamed to grub_file_getline.
28417 (read_config_file): Use the newly renamed grub_file_getline.
28418 (read_command_list): Likewise.
28419 (read_fs_list): Likewise.
28420 (grub_normal_execute): Call read_handler_list to parse handler.lst.
28421 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
28422
28423 * term/efi/console.c (grub_console_init): Add name parameter for auto
28424 generation of handler.lst.
28425 * term/gfxterm.c: Likewise.
28426 * term/i386/pc/at_keyboard.c: Likewise.
28427 * term/i386/pc/console.c: Likewise.
28428 * term/i386/pc/serial.c: Likewise.
28429 * term/i386/pc/vesafb.c: Likewise.
28430 * term/i386/pc/vga.c: Likewise.
28431 * term/i386/pc/vga_text.c: Likewise.
28432 * term/ieee1275/ofconsole.c: Likewise.
28433 * term/usb_keyboard.c: Likewise.
28434
33c846be 284352009-04-14 Bean <bean123ch@gmail.com>
28436
28437 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
28438 properly with null character.
28439
4484e01e 284402009-04-14 Felix Zielcke <fzielcke@z-51.de>
28441
28442 * configure: Remove.
28443 * config.h.in: Likewise.
f93d668e 28444 * stamp-h.in: Likewise.
4484e01e 28445 * DISTLIST: Likewise.
28446 * conf/common.mk: Likewise.
28447 * conf/i386-coreboot.mk: Likewise.
28448 * conf/i386-efi.mk: Likewise.
28449 * conf/i386-ieee1275.mk: Likewise.
28450 * conf/i386.mk: Likewise.
28451 * conf/i386-pc.mk: Likewise.
28452 * conf/powerpc-ieee1275.mk: Likewise.
28453 * conf/sparc64-ieee1275.mk: Likewise.
28454 * conf/x86_64-efi.mk: Likewise.
28455
28456 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
28457 develop on GRUB.
28458
7dd4a573 284592009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 28460 David S. Miller <davem@davemloft.net>
28461
28462 * util/hostdisk.c (make_device_name): Fix buffer length
28463 calculations.
28464
e25b5a8c 284652009-04-14 Felix Zielcke <fzielcke@z-51.de>
28466
28467 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
28468 <sys/param.h> and <sys/sysctl.h>.
28469 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
28470 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
28471 opening the device and reset them afterwards.
28472
1f1f580c 284732009-04-13 Pavel Roskin <proski@gnu.org>
28474
28475 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
28476 Reported by John Stanley <jpsinthemix@verizon.net>
28477
7ebc2d6b 284782009-04-13 Robert Millan <rmh@aybabtu.com>
28479
28480 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 28481 that name for menuentries when appropriate.
7ebc2d6b 28482
d8ba3667 284832009-04-13 Felix Zielcke <fzielcke@z-51.de>
28484
28485 * util/grub.d/10_freebsd.in: Add a missing `fi'.
28486
cba416eb 284872009-04-13 Robert Millan <rmh@aybabtu.com>
28488
28489 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
28490 to Linux, simply abort telling the user it's no longer supported.
28491
a547a745 284922009-04-13 Felix Zielcke <fzielcke@z-51.de>
28493
28494 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 28495 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 28496 `freebsd_loadenv' only when devices.hints exist.
28497
232a769c 284982009-04-13 Pavel Roskin <proski@gnu.org>
28499
28500 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
28501
c3012039 285022009-04-13 Felix Zielcke <fzielcke@z-51.de>
28503
28504 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
28505 partition number.
28506 (grub_drive): Likewise.
28507
234022fe 285082009-04-13 David S. Miller <davem@davemloft.net>
28509
28510 * kern/sparc64/ieee1275/ieee1275.c: New file.
28511 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
28512 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
28513 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
28514 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
28515 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
28516 grub_ieee1275_alloc_physmem): Declare new exported functions.
28517
d8e1836c 28518 * include/grub/sparc64/ieee1275/loader.h: New file.
28519 * include/grub/sparc64/ieee1275/memory.h: Likewise.
28520 * include/grub/sparc64/kernel.h: Likewise.
28521 * loader/sparc64/ieee1275/linux.c: Likewise.
28522
96bd81ec 28523 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
28524 (grub_fstest_SOURCES): Likewise.
28525
6a4737e5 28526 * util/hostdisk.c (make_device_name): Do not make any assumptions
28527 about the length of drive names.
28528
1d7a72fd 28529 * kern/dl.c (grub_dl_load_file): Close file immediately when
28530 we are done using it.
28531
56bc2471 285322009-04-12 David S. Miller <davem@davemloft.net>
28533
28534 * kern/misc.c (grub_ltoa): Fix cast when handling negative
28535 values. Noticed by Pavel Roskin.
28536
df38d0bb 28537 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
28538 target compiler.
7dd4a573 28539
e382e93a 28540 * genmk.rb: Add more flexible image type specification, also
28541 pass --strip-unneeded to objcopy.
28542 * conf/i386-pc.rmk: Use *_FORMAT.
28543 * conf/i386-pc.mk: Rebuilt.
28544
f5dbbca9 28545 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
28546 (OFDISK_HASH_SZ): Define.
28547 (ofdisk_hash): New hash table.
28548 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
28549 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
28550 instead of device phandle which is not unique.
28551
91c88b12 28552 * kern/sparc64/ieee1275/init.c: Delete, replace with...
28553 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
28554 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
28555 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
28556 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
28557 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
28558 GRUB_KERNEL_MACHINE_DATA_END): Define.
28559 (grub_kernel_image_size, grub_total_module_size): Declare.
28560
5b5d4aa5 285612009-04-12 Pavel Roskin <proski@gnu.org>
28562
7dd4a573 28563 * configure.ac: Change the logic when we check for target tools.
28564 Do it when the target is specified and it's different from the
28565 specified value of the host.
5b5d4aa5 28566
c91e1793 285672009-04-11 Felix Zielcke <fzielcke@z-51.de>
28568
28569 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
28570 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
28571 GNU/kFreeBSD. Check if a device is a character device. Use
28572 DIOCGMEDIASIZE to get the size.
28573 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
28574 support for GNU/kFreeBSD.
28575 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
28576 is a character device instead of a block device. Add support for
28577 FreeBSD device names.
28578
28579 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
28580 is a character device instead of a block device.
28581
28582 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
28583 is a character device instead of a block device.
28584
b1ac8644 285852009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
28586
28587 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
28588 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
28589 FreeBSD. Check if a device is a character device. Use
28590 DIOCGMEDIASIZE to get the size.
28591 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
28592 support for FreeBSD.
28593 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
28594 is a character device instead of a block device. Add support for
28595 FreeBSD device names.
28596
28597 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
28598 a character device instead of a block device.
28599 (grub_util_check_char_device): New function.
28600
28601 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
28602 a character device instead of a block device.
28603
28604 * include/grub/util/getroot.h (grub_util_check_char_device): New
28605 prototype.
28606
a3f7515a 286072009-04-11 David S. Miller <davem@davemloft.net>
28608
28609 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
28610 static libgcc.
28611 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
28612 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
28613 function, if present.
28614 (__bswapdi2): Likewise.
28615
0d44993d 28616 * include/grub/sparc64/ieee1275/boot.h: New file.
28617 * boot/sparc64/ieee1275/boot.S: Likewise.
28618 * boot/sparc64/ieee1275/diskboot.S: Likewise.
28619
ed3d2bc2 28620 * kern/misc.c (grub_ltoa): New function.
28621 (grub_vsprintf): Use it to format 'long' integers.
28622
d3bfb59c 286232009-04-10 David S. Miller <davem@davemloft.net>
28624
28625 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
28626 slots are of type grub_ieee1275_cell_t.
28627 (grub_nand_read): Likewise.
28628 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
28629 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
28630 macros are used to compare values in arg/ret block of the call.
28631 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
28632 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
28633 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
28634 grub_ieee1275_instance_to_path, grub_ieee1275_write,
28635 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
28636 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
28637 grub_ieee1275_close, grub_ieee1275_set_property,
28638 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
28639 grub_ieee1275_cell_t.
28640 * kern/ieee1275/openfw.c (grub_map): Likewise.
28641 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
28642 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
28643
450e2238 28644 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
28645 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
28646 (grub_devalias_iterate): Likewise.
28647
7dd4a573 286482009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 28649
28650 UFS improvements
28651
28652 * fs/ufs.c (INODE_NBLOCKS): new definition
28653 (struct grub_ufs_dirent): added fields for non-BSD dirents
28654 (grub_ufs_get_file_block): fixed double indirect handling
28655 (grub_ufs_lookup_symlink): use more robust way to determine whether
28656 symlink is inline
28657 (grub_ufs_find_file): support for non-BSD dirents
28658 (grub_ufs_dir): support for non-BSD dirents
28659
e7e6862a 286602009-04-10 Bean <bean123ch@gnail.com>
28661
28662 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
28663 attribute, otherwise the size would be wrong for i386 platform.
28664
28665 * include/grub/pci.h (grub_pci_read_word): New inline function.
28666 (grub_pci_read_byte): Likewise.
28667 (grub_pci_write): Likewise.
28668 (grub_pci_write_word): Likewise.
28669 (grub_pci_write_byte): Likewise.
28670
28671 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
28672
28673 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
28674 (find_framebuf): Scan pci to locate the frame buffer address.
28675
28676 * commands/efi/fixvideo.c: New file.
28677
28678 * commands/efi/loadbios.c: Likewise.
28679
28680 * commands/memrw.c: Likewise.
28681
28682 * util/grub-dumpbios.in: Likewise.
28683
28684 * conf/common.rmk (grub-dumpbios): New utility.
28685 (pkglib_MODULES): New module memrw.mod.
28686 (memrw_mod_SOURCE): New macro.
28687 (memrw_mod_CFLAGS): Likewise.
28688 (memrw_mod_LDFLAGS): Likewise.
28689
7dd4a573 28690 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 28691 fixvideo.mod.
28692 (loadbios_mod_SOURCE): New macro.
28693 (loadbios_mod_CFLAGS): Likewise.
28694 (loadbios_mod_LDFLAGS): Likewise.
28695 (fixvideo_mod_SOURCE): Likewise.
28696 (fixvideo_mod_CFLAGS): Likewise.
28697 (fixvideo_mod_LDFLAGS): Likewise.
28698
7dd4a573 28699 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 28700 fixvideo.mod.
28701 (loadbios_mod_SOURCE): New macro.
28702 (loadbios_mod_CFLAGS): Likewise.
28703 (loadbios_mod_LDFLAGS): Likewise.
28704 (fixvideo_mod_SOURCE): Likewise.
28705 (fixvideo_mod_CFLAGS): Likewise.
28706 (fixvideo_mod_LDFLAGS): Likewise.
28707
af63ada2 287082009-04-08 Felix Zielcke <fzielcke@z-51.de>
28709
28710 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
28711
c2cdde70 287122009-04-07 David S. Miller <davem@davemloft.net>
28713
28714 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
28715 support for R_SPARC_OLO10 relocations. Fix compile warning for
28716 R_SPARC_WDISP30 case.
ea3f72cf 28717 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 28718
761319cf 287192009-04-06 Pavel Roskin <proski@gnu.org>
28720
1007d1f5 28721 * include/grub/misc.h (ARRAY_SIZE): New macro.
28722 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
28723 New macro.
28724 * loader/i386/linux.c (allocate_pages): Use free_pages().
28725 (grub_linux_unload): Don't use free_pages().
28726 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
28727 wrong index. Treat all other modes as text modes.
28728 (grub_cmd_linux): Initialize vid_mode unconditionally to
28729 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
28730
761319cf 28731 * commands/help.c (print_command_help): Use cmd->prio, not
28732 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
28733
ea761d40 287342009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 28735
ea761d40 28736 Parttool
28737
28738 * parttool/pcpart.c: new file
28739 * commands/parttool.c: likewise
28740 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
28741 (parttool_mod_SOURCES): new variable
28742 (parttool_mod_CFLAGS): likewise
28743 (parttool_mod_LDFLAGS): likewise
28744 (pcpart_mod_SOURCES): likewise
28745 (pcpart_mod_CFLAGS): likewise
28746 (pcpart_mod_LDFLAGS): likewise
7dd4a573 28747 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 28748 and parttool/pcpart.c
28749 * conf/i386-efi.rmk: likewise
28750 * conf/i386-ieee1275.rmk: likewise
28751 * conf/i386-pc.rmk: likewise
28752 * conf/powerpc-ieee1275.rmk: likewise
28753 * conf/sparc64-ieee1275.rmk: likewise
28754 * conf/x86_64-ieee1275.rmk: likewise
28755
05aaebfb 287562009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28757
28758 Support for mtime and further expandability of dir command
28759
28760 * include/grub/lib/datetime.h: moved to ...
7dd4a573 28761 * include/grub/datetime.h: ... moved here and added
05aaebfb 28762 declaration of grub_unixtime2datetime. All users updated
7dd4a573 28763 * include/grub/fs.h: new syntax for dir and mtime functions in
28764 struct grub_fs
05aaebfb 28765 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
28766 and GRUB_FSHELP_FLAGS_MASK
28767 * commands/ls.c (grub_ls_list_files): Write mtime in long format
28768 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
28769 (grub_ext2_mtime): new function
28770 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
28771 (grub_hfsplus_mtime): new function
28772 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
28773 (GRUB_UFS_ATTR_FILE): likewise
28774 (GRUB_UFS_ATTR_LNK): likewise
28775 (struct grub_ufs_sblock): new fields mtime
28776 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
28777 all users updated
28778 (grub_ufs_dir): mtime support
28779 (grub_ufs_mtime): new function
28780 * fs/affs.c (grub_affs_dir): use new dir syntax
28781 * fs/afs.c (grub_afs_dir): likewise
28782 * fs/cpio.c (grub_cpio_dir): likewise
28783 * fs/fat.c (grub_fat_find_dir): likewise
28784 * fs/hfs.c (grub_hfs_dir): likewise
28785 * fs/iso9660.c (grub_iso9660_dir): likewise
28786 * fs/jfs.c (grub_jfs_dir): likewise
28787 * fs/minix.c (grub_minix_dir): likewise
28788 * fs/ntfs.c (grub_ntfs_dir): likewise
28789 * fs/reiserfs.c (grub_reiserfs_dir): likewise
28790 * fs/sfs.c (grub_sfs_dir): likewise
28791 * fs/xfs.c (grub_xfs_dir): likewise
28792 * util/hostfs.c (grub_hostfs_dir): likewise
28793 * lib/datetime.c: moved to ...
28794 * normal/datetime.c: ... moved here
28795 (grub_unixtime2datetime): new function
28796 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 28797 * normal/completion.c (iterate_dir): use new dir syntax
28798 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 28799 last modification time of a volume
7dd4a573 28800 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 28801 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 28802 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 28803 (normal_mod_SOURCES): likewise
28804 (datetime_mod_SOURCES): Removed lib/datetime.c
28805 * conf/i386-efi.rmk: likewise
7dd4a573 28806 * conf/i386-ieee1275.rmk: likewise
05aaebfb 28807 * conf/i386-pc.rmk: likewise
28808 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 28809 * conf/sparc64-ieee1275.rmk: likewise
28810 * conf/x86_64-efi.rmk: likewise
05aaebfb 28811
8a7e1a14 288122009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
28813
28814 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 28815
28816 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 28817 on grub_fat_find_dir
28818 (grub_fat_find_dir): use grub_fat_iterate_dir
28819 (grub_fat_label): likewise
28820
04186a9c 288212009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
28822
7dd4a573 28823 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 28824 and command.h
28825 remove extraneous kernel_elf_HEADERS
28826
da4c0bb6 288272009-04-04 Bean <bean123ch@gnail.com>
28828
28829 * include/grub/util/misc.h: Add dummy function fsync for mingw.
28830
28831 * util/misc.c: Likewise.
28832
54ad9555 288332009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
28834
28835 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
28836 instead of grub_printf.
28837
7a6bf9f2 288382009-04-03 Robert Millan <rmh@aybabtu.com>
28839
28840 * loader/i386/linux.c (grub_linux_setup_video): Fill
28841 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
28842 values from `mode info' structure instead of hardcoded
28843 values.
28844
3fcc2083 288452009-04-01 Pavel Roskin <proski@gnu.org>
28846
28847 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
28848 unused now.
28849 * genmk.rb: Likewise.
28850 * configure.ac: Likewise.
28851
5ec9740b 288522009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
28853
28854 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
28855 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
28856
5270cec8 288572009-04-01 David S. Miller <davem@davemloft.net>
28858
28859 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 28860 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 28861 (grub_setjmp): Mark with 'returns_twice' attribute.
28862 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
28863 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
28864 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
28865
9c3dd854 288662009-04-01 Robert Millan <rmh@aybabtu.com>
28867
28868 Reapply fix from 2008-07-28 which was accidentally reverted; also
28869 perform the same fix to a similar check in same function.
28870
28871 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
28872 with the same number are found, just use issue a warning with
28873 grub_dprintf(), as this error has been reported to be non-fatal.
28874
0d818b7e 288752009-03-31 Pavel Roskin <proski@gnu.org>
28876
28877 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
28878 for cross-compilation.
28879
95646d92 288802009-03-30 Robert Millan <rmh@aybabtu.com>
28881
28882 Fix i386-ieee1275 build.
28883
28884 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
28885 Remove declaration.
28886
6a003ed1 288872009-03-30 Pavel Roskin <proski@gnu.org>
28888
28889 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
28890 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
28891 zero-terminated, rely only on the strlen value. Fix comparison
28892 of strings differing in length.
28893
92f33540 288942009-03-30 Robert Millan <rmh@aybabtu.com>
28895
28896 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
28897 checking for abi version. Improve error messages on BIOS to notify
28898 user about `linux16' command.
28899
a8c48fd5 289002009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
28901
f968172e 28902 Leak fixes
a8c48fd5 28903
f968172e 28904 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
28905 in case of collision
28906 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 28907
9c323f09 289082009-03-29 Robert Millan <rmh@aybabtu.com>
28909
28910 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
28911 set `vid_mode' accordingly.
28912 (grub_linux_boot): Process `vid_mode' and set video mode.
28913
ae68f423 289142009-03-29 Robert Millan <rmh@aybabtu.com>
28915
28916 * util/grub.d/10_linux.in (linux_entry): New function.
28917 Factorize generation of Linux boot entries.
28918
5709cfc4 289192009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
28920
28921 Make the format of Environment Block plain text. The boot loader
28922 part is not tested well yet.
7dd4a573 28923
5709cfc4 28924 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
28925 (buffer): Removed.
28926 (envblk): Likewise.
28927 (usage): Remove "info" and "clear". Add "unset". Update the
28928 description of "set", as this does not delete variables any
28929 longer.
28930 (create_envblk_file): Complete rewrite.
28931 (open_envblk_file): Likewise.
28932 (cmd_info): Removed.
28933 (cmd_list): Likewise.
28934 (cmd_set): Likewise.
28935 (cmd_clear): Likewise.
28936 (list_variables): New function.
28937 (write_envblk): Likewise.
28938 (set_variables): Likewise.
28939 (unset_variables): Likewise.
28940 (main): Complete rewrite.
28941
28942 * commands/loadenv.c (buffer): Removed.
28943 (envblk): Likewise.
28944 (open_envblk_file): New function.
28945 (read_envblk_file): Complete rewrite.
28946 (grub_cmd_load_env): Likewise.
28947 (grub_cmd_list_env): Likewise.
28948 (struct blocklist): New struct.
28949 (free_blocklists): New function.
28950 (check_blocklists): Likewise.
28951 (write_blocklists): Likewise.
28952 (grub_cmd_save_env): Complete rewrite.
28953
28954 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
28955 a plain text signature.
28956 (GRUB_ENVBLK_MAXLEN): Removed.
28957 (struct grub_envblk): Complete rewrite.
28958 (grub_envblk_find): Removed.
28959 (grub_envblk_insert): Likewise.
28960 (grub_envblk_open): New prototype.
28961 (grub_envblk_set): Likewise.
28962 (grub_envblk_delete): Put const to VALUE.
28963 (grub_envblk_iterate): Put const to NAME and VALUE.
28964 (grub_envblk_close): New prototype.
28965 (grub_envblk_buffer): New inline function.
28966 (grub_envblk_size): Likewise.
28967
28968 * lib/envblk.c: Include grub/mm.h.
28969 (grub_env_find): Removed.
28970 (grub_envblk_open): New function.
28971 (grub_envblk_close): Likewise.
28972 (escaped_value_len): Likewise.
28973 (find_next_line): Likewise.
28974 (grub_envblk_insert): Removed.
28975 (grub_envblk_set): New function.
28976 (grub_envblk_delete): Complete rewrite.
28977 (grub_envblk_iterate): Likewise.
28978
a9368fd3 289792009-03-28 Robert Millan <rmh@aybabtu.com>
28980
28981 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
28982 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
28983 variables. Use 16-bit loader.
28984 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
28985 loader.
28986 * kern/i386/loader.S (grub_linux_boot): Rename to ...
28987 (grub_linux16_boot): ... this. Update all users.
28988 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
28989 (grub_linux_boot): ... this. Update all users.
28990
28991 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
28992 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
28993 commands to `linux16' and `initrd16'.
28994 (GRUB_MOD_FINI(linux)): Rename to ...
28995 (GRUB_MOD_FINI(linux16)): ... this.
28996
e4dd5a7e 289972009-03-24 Pavel Roskin <proski@gnu.org>
28998
28999 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
29000 not just for compilation.
29001
c04d6e05 290022009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
29003
29004 Move multiboot helper out of kernel
29005
29006 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
29007 `loader/i386/multiboot_helper.S'.
29008 * conf/i386-coreboot.rmk: Likewise
29009 * conf/i386-ieee1275.rmk: Likewise
29010
29011 * kern/i386/loader.S: Move multiboot helpers from here...
29012 * loader/i386/multiboot_helper.S: ...moved here
29013 * include/grub/i386/loader.h: Move declarations of multiboot
29014 helpers from here...
29015 * include/grub/i386/multiboot.h: ...moved here
29016 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
29017
42a5b3fc 290182009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29019
29020 * kern/env.c (grub_env_context_open): Added an argument to specify
29021 whether a new context inherits exported variables from current
29022 one. This is useful when making a sandbox to interpret a config
29023 file.
29024 All callers updated.
29025
29026 * include/grub/env.h (grub_env_context_open): Updated the prototype.
29027
b28bbc4e 290282009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29029
29030 * kern/env.c (grub_env_context_close): Fix memory leaks.
29031
f04f02e4 290322009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
29033
29034 * normal/main.c (grub_normal_execute): Added an argument
29035 BATCH to specify if an interactive interface should be provided
29036 after reading a config file.
29037 All callers updated.
29038 (read_command_list): Prevent being executed twice.
29039 (read_fs_list): Likewise.
29040
42a5b3fc 29041 * include/grub/normal.h (grub_normal_execute): Updated the
29042 prototype.
f04f02e4 29043
41473ac2 290442009-03-22 Pavel Roskin <proski@gno.org>
29045
fbc00b0c 29046 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
29047 _start.
29048 * kern/i386/pc/startup.S: Likewise.
29049 * kern/i386/efi/startup.S: Likewise.
29050 * kern/i386/ieee1275/startup.S: Likewise.
29051 * kern/i386/coreboot/startup.S: Likewise.
29052 * kern/x86_64/efi/startup.S: Likewise.
29053
41473ac2 29054 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
29055 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
29056 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
29057
2274cc8f 290582009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
29059
29060 Bugfixes in multiboot for bugs uncovered by solaris kernel.
29061
29062 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
29063 limit detection.
29064 Use vaddr of correct segment for entry_point.
29065
b1b797cb 290662009-03-21 Bean <bean123ch@gmail.com>
29067
29068 * commands/blocklist.c: Add include file <grub/command.h>, remove
29069 <grub/normal.h> and <grub/arg.h>.
29070 (grub_cmd_blocklist): Use the new command interface.
29071 (GRUB_MOD_INIT): Likewise.
29072 (GRUB_MOD_FINI): Likewise.
29073 * commands/boot.c: Likewise.
29074 * commands/cat.c: Likewise.
29075 * commands/cmp.c: Likewise.
29076 * commands/configfile.c: Likewise.
29077 * commands/crc.c: Likewise.
29078 * commands/echo.c: Likewise.
29079 * commands/halt.c: Likewise.
29080 * commands/handler.c: Likewise.
29081 * commands/hdparm.c: Likewise.
29082 * commands/help.c: Likewise.
29083 * commands/hexdump.c: Likewise.
29084 * commands/loadenv.c: Likewise.
29085 * commands/ls.c: Likewise.
29086 * commands/lsmmap.c: Likewise.
29087 * commands/lspci.c: Likewise.
29088 * commands/loadenv.c: Likewise.
29089 * commands/read.c: Likewise.
29090 * commands/reboot.c: Likewise.
29091 * commands/search.c: Likewise.
29092 * commands/sleep.c: Likewise.
29093 * commands/test.c: Likewise.
29094 * commands/usbtest.c: Likewise.
29095 * commands/videotest.c: Likewise.
29096 * commands/i386/cpuid.c: Likewise.
29097 * commands/i386/pc/halt.c: Likewise.
29098 * commands/i386/pc/play.c: Likewise.
29099 * commands/i386/pc/pxecmd.c: Likewise.
29100 * commands/i386/pc/vbeinfo.c: Likewise.
29101 * commands/i386/pc/vbetest.c: Likewise.
29102 * commands/ieee1275/suspend.c: Likewise.
29103 * disk/loopback.c: Likewise.
29104 * font/font_cmd.c: Likewise.
29105 * hello/hello.c: Likewise.
29106 * loader/efi/appleloader.c: Likewise.
29107 * loader/efi/chainloader.c: Likewise.
29108 * loader/i386/bsd.c: Likewise.
29109 * loader/i386/efi/linux.c: Likewise.
29110 * loader/i386/ieee1275/linux.c: Likewise.
29111 * loader/i386/linux.c: Likewise.
29112 * loader/i386/pc/chainloader.c: Likewise.
29113 * loader/i386/pc/linux.c: Likewise.
29114 * loader/powerpc/ieee1275/linux.c: Likewise.
29115 * loader/multiboot_loader.c: Likewise.
29116 * term/gfxterm.c: Likewise.
29117 * term/i386/pc/serial.c: Likewise.
29118 * term/terminfo.c: Likewise.
29119
29120 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
29121 * term/i386/pc/vga.c: Likewise.
29122 * video/readers/jpeg.c: Likewise.
29123 * video/readers/png.c: Likewise.
29124 * video/readers/tga.c: Likewise.
29125
29126 * util/grub-fstest (cmd_loopback): Removed.
29127 (cmd_blocklist): Likewise.
29128 (cmd_ls): Likewise.
29129 (grub_register_command): Likewise.
29130 (grub_unregister_command): Likewise.
29131 (execute_command): Use grub_command_find to locate command and execute
29132 it.
29133
29134 * include/grub/efi/chainloader.h: Removed.
29135 * loader/efi/chainloader_normal.c: Likewise.
29136 * loader/i386/bsd_normal.c: Likewise.
29137 * loader/i386/pc/chainloader_normal.c: Likewise.
29138 * loader/i386/pc/multiboot_normal.c: Likewise.
29139 * loader/linux_normal.c: Likewise.
29140 * loader/multiboot_loader_normal.c: Likewise.
29141 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
29142
29143 * gencmdlist.sh: Scan new registration command grub_register_extcmd
29144 and grub_register_command_p1.
29145
29146 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
29147 kern/command.c, lib/arg.c and commands/extcmd.c.
29148 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
29149 (minicmd_mod_SOURCES): New variable.
29150 (minicmd_mod_CFLAGS): Likewise.
29151 (minicmd_mod_LDFLAGS): Likewise.
29152 (extcmd_mod_SOURCES): Likewise.
29153 (extcmd_mod_CFLAGS): Likewise.
29154 (extcmd_mod_LDFLAGS): Likewise.
29155 (boot_mod_SOURCES): Removed.
29156 (boot_mod_CFLAGS): Likewise.
29157 (boot_mod_LDFLAGS): Likewise.
29158
29159 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
29160 kern/corecmd.c.
29161 (kernel_img_HEADERS): Add command.h.
29162 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
29163 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
29164 and lib/arg.c.
29165 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
29166 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
29167 remove the corresponding normal mode command.
29168 (normal_mod_SOURCES): Remove normal/arg.c.
29169 * conf/i386-coreboot.rmk: Likewise.
29170 * conf/i386-efi.rmk: Likewise.
29171 * conf/i386-ieee1275.rmk: Likewise.
29172 * conf/powerpc-ieee1275.rmk: Likewise.
29173 * conf/x86_64-efi.rmk: Likewise.
29174
29175 * include/grub/arg.h: Move from here ...
29176 * include/grub/lib/arg.h: ... to here.
29177
29178 * normal/arg.c: Move from here ...
29179 * lib/arg.c: ... to here.
29180
29181 * commands/extcmd.c: New file.
29182 * commands/minicmd.c: Likewise.
29183 * include/grub/command.h: Likewise.
29184 * include/grub/extcmd.h: Likewise.
29185 * kern/command.c: Likewise.
29186 * kern/corecmd.c: Likewise.
29187
29188 * kern/list.c (grub_list_iterate): Return int instead of void.
29189 (grub_list_insert): New function.
29190 (grub_prio_list_insert): Likewise.
29191
29192 * kern/rescue.c (grub_rescue_command): Removed.
29193 (grub_rescue_command_list): Likewise.
29194 (grub_rescue_register_command): Likewise.
29195 (grub_rescue_unregister_command): Likewise.
29196 (grub_rescue_cmd_boot): Move to minicmd.c
29197 (grub_rescue_cmd_help): Likewise.
29198 (grub_rescue_cmd_info): Likewise.
29199 (grub_rescue_cmd_boot): Likewise.
29200 (grub_rescue_cmd_testload): Likewise.
29201 (grub_rescue_cmd_dump): Likewise.
29202 (grub_rescue_cmd_rmmod): Likewise.
29203 (grub_rescue_cmd_lsmod): Likewise.
29204 (grub_rescue_cmd_exit): Likewise.
29205 (grub_rescue_print_devices): Moved to corecmd.c.
29206 (grub_rescue_print_files): Likewise.
29207 (grub_rescue_cmd_ls): Likewise.
29208 (grub_rescue_cmd_insmod): Likewise.
29209 (grub_rescue_cmd_set): Likewise.
29210 (grub_rescue_cmd_unset): Likewise.
7d074e3c 29211 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 29212 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 29213 commands, remove grub_rescue_register_command calls.
b1b797cb 29214
7d074e3c 29215 * normal/command.c (grub_register_command): Removed.
b1b797cb 29216 (grub_unregister_command): Likewise.
29217 (grub_command_find): Likewise.
29218 (grub_iterate_commands): Likewise.
29219 (rescue_command): Likewise.
29220 (export_command): Moved to corecmd.c.
29221 (set_command): Removed.
29222 (unset_command): Likewise.
29223 (insmod_command): Likewise.
29224 (rmmod_command): Likewise.
29225 (lsmod_command): Likewise.
29226 (grub_command_init): Likewise.
29227
29228 * normal/completion.c (iterate_command): Use cmd->prio to check for
29229 active command.
29230 (complete_arguments): Use grub_extcmd_t structure to find options.
29231 (grub_normal_do_completion): Change function grub_iterate_commands to
29232 grub_command_iterate.
29233
29234 * normal/execute.c (grub_script_execute_cmd): No need to parse
29235 argument here.
29236
29237 * normal/main.c (grub_dyncmd_dispatcher): New function.
29238 (read_command_list): Register unload commands as dyncmd.
29239 (grub_cmd_normal): Use new command interface, register rescue,
29240 unregister normal at entry, register normal, unregister rescue at exit.
29241
29242 * include/grub/list.h (grub_list_test_t): New type.
29243 (grub_list_iterate): Return int instead of void.
29244 (grub_list_insert): New function.
29245 (GRUB_AS_NAMED_LIST_P): New macro.
29246 (GRUB_AS_PRIO_LIST): Likewise.
29247 (GRUB_AS_PRIO_LIST_P): Likewise.
29248 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
29249 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
29250 (grub_prio_list): New structure.
29251 (grub_prio_list_insert): New function.
29252 (grub_prio_list_remove): New inline function.
29253
29254 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
29255 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
29256 (GRUB_COMMAND_FLAG_MENU): Likewise.
29257 (GRUB_COMMAND_FLAG_BOTH): Likewise.
29258 (GRUB_COMMAND_FLAG_TITLE): Likewise.
29259 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
29260 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
29261 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
29262 (grub_command): Likewise.
29263 (grub_register_command): Likewise.
29264 (grub_command_find): Likewise.
29265 (grub_iterate_commands): Likewise.
29266 (grub_command_init): Likewise.
29267 (grub_arg_parse): Likewise.
29268 (grub_arg_show_help): Likewise.
29269
29270 * include/grub/rescue.h (grub_rescue_register_command): Removed.
29271 (grub_rescue_unregister_command): Likewise.
29272
29273 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
29274 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
29275 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
29276
29277 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
29278 grub_rescue_cmd_initrd.
29279 * include/grub/i386/loader.h: Likewise.
29280 * include/grub/x86_64/loader.h: Likewise.
29281
29282 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
29283
1f4147aa 292842009-03-21 Bean <bean123ch@gmail.com>
29285
29286 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
29287 instead of stat in mingw environment.
29288
29289 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
29290
29291 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
29292
29293 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
29294 AC_CONFIG_LINKS.
29295
2156d5ba 292962009-03-21 Bean <bean123ch@gmail.com>
29297
29298 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
29299 out of range error.
29300
177b82ca 293012009-03-18 Michel Dänzer <michel@daenzer.net>
29302
29303 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
29304 checking inode flags for EXT4_EXTENTS_FLAG.
29305
14aad807 293062009-03-18 Robert Millan <rmh@aybabtu.com>
29307
29308 * loader/i386/linux.c: Include `<grub/video.h>' and
29309 `<grub/i386/pc/vbe.h>'..
29310 (grub_linux_setup_video): New function. Loosely based on the EFI one.
29311 (grub_linux32_boot): Attempt to configure video settings with
29312 grub_linux_setup_video().
29313 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
29314 to avoid grub_console_fini() which would step out of graphical mode
29315 unconditionally.
29316
8cf83a27 293172009-03-14 Robert Millan <rmh@aybabtu.com>
29318
29319 Fix build on powerpc.
29320 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
29321
40164e75 293222009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
29323
29324 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
29325 background image command.
29326
c58bc32a 293272009-03-12 Colin D Bennett <colin@gibibit.com>
29328
29329 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
29330 (grub_gfxterm_putchar): Extract pairs of identical calls to
29331 draw_cursor out of conditional blocks.
29332
5415144a 293332009-03-11 Pavel Roskin <proski@gnu.org>
29334
29335 * fs/hfs.c (grub_hfs_strncasecmp): New function.
29336 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
29337
6394042e 293382009-03-11 Robert Millan <rmh@aybabtu.com>
29339
29340 * loader/i386/multiboot_elfxx.c
29341 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
29342
b7b50e5f 293432009-03-11 Felix Zielcke <fzielcke@z-51.de>
29344
29345 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
29346 `kern/handler.c'.
29347
1ca7fc96 293482009-03-11 Robert Millan <rmh@aybabtu.com>
29349
29350 * loader/i386/multiboot.c (code_size): New variable.
29351 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 29352 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 29353 4-byte alignment to MBI and others by increasing
7d074e3c 29354 `boot_loader_name_length' appropriately.
1ca7fc96 29355
29356 * loader/i386/multiboot_elfxx.c
29357 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
29358
a83ea1d2 293592009-03-09 Felix Zielcke <fzielcke@z-51.de>
29360
29361 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
29362 `fs/ext2.c'.
29363
aa9f3bff 293642009-03-08 Robert Millan <rmh@aybabtu.com>
29365
29366 Make loader/i386/linux.c usable on i386-pc again.
29367
29368 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
29369 memory to heap.
29370 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
29371 `#error' stanza.
29372
d8b3b60e 293732009-03-07 Bean <bean123ch@gmail.com>
29374
29375 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
29376 allocation.
29377
b362c9e9 293782009-03-06 Robert Millan <rmh@aybabtu.com>
29379
29380 Fix display issue on terminals with screen size other than 80x25
29381 (e.g. gfxterm with resolution higher than 640x480).
29382
29383 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 29384 position relative to the center of the terminal instead of relying
b362c9e9 29385 on a hardcoded offset.
29386
9304eef1 293872009-03-04 Robert Millan <rmh@aybabtu.com>
29388
29389 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
29390 installed.
29391
29392 * Makefile.in (host_kernel): New variable.
29393 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
29394 scripts instead of just the windows one.
29395 * configure.ac: Initialize and AC_SUBST `host_kernel'.
29396
eabc95fb 293972009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 29398
29399 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
29400 `kern/handler.c'.
29401 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29402 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29403 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29404 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29405 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29406 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29407
ceb1223c 294082009-03-04 Felix Zielcke <fzielcke@z-51.de>
29409
29410 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
29411 or if there's no space for the disk label and print the partition number on a
29412 invalid magic.
29413
4910684a 294142009-03-04 Felix Zielcke <fzielcke@z-51.de>
29415
29416 * util/misc.c: Include <time.h>.
29417 (grub_millisleep): New function.
29418
7e9ca17a 294192009-03-04 Bean <bean123ch@gmail.com>
29420
29421 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
29422 another option -mno-red-zone.
29423
29424 * commands/handler.c: Change module description.
29425
29426 * kern/handler.c: Add missing space at the end of description line.
29427
29428 * kern/list.c: Likewise.
29429
f501677c 294302009-03-03 Robert Millan <rmh@aybabtu.com>
29431
29432 Move more components to the relocation area, and fix mbi pointer
29433 handling to use the destination rather than the origin (thanks to
29434 Vladimir Serbinenko for spotting).
29435
29436 * loader/i386/multiboot.c (mbi_dest): New variable.
29437 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
29438 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
29439 relocation area.
29440
9902d047 294412009-03-01 Bean <bean123ch@gmail.com>
29442
50fb7002 29443 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 29444 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
29445 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
29446 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
29447
29448 * loader/i386/efi/linux.c (acpi_guid): New variable.
29449 (acpi_guid): Likewise.
29450 (EBDA_SEG_ADDR): New constant.
29451 (LOW_MEM_ADDR): Likewise.
29452 (FAKE_EBDA_SEG): Likewise.
29453 (fake_bios_data): New function.
29454 (grub_linux_boot): Call fake_bios_data.
29455
71b9f361 294562009-03-01 Bean <bean123ch@gmail.com>
29457
29458 * commands/terminal.c: Removed.
29459
29460 * commands/handler.c: New file.
29461
29462 * include/grub/list.h: Likewise.
29463
29464 * include/grub/handler.h: Likewise.
29465
29466 * kern/list.c: Likewise.
29467
29468 * kern/handler.c: Likewise.
29469
29470 * kern/term.h: Include header file <grub/handler.h>.
29471 (grub_term_input): Move next field to the beginning.
29472 (grub_term_output): Likewise.
29473 (grub_term_input_class): New variable.
29474 (grub_term_output_class): Likewise.
29475 (grub_term_register_input): Changed to inline function.
29476 (grub_term_register_output): Likewise.
29477 (grub_term_unregister_input): Likewise.
29478 (grub_term_unregister_output): Likewise.
29479 (grub_term_set_current_input): Likewise.
29480 (grub_term_set_current_output): Likewise.
29481 (grub_term_get_current_input): Likewise.
29482 (grub_term_get_current_output): Likewise.
29483 (grub_term_iterate_input): Removed.
29484 (grub_term_iterate_output): Likewise.
29485
29486 * kern/term.c (grub_term_list_input): Removed.
29487 (grub_term_list_output): Likewise.
29488 (grub_term_input_class): New variable.
29489 (grub_term_output_class): Likewise.
50fb7002 29490 (grub_cur_term_input): Change variable as macro.
71b9f361 29491 (grub_cur_term_output): Likewise.
29492 (grub_term_register_input): Removed.
29493 (grub_term_register_output): Likewise.
29494 (grub_term_unregister_input): Likewise.
29495 (grub_term_unregister_output): Likewise.
29496 (grub_term_set_current_input): Likewise.
29497 (grub_term_set_current_output): Likewise.
29498 (grub_term_iterate_input): Likewise.
29499 (grub_term_iterate_output): Likewise.
29500 (grub_term_get_current_input): Likewise.
29501 (grub_term_get_current_output): Likewise.
29502
29503 * util/grub-editenv.c: Include header file <grub/handler.h>.
29504 (grub_term_get_current_input): Removed.
29505 (grub_term_get_current_output): Likewise.
29506 (grub_term_input_class): New variable.
50fb7002 29507 (grub_term_output_class): Likewise.
71b9f361 29508
29509 * util/grub-fstest.c (grub_term_get_current_input): Removed.
29510 (grub_term_get_current_output): Likewise.
29511 (grub_term_input_class): New variable.
50fb7002 29512 (grub_term_output_class): Likewise.
71b9f361 29513
29514 * util/grub-probe.c (grub_term_get_current_input): Removed.
29515 (grub_term_get_current_output): Likewise.
29516 (grub_term_input_class): New variable.
50fb7002 29517 (grub_term_output_class): Likewise.
71b9f361 29518
29519 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
29520 (grub_term_get_current_output): Likewise.
29521 (grub_term_input_class): New variable.
50fb7002 29522 (grub_term_output_class): Likewise.
71b9f361 29523
29524 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
29525 (terminal_mod_SOURCES): Likewise.
29526 (terminal_mod_CFLAGS): Likewise.
29527 (terminal_mod_LDFLAGS): Likewise.
29528
29529 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
29530 handler.c.
29531 (kernel_img_SOURCES): Add list.c and handler.c.
29532 (kernel_img_HEADERS): Add list.h and handler.h.
29533
29534 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
29535 handler.c.
29536 (kernel_mod_SOURCES): Add list.c and handler.c.
29537 (kernel_mod_HEADERS): Add list.h and handler.h.
29538
29539 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
29540 handler.c.
29541 (kernel_elf_SOURCES): Add list.c and handler.c.
29542 (kernel_elf_HEADERS): Add list.h and handler.h.
29543
29544 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
29545 handler.c.
29546 (kernel_elf_SOURCES): Add list.c and handler.c.
29547 (kernel_elf_HEADERS): Add list.h and handler.h.
29548
29549 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
29550 handler.c.
29551 (kernel_mod_SOURCES): Add list.c and handler.c.
29552 (kernel_mod_HEADERS): Add list.h and handler.h.
29553
29554 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
29555 handler.c.
29556 (kernel_elf_SOURCES): Add list.c and handler.c.
29557 (kernel_elf_HEADERS): Add list.h and handler.h.
29558
8a31787f 295592009-02-27 Robert Millan <rmh@aybabtu.com>
29560
29561 Factorize elf32 / elf64 code in Multiboot loader. This will
29562 prevent it from getting out of sync again.
29563
29564 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
29565 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
29566 grub_multiboot_load_elf64): Move from here ...
29567 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
29568 grub_multiboot_load_elf): ... to here (new file).
29569
51cd3dfc 295702009-02-27 Robert Millan <rmh@aybabtu.com>
29571
29572 * util/grub.d/10_linux.in: Rename "single-user mode" to
29573 "recovery mode".
29574
6e8c9c3a 295752009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
29576
29577 Don't leak in SCSI code.
29578 * disk/scsi.c (grub_scsi_close): free `scsi'.
29579
4b6bf4f9 295802009-02-27 Robert Millan <rmh@aybabtu.com>
29581
29582 * loader/i386/pc/multiboot.c: Move from here ...
29583 * loader/i386/multiboot.c: ... to here. Update all users.
29584
b9413424 295852009-02-27 Robert Millan <rmh@aybabtu.com>
29586
29587 Patch from Alexandre Bique <bique.alexandre@gmail.com>
29588 * util/i386/pc/grub-setup.c (setup): Fix directory path.
29589
50fb7002 295902009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 29591
29592 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
29593 b-tree.
29594
8cc50345 295952009-02-27 Robert Millan <rmh@aybabtu.com>
29596
29597 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
29598 `0x' qualifier as 0 when base is specified as parameter).
29599
6e09b8b7 296002009-02-24 Bean <bean123ch@gmail.com>
29601
29602 * configure.ac: Check for -mcmodel=large in x86_64 target.
29603
29604 * include/grub/efi/api.h (efi_call_10): New macro.
29605 (efi_wrap_10): New function.
29606
29607 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
29608 (GRUB_PE32_REL_BASED_HIGH): Likewise.
29609 (GRUB_PE32_REL_BASED_LOW): Likewise.
29610 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
29611 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
29612 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
29613 (GRUB_PE32_REL_BASED_SECTION): Likewise.
29614 (GRUB_PE32_REL_BASED_REL): Likewise.
29615 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
29616 (GRUB_PE32_REL_BASED_DIR64): Likewise.
29617 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
29618
29619 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
29620 issue.
29621
29622 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
29623 (efi_wrap_10): New function.
29624
29625 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
29626
29627 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
29628 MB/MBP model (NV chipset).
29629 (devdata_devs): Add devpath_5 to the list.
29630
29631 * load/i386/efi/linux.c (video_base): Remove variable.
29632 (RGB_MASK): New macro.
29633 (RGB_MAGIC): Likewise.
29634 (LINE_MIN): Likewise.
29635 (LINE_MAX): Likewise.
29636 (FBTEST_STEP): Likewise.
29637 (FBTEST_COUNT): Likewise.
29638 (fb_list): New variable.
29639 (grub_find_video_card): Remove function.
29640 (find_framebuf): New function.
29641 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
29642 line length.
29643
29644 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
29645 problem for x86_64.
29646
74b21bee 296472009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
29648
29649 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
29650
29651 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
29652 coding tool name.
29653
a455f472 296542009-02-22 Robert Millan <rmh@aybabtu.com>
29655
29656 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
29657 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
29658 in our relocation, instead of using it directly from heap. Also
29659 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
29660
6374daf3 296612009-02-21 Robert Millan <rmh@aybabtu.com>
29662
29663 Implement USB keyboard support (based on patch by Marco Gerards)
29664
29665 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
29666 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
29667 (usb_keyboard_mod_LDFLAGS): New variables.
29668
29669 * term/usb_keyboard.c: New file.
29670
8fa4ea70 296712009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
29672
29673 Corrected wrong declaration
29674
29675 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
29676
353976ac 296772009-02-14 Christian Franke <franke@computer.org>
29678
29679 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
29680 (grub_lspci_iter): Print class code and programming interface byte.
29681
6aa1169b 296822009-02-14 Christian Franke <franke@computer.org>
29683
29684 * gendistlist.sh: Ignore `.svn' directories.
29685
265372ca 296862009-02-14 Felix Zielcke <fzielcke@z-51.de>
29687
29688 * fs/fat.c: Add 2009 to Copyright line.
29689
9ff516f3 296902009-02-14 Christian Franke <franke@computer.org>
29691
29692 * commands/hdparm.c: New file. Provides `hdparm' command
29693 which sends ATA commands via grub_disk_ata_pass_through ().
29694
29695 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
29696
29697 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
29698 and <grub/cpu/io.h> to include/grub/ata.h.
29699 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
29700 (GRUB_CDROM_SECTOR_SIZE): Remove.
29701 (GRUB_ATA_*): Move to include/grub/ata.h.
29702 (GRUB_ATAPI_*): Likewise.
29703 (enum grub_ata_commands): Likewise.
29704 (enum grub_ata_timeout_milliseconds): Likewise.
29705 (struct grub_ata_device): Likewise.
29706 (grub_ata_regset): Likewise.
29707 (grub_ata_regget): Likewise.
29708 (grub_ata_regset2): Likewise.
29709 (grub_ata_regget2): Likewise.
29710 (grub_ata_check_ready): Likewise.
29711 (grub_ata_wait_not_busy): Remove static, exported in
29712 include/grub/ata.h.
29713 (grub_ata_wait_drq): Likewise.
29714 (grub_ata_pio_read): Likewise.
29715
29716 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
29717 function for hdparm.mod.
29718
29719 * include/grub/ata.h: New file, contains declarations from
29720 disk/ata.c.
29721 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
29722
29723 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
29724 (grub_disk_ata_pass_through): New exported variable.
29725
29726 * kern/disk.c (grub_disk_ata_pass_through): New variable.
29727
772e23da 297282009-02-13 Colin D Bennett <colin@gibibit.com>
29729
29730 Support multiple fallback entries, and provide an API to support
29731 executing default+fallback menu entries. Renamed the `terminal' menu
29732 viewer to `text'.
29733
29734 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
29735 variable declaration.
29736 (grub_menu_execute_callback): New structure declaration.
29737 (grub_menu_execute_callback_t): New typedef.
29738 (grub_menu_execute_with_fallback): New function declaration.
29739 (grub_menu_get_entry): Likewise.
29740 (grub_menu_get_timeout): Likewise.
29741 (grub_menu_set_timeout): Likewise.
29742
29743 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
29744
29745 * normal/menu.c (grub_wait_after_message): Moved to
29746 `normal/menu_text.c'.
29747 (draw_border): Likewise.
29748 (print_message): Likewise.
29749 (print_entry): Likewise.
29750 (print_entries): Likewise.
29751 (grub_menu_init_page): Likewise.
29752 (get_entry_number): Likewise.
29753 (print_timeout): Likewise.
29754 (run_menu): Likewise.
29755 (grub_menu_execute_entry): Likewise.
29756 (show_text_menu): Likewise.
29757 (get_and_remove_first_entry_number): New function.
29758 (grub_menu_execute_with_fallback): Likewise.
29759 (get_entry): Renamed to ...
29760 (grub_menu_get_entry): .. this and made it global.
29761 (get_timeout): Renamed to ...
29762 (grub_menu_get_timeout): ... this and made it global.
29763 (set_timeout): Renamed to ...
29764 (grub_menu_set_timeout): ... this and made it global.
29765 (grub_normal_terminal_menu_viewer): Renamed to ...
29766 (grub_normal_text_menu_viewer): ... this.
29767
29768 * normal/menu_text.c: New file. Extracted text-menu-specific code
29769 from normal/menu.c.
29770
29771 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
29772 (normal_mod_SOURCES): Likewise.
29773
29774 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29775 (normal_mod_SOURCES): Likewise.
29776
29777 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29778 (normal_mod_SOURCES): Likewise.
29779
29780 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
29781 (normal_mod_SOURCES): Likewise.
29782
29783 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29784 (normal_mod_SOURCES): Likewise.
29785
29786 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29787 (normal_mod_SOURCES): Likewise.
29788
29789 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29790 (normal_mod_SOURCES): Likewise.
29791
16ac430e 297922009-02-11 Robert Millan <rmh@aybabtu.com>
29793
29794 * util/grub.d/00_header.in: Update old reference to `font' command.
29795
06ff20fc 297962009-02-10 Felix Zielcke <fzielcke@z-51.de>
29797
29798 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
29799
29800 Based on patch from Javier Martín.
29801
96da9407 298022009-02-09 Felix Zielcke <fzielcke@z-51.de>
29803
29804 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 29805 to avoid false positives with FAT.
96da9407 29806 (grub_fstest_SOURCES): Likewise.
29807 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29808 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29809 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29810 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29811 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29812 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29813
6dca6fe4 298142009-02-09 Felix Zielcke <fzielcke@z-51.de>
29815
06ff20fc 29816 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 29817 bpb.version_specific.fat12_or_fat16.fstype and
29818 bpb.version_specific.fat32.fstype.
29819
2550c62f 298202009-02-08 Robert Millan <rmh@aybabtu.com>
29821
be110b30 29822 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 29823
56978920 298242009-02-08 Robert Millan <rmh@aybabtu.com>
29825
29826 * Makefile.in (host_os, host_cpu): New variables.
29827 (target_os): Remove. Update all users.
29828
d64399b5 298292009-02-08 Marco Gerards <marco@gnu.org>
29830
29831 * Makefile.in (enable_grub_emu_usb): New variable.
29832 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
29833 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
29834 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
29835 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
29836 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
29837 `usbtest.mod' and `usbms.mod'.
29838 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
29839 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
29840 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
29841 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
29842 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
29843 variables.
29844
29845 * disk/usbms.c: New file.
29846
29847 * include/grub/usb.h: Likewise.
29848
29849 * include/grub/usbtrans.h: Likewise.
29850
29851 * include/grub/usbdesc.h: Likewise.
29852
29853 * bus/usb/usbtrans.c: Likewise.
29854
29855 * bus/usb/ohci.c: Likewise.
29856
29857 * bus/usb/uhci.c: Likewise.
29858
29859 * bus/usb/usbhub.c: Likewise.
29860
29861 * bus/usb/usb.c: Likewise.
29862
29863 * commands/usbtest.c: Likewise.
29864
29865 * util/usb.c: Likewise.
50fb7002 29866
d64399b5 29867 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
29868
29869 * configure.ac: Test for libusb presence.
50fb7002 29870
d64399b5 29871 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
29872
2b40d6bb 298732009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
29874
29875 * kern/mm.c: Add more comments.
29876
73a4ce81 298772009-02-08 Robert Millan <rmh@aybabtu.com>
29878
29879 Patch from Javier Martín.
29880 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
29881 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
29882
f821ce59 298832009-02-08 Robert Millan <rmh@aybabtu.com>
29884
29885 * fs/cpio.c: Split tar functionality to ...
29886 * fs/tar.c: ... here (new file). Update all users.
29887
aebfc4b0 298882009-02-07 Robert Millan <rmh@aybabtu.com>
29889
29890 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
29891 backward-incompatible features.
29892
29893 Based on patch from Javier Martín, with some adjustments.
29894
50fb7002 298952009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 29896
29897 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
29898
0bb5115e 298992009-02-07 Robert Millan <rmh@aybabtu.com>
29900
29901 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
29902 position of `disk/lvm.c' to ensure grub_init_all() always picks it
29903 after the RAID stuff.
29904
38a0f8e7 299052009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
29906
50fb7002 29907 Fixes problem when running vbetest command as reported by
38a0f8e7 29908 Vladimir Serbinenko <phcoder@gmail.com>.
29909
29910 * (grub_vbe_set_video_mode): Fixed problem with text modes.
29911
3143cc1c 299122009-02-04 Felix Zielcke <fzielcke@z-51.de>
29913
29914 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
29915 /dev/md/NpN style mdraid devices.
29916
9cba6fce 299172009-02-03 Felix Zielcke <fzielcke@z-51.de>
29918
29919 * util/unifont2pff.rb: Remove.
29920
e507a2c1 299212009-02-03 Felix Zielcke <fzielcke@z-51.de>
29922
29923 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
29924 `#'.
29925
d2c2b4cd 299262009-02-03 Felix Zielcke <fzielcke@z-51.de>
29927
29928 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
29929 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29930 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29931 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
29932 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29933 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29934 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29935
b4315fb0 299362009-02-02 Christian Franke <franke@computer.org>
29937
29938 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
29939
de3aa260 299402009-02-01 Felix Zielcke <fzielcke@z-51.de>
29941
7c3ff286 29942 * INSTALL: Note that we now require at least autoconf 2.59 and
29943 that LZO is optional.
de3aa260 29944
825a182b 299452009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
29946
29947 Base on patch on bug #24154 created by Tomas Tintera
29948 <trosos@seznam.cz>.
29949
29950 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
29951
a69ef770 299522009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
29953
7c3ff286 29954 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 29955 <bero@arklinux.org>.
29956
29957 * normal/parser.y (script_init): Add missing semicolon.
29958
6fa42fa6 299592009-01-31 Colin D Bennett <colin@gibibit.com>
29960
7c3ff286 29961 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 29962 (free_menu_entry_classes): Added.
29963 (grub_normal_menu_addentry): Added class property handling.
29964 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
29965 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
29966
29967 * normal/menu_viewer.c: New file.
29968
29969 * normal/menu.c (run_menu_entry): Renamed to ...
29970 (grub_menu_execute_entry): ... this and made it as global.
29971 (grub_menu_run): Renamed to ...
29972 (show_text_menu): ... this and made it local.
29973 (show_text_menu): Adapt to new function names.
29974 (grub_normal_terminal_menu_viewer): New global variable.
29975
29976 * include/grub/menu.h: New file.
29977
29978 * include/grub/menu_viewer.h: New file.
29979
29980 * include/grub/normal.h: Added include to grub/menu.h.
29981 (grub_menu_entry): Moved to include/grub/menu.h.
29982 (grub_menu_entry_t): Likewise.
29983 (grub_menu): Likewise.
29984 (grub_menu_t): Likewise.
29985 (grub_normal_terminal_menu_viewer): Added.
29986 (grub_menu_execute_entry): Likewise.
29987 (grub_menu_run): Removed.
29988
29989 * DISTLIST: Added include/grub/menu.h.
29990 Added include/grub/menu_viewer.h.
29991 Added normal/menu_viewer.c.
29992
299932009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
29994
29995 * normal/execute.c (grub_script_execute_menuentry): Changed to use
29996 arglist for menutitle arguments.
29997
29998 * normal/main.c (grub_normal_menu_addentry): Likewise.
29999
30000 * normal/parser.y (menuentry): Likewise.
30001
30002 * normal/script.c (grub_script_create_cmdmenu): Likewise.
30003
30004 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
30005 (grub_script_create_cmdmenu): Likewise.
30006
30007 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
30008
30009 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
30010 changes.
30011
30012 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
30013
30014 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
30015
30016 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
30017
30018 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30019
30020 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30021
30022 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
30023
56192c23 300242009-01-30 Christian Franke <franke@computer.org>
30025
30026 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
30027 in option help text.
30028
d72521b3 300292009-01-27 Pavel Roskin <proski@gnu.org>
30030
30031 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
30032
994b5e84 300332009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
30034
30035 * commands/lsmmap.c: Add include to grub/machine/memory.h.
30036
30037 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
30038
30039 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
30040 unregister function.
30041
6a7eab2c 300422009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
30043
30044 * disk/scsi.c (grub_scsi_read): Fix sign problem.
30045
30046 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
30047
30048 * util/grub-mkfont.c (usage): Fix typo.
30049
30050 * util/elf/grub-mkimage.c (load_modules): Fix warning.
30051
1806b56e 300522009-01-26 Daniel Mierswa <impulze@impulze.org>
30053
3fb18f09 30054 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
30055
336e1fb9 30056 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
30057
1806b56e 30058 * kern/misc.c (grub_strcasecmp): New function.
30059 (grub_strcasecmp): Use grub_size_t instead of int for length.
30060 Fix return value.
30061 * include/grub/misc.h: Update function prototypes.
30062
580b2a0f 300632009-01-26 Robert Millan <rmh@aybabtu.com>
30064
30065 * configure.ac: Fix cross-compilation check.
ef257b36 30066
d31c24f1 300672009-01-22 Christian Franke <franke@computer.org>
30068
30069 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
30070 (precision) digit string. Allow `.format2' without `format1' (width).
30071 Limit input chars for `%s' output to `format2' if specified. This is
30072 compatible with standard printf ().
30073
3138b44c 300742009-01-22 Christian Franke <franke@computer.org>
30075
30076 * disk/ata.c (grub_ata_wait_status): Replace by ...
30077 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
30078 other status bits may be invalid while BSY is asserted.
30079 (grub_ata_check_ready): New function.
30080 (grub_ata_cmd): Removed.
30081 (grub_ata_wait_drq): New function.
30082 (grub_ata_strncpy): Remove inline.
30083 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
30084 and error check now done by grub_ata_wait_drq ().
30085 (grub_ata_pio_write): Likewise.
30086 (grub_atapi_identify): Set DEV before check for !BSY. Use
30087 grub_ata_wait_drq () to wait for data.
30088 (grub_ata_device_initialize): Add status register check to
30089 detect missing SATA slave devices. Add debug messages.
30090 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
30091 (grub_atapi_packet): Set DEV before check for !BSY. Replace
30092 transfer loop by grub_ata_pio_write ().
30093 (grub_ata_identify): Set DEV before check for !BSY. Use
30094 grub_ata_wait_drq () to wait for data.
ef257b36 30095 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 30096 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
30097 read/write in one loop. Fix invalid command on write. Fix incomplete
30098 command on (size % batch) == 0. Add missing error check after write of
30099 last block. Add debug messages.
30100 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
30101
59a64ef6 301022009-01-19 Christian Franke <franke@computer.org>
30103
30104 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
30105 (GRUB_ATAPI_IREASON_*): Likewise.
30106 (grub_ata_pio_write): Fix timeout error return.
30107 (grub_atapi_identify): Add grub_ata_wait () after cmd.
30108 (grub_atapi_wait_drq): New function.
30109 (grub_atapi_packet): New parameter `size'.
30110 Use grub_atapi_wait_drq () and direct write instead of
30111 grub_ata_pio_write ().
30112 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
30113 reads the number of bytes requested by the device for each DRQ
30114 assertion.
30115 (grub_atapi_write): Remove old implementation, return not
30116 implemented instead.
30117
1cfe20b3 301182009-01-19 Christian Franke <franke@computer.org>
30119
30120 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
30121 of 512 to calculate data size.
30122 (grub_scsi_read12): Likewise.
30123 (grub_scsi_write10): Likewise.
30124 (grub_scsi_write12): Likewise.
30125 (grub_scsi_read): Adjust size according to blocksize.
30126 Add checks for invalid blocksize and unaligned transfer.
30127
bee5fe5d 301282009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
30129
30130 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
30131
ef257b36 30132 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 30133 width glyphs.
30134
3e643f8c 301352009-01-19 Robert Millan <rmh@aybabtu.com>
30136
30137 * config.guess: Update to latest version from config git.
30138 * config.sub: Likewise.
30139
4fa80998 301402009-01-17 Felix Zielcke <fzielcke@z-51.de>
30141
30142 * Makefile.in: Change font compilation to use new grub-mkfont instead
30143 of java version.
30144
30145 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
30146 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
30147 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30148 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
30149 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
30150 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
30151 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
30152 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
30153 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30154
7086085b 301552009-01-16 Christian Franke <franke@computer.org>
30156
30157 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
30158 (enum grub_ata_timeout_milliseconds): New enum.
30159 (grub_ata_wait_status): Add parameter milliseconds.
30160 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
30161 recovery from timed-out commands.
30162 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
30163 return grub_errno instead of REG_ERROR.
30164 (grub_ata_pio_write): Add parameter milliseconds.
30165 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
30166 Pass milliseconds to grub_ata_wait_status () and
30167 grub_ata_pio_read ().
30168 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
30169 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
30170 grub_ata_wait_status (). Fix IDENTIFY timeout check.
30171 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
30172 It is not suitable for device detection, because DEV bit is ignored,
30173 the command may run too long, and not all devices set the signature
30174 properly.
30175 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
30176 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
30177 Fix device selection, DEV bit must be set first to address the registers
30178 of the correct device.
30179 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
30180 grub_ata_pio_read/write ().
30181 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
30182 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
30183
4a412913 301842009-01-13 Carles Pina i Estany <carles@pina.cat>
30185
30186 * util/grub-editenv.c (main): Use fseeko(), not fseek().
30187
7795c55e 301882009-01-13 Bean <bean123ch@gmail.com>
d913988c 30189
30190 * util/grub-mkfont.c (write_font): forget to remove some debug code.
30191
7795c55e 301922009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 30193
30194 * Makefile.in: (enable_grub_mkfont): New variable.
30195 (freetype_cflags): Likewise.
30196 (freetype_libs): Likewise.
30197
30198 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
30199 (grub_mkfont_SOURCES): New variable.
30200 (grub_mkfont_CFLAGS): Likewise.
30201 (grub_mkfont_LDFLAGS): Likewise.
30202
30203 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
30204 library if `--enable-grub-mkfont' is requested.
30205 (enable_grub_mkfont): New variable.
30206 (freetype_cflags): Likewise.
30207 (freetype_libs): Likewise.
30208
30209 * util/grub-mkfont.c: New file.
30210
093af1fe 302112009-01-12 Christian Franke <franke@computer.org>
30212
30213 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
30214 mode check. Fix setting of compat_use[].
30215
f36cc108 302162009-01-10 Robert Millan <rmh@aybabtu.com>
30217
30218 Update a few copyright years which we forgot to do in 2008 (only for
30219 files whose changes made in 2008 were copyright-significant)
30220
30221 * Makefile.in: Add 2008 to Copyright line.
30222 * disk/ieee1275/ofdisk.c: Likewise.
30223 * disk/efi/efidisk.c: Likewise.
30224 * kern/dl.c: Likewise.
30225 * kern/sparc64/ieee1275/init.c: Likewise.
30226 * kern/mm.c: Likewise.
30227 * kern/efi/mm.c: Likewise.
30228 * boot/i386/pc/boot.S: Likewise.
30229 * genfslist.sh: Likewise.
30230 * fs/iso9660.c: Likewise.
30231 * fs/hfs.c: Likewise.
30232 * fs/jfs.c: Likewise.
30233 * fs/minix.c: Likewise.
30234 * fs/ufs.c: Likewise.
30235 * gensymlist.sh.in: Likewise.
30236 * genkernsyms.sh.in: Likewise.
30237 * include/grub/misc.h: Likewise.
30238 * include/grub/types.h: Likewise.
30239 * include/grub/symbol.h: Likewise.
30240 * include/grub/elf.h: Likewise.
30241 * include/grub/kernel.h: Likewise.
30242 * include/grub/disk.h: Likewise.
30243 * include/grub/dl.h: Likewise.
30244 * include/grub/i386/linux.h: Likewise.
30245 * include/grub/i386/pc/biosdisk.h: Likewise.
30246 * include/grub/efi/api.h: Likewise.
30247 * include/grub/efi/pe32.h: Likewise.
30248 * include/grub/util/misc.h: Likewise.
30249 * normal/execute.c: Likewise.
30250 * normal/arg.c: Likewise.
30251 * normal/completion.c: Likewise.
30252 * normal/lexer.c: Likewise.
30253 * normal/parser.y: Likewise.
30254 * normal/misc.c: Likewise.
30255 * commands/i386/pc/vbeinfo.c: Likewise.
30256 * commands/hexdump.c: Likewise.
30257 * commands/terminal.c: Likewise.
30258 * commands/ls.c: Likewise.
30259 * commands/help.c: Likewise.
30260 * partmap/pc.c: Likewise.
30261 * loader/efi/chainloader.c: Likewise.
30262 * loader/multiboot_loader.c: Likewise.
30263 * loader/i386/pc/multiboot2.c: Likewise.
30264 * term/efi/console.c: Likewise.
30265 * term/i386/pc/serial.c: Likewise.
30266 * util/lvm.c: Likewise.
30267 * util/console.c: Likewise.
30268 * util/i386/efi/grub-mkimage.c: Likewise.
30269 * util/raid.c: Likewise.
30270
7f02114b 302712009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
30272
30273 * commands/videotest.c: Removed include to grub/machine/memory.h.
30274
30275 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
30276 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
30277 (video_mod_SOURCES): Removed.
30278 (video_mod_CFLAGS): Likewise.
30279 (video_mod_LDFLAGS): Likewise.
30280 (gfxterm_mod_SOURCES): Likewise.
30281 (gfxterm_mod_CFLAGS): Likewise.
30282 (gfxterm_mod_LDFLAGS): Likewise.
30283 (videotest_mod_SOURCES): Likewise.
30284 (videotest_mod_CFLAGS): Likewise.
30285 (videotest_mod_LDFLAGS): Likewise.
30286 (bitmap_mod_SOURCES): Likewise.
30287 (bitmap_mod_CFLAGS): Likewise.
30288 (bitmap_mod_LDFLAGS): Likewise.
30289 (tga_mod_SOURCES): Likewise.
30290 (tga_mod_CFLAGS): Likewise.
30291 (tga_mod_LDFLAGS): Likewise.
30292 (jpeg_mod_SOURCES): Likewise.
30293 (jpeg_mod_CFLAGS): Likewise.
30294 (jpeg_mod_LDFLAGS): Likewise.
30295 (png_mod_SOURCES): Likewise.
30296 (png_mod_CFLAGS): Likewise.
30297 (png_mod_LDFLAGS): Likewise.
30298
30299 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
30300 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
30301 (video_mod_SOURCES): Added.
30302 (video_mod_CFLAGS): Likewise.
30303 (video_mod_LDFLAGS): Likewise.
30304 (videotest_mod_SOURCES): Likewise.
30305 (videotest_mod_CFLAGS): Likewise.
30306 (videotest_mod_LDFLAGS): Likewise.
30307 (bitmap_mod_SOURCES): Likewise.
30308 (bitmap_mod_CFLAGS): Likewise.
30309 (bitmap_mod_LDFLAGS): Likewise.
30310 (tga_mod_SOURCES): Likewise.
30311 (tga_mod_CFLAGS): Likewise.
30312 (tga_mod_LDFLAGS): Likewise.
30313 (jpeg_mod_SOURCES): Likewise.
30314 (jpeg_mod_CFLAGS): Likewise.
30315 (jpeg_mod_LDFLAGS): Likewise.
30316 (png_mod_SOURCES): Likewise.
30317 (png_mod_CFLAGS): Likewise.
30318 (png_mod_LDFLAGS): Likewise.
30319 (gfxterm_mod_SOURCES): Likewise.
30320 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 30321 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 30322
30323 * term/gfxterm.c: Removed include to grub/machine/memory.h,
30324 grub/machine/console.h.
30325
644fff97 303262009-01-04 Jerone Young <jerone@gmail.com>
30327
30328 Make on screen instructions clearer
30329
30330 Based on patch created by Jidanni <jidanni@jidanni.org>
30331
30332 * normal/menu.c: print clearer instructions on the screen
30333
1e901a75 303342009-01-02 Colin D Bennett <colin@gibibit.com>
30335
30336 New font engine.
34c44600 30337
1e901a75 30338 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
30339 build system and fixed gfxterm.c to work with different sized fonts.
30340
30341 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 30342
1e901a75 30343 * configure: Re-generated.
34c44600 30344
1e901a75 30345 * DISTLIST: Removed font/manager.c.
30346 Added font/font.c.
30347 Added font/font_cmd.c.
34c44600 30348
1e901a75 30349 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
30350 compilation.
34c44600 30351
1e901a75 30352 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 30353
30354 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 30355
30356 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 30357
1e901a75 30358 * normal/menu.c: Likewise.
34c44600 30359
1e901a75 30360 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
30361 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 30362
1e901a75 30363 * include/grub/font.h: Replaced with new file.
34c44600 30364
1e901a75 30365 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
30366 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
30367 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
30368 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
30369 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 30370 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 30371 fg_red, fg_green, fg_blue, fg_alpha.
30372 (grub_video_adapter): Removed blit_glyph.
34c44600 30373 (grub_video_blit_glyph): Removed.
30374
1e901a75 30375 * font/manager.c: Removed file.
34c44600 30376
30377 * font/font.c: New file.
30378
1e901a75 30379 * font/font_cmd.c: Likewise.
34c44600 30380
1e901a75 30381 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 30382
1e901a75 30383 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
30384 (grub_video_vbe_map_rgba): Likewise.
30385 (grub_video_vbe_unmap_color_int): Likewise.
30386 (grub_video_vbe_blit_glyph): Removed.
30387 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 30388
1e901a75 30389 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
30390 (get_pixel): Likewise.
34c44600 30391 (set_pixel): Likewise.
30392
1e901a75 30393 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 30394
1e901a75 30395 * term/gfxterm.c: Adapted to new font engine.
34c44600 30396
1e901a75 30397 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 30398
1e901a75 30399 * term/i386/pc/vga.c: Likewise.
34c44600 30400
1e901a75 30401 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 30402
1e901a75 30403 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 30404
1e901a75 30405 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 30406
1e901a75 30407 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 30408
1e901a75 30409 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 30410
1e901a75 30411 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 30412
1e901a75 30413 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 30414
1e901a75 30415 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 30416
1e901a75 30417 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
30418
30419 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 30420
1e901a75 30421 * util/grub-mkconfig_lib.in: Changed font extension.
30422
278922e8 304232008-12-28 Felix Zielcke <fzielcke@z-51.de>
30424
30425 * util/getroot.c (grub_util_get_grub_dev): Add support for
30426 /dev/md/dNNpNN style partitionable mdraid devices.
30427
3ced05cf 304282008-12-12 Alex Smith <alex@alex-smith.me.uk>
30429
30430 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
30431 at a time limit of the PXE TFTP API correctly.
30432 (grub_pxefs_close): Likewise.
30433
7fd0ee30 304342008-11-29 Robert Millan <rmh@aybabtu.com>
30435
34c44600 30436 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 30437 grub_ata_device_initialize() calls.
30438
34c44600 304392008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 30440
30441 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
30442 iteration failed.
30443 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
30444
89313780 304452008-11-28 Robert Millan <rmh@aybabtu.com>
30446
30447 Fix build on powerpc-ieee1275. Based on patch created by
30448 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
30449 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30450 `kern/ieee1275/mmap.c'.
30451 * include/grub/powerpc/ieee1275/memory.h: New file.
30452
15257703 30453 Provide grub-install on coreboot.
30454 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
30455 (grub_install_SOURCES): New variable.
30456 * util/i386/pc/grub-install.in: Add a few condition checks to make it
30457 usable on coreboot.
30458
9fc5388a 304592008-11-25 Felix Zielcke <fzielcke@z-51.de>
30460
30461 * util/grub-fstest.c (grub_term_get_current_input): Change return type
30462 to `grub_term_input_t'.
30463 (grub_term_get_current_output): Change return type to
30464 `grub_term_output_t'.
30465
bc3a2f31 304662008-11-22 Robert Millan <rmh@aybabtu.com>
30467
34c44600 30468 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 30469 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
30470 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
30471 grub_vga_text_cls().
30472
80fc88f2 30473 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 30474 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 30475
cbf36fd3 30476 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
30477 to 0x200000 (avoids trouble with some OFW implementations, and matches
30478 with the one in Yaboot).
30479 Reported by Manoel Abranches
30480
73e8e268 304812008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 30482
30483 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
30484 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
30485
73e8e268 30486 * util/grub-mkconfig_lib.in (grub_warn): New function.
30487 (convert_system_path_to_grub_path): Use grub_warn() when issuing
30488 warnings, to obtain consistent formatting.
30489 * util/grub.d/00_header.in: Likewise.
30490 * util/update-grub_lib.in: Likewise.
30491
e94045a1 30492 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 30493 Move comment text to `#error' stanza.
e94045a1 30494
79d29fd7 30495 Harmonize ieee1275's grub_available_iterate() with the generic
30496 grub_machine_mmap_iterate() interface (fixes a recently-introduced
30497 build problem on i386-ieee1275):
30498 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
30499 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
30500 parameter `type'. Update all users of this function.
30501 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
30502 `kern/ieee1275/mmap.c'.
30503 * kern/ieee1275/init.c
30504 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
30505 with ...
30506 (grub_machine_mmap_iterate): ... this.
30507 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
30508 return type to `grub_err_t'. Update all implementations of this
30509 function prototype.
30510 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
30511 Likewise.
30512
60d6b16e 30513 Add `lsmmap' command (lists firmware-provided memory map):
30514 * commands/lsmmap.c: New file.
30515 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
30516 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
30517 variables.
30518 * conf/powerpc-ieee1275.rmk: Likewise.
30519 * conf/i386-coreboot.rmk: Likewise.
30520 * conf/i386-ieee1275.rmk: Likewise.
30521
ebaaf49b 305222008-11-19 Robert Millan <rmh@aybabtu.com>
30523
30524 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 30525 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
30526 constraints to initrd allocation (based on code from
30527 loader/i386/pc/linux.c). Without them, initrd was allocated too high
30528 for Linux to find it.
ebaaf49b 30529
dfab719f 305302008-11-14 Robert Millan <rmh@aybabtu.com>
30531
30532 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
30533 order to cope with duplicate slashes.
30534
10fc3eb9 305352008-11-14 Robert Millan <rmh@aybabtu.com>
30536
30537 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
30538 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
30539 don't want to mess with lower memory, because it is used in the Linux
30540 loader.
30541
30542 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 30543 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 30544 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
30545 is in our heap (probably as a result of it being corrupted during
2f2a3442 30546 decompression). Add #error instance with comment to explain why this
30547 loader isn't currently usable on PC/BIOS.
10fc3eb9 30548
e2e07847 305492008-11-14 Robert Millan <rmh@aybabtu.com>
30550
30551 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 30552 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 30553
fe8e8d69 305542008-11-12 Robert Millan <rmh@aybabtu.com>
30555
30556 Make loader/i386/linux.c buildable on i386-pc (although disabled).
30557
30558 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
30559 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
30560 from here ...
30561 * include/grub/i386/pc/memory.h: ... to here.
30562
976b07d0 305632008-11-12 Robert Millan <rmh@aybabtu.com>
30564
30565 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
30566 split).
30567
30568 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
30569 (grub_console_cur_color, grub_console_real_putchar)
30570 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
30571 (grub_console_setcolorstate, grub_console_setcolor)
30572 (grub_console_getcolor): Move from here ...
30573 * include/grub/i386/vga_common.h: ... to here (new file).
30574
30575 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
30576 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
30577 `<grub/i386/io.h>'.
30578 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
30579 `<grub/i386/vga_common.h>'.
30580
76679cd3 305812008-11-12 Robert Millan <rmh@aybabtu.com>
30582
30583 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
30584 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
30585 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
30586 variables.
30587 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
30588 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
30589
30590 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
30591 grub_console_init() with call to grub_vga_text_init().
30592 (grub_machine_fini): Replace call to
30593 grub_console_fini() with call to grub_vga_text_fini() and
30594 grub_at_keyboard_fini().
30595
30596 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
30597 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
30598 (grub_console_setcolorstate, grub_console_setcolor)
30599 (grub_console_getcolor): New function prototypes.
30600
30601 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
30602 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
30603 (grub_vga_text_setcursor): Static-ize.
30604 (grub_vga_text_term): New structure.
30605 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
30606
30607 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
30608 (grub_console_cur_color, grub_console_standard_color)
30609 (grub_console_normal_color, grub_console_highlight_color)
30610 (map_char, grub_console_putchar, grub_console_getcharwidth)
30611 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
30612 (grub_console_getcolor): Move from here ...
30613 * term/i386/vga_common.c: ... to here (same function names).
30614
95b841d3 306152008-11-12 Robert Millan <rmh@aybabtu.com>
30616
30617 Use newly-added Multiboot support in coreboot.
30618
30619 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
30620 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
30621
30622 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
30623 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
30624 (codestart): Store the MBI in `startup_multiboot_info' when we're
30625 being loaded using Multiboot.
30626
30627 * kern/i386/coreboot/init.c (grub_machine_init): Move
30628 grub_at_keyboard_init() call to beginning of function (useful for
30629 debugging). Call grub_machine_mmap_init() before attempting to use
30630 grub_machine_mmap_iterate().
30631 (grub_lower_mem, grub_upper_mem): Move from here ...
30632 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
30633 here (new file).
30634
30635 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
30636 function prototype.
30637
761ca975 306382008-11-12 Robert Millan <rmh@aybabtu.com>
30639
30640 Fix a regression introduced by the at_keyboard.mod split. Because
30641 some terminals are default on some platforms and non-default on
30642 others, the first terminal being registered determines which is
30643 going to be default.
30644
30645 * kern/term.c (grub_term_register_input): If this is the first
30646 terminal being registered, set it as the current one.
30647 (grub_term_register_output): Likewise.
30648
30649 * term/efi/console.c (grub_console_init): Do not call
30650 grub_term_set_current_output() or grub_term_set_current_input().
30651 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
30652 * term/i386/pc/console.c (grub_console_init): Likewise.
30653 (grub_console_fini): Do not call grub_term_set_current_input()
30654 (but leave grub_term_set_current_output() to restore text mode).
30655
6c529df7 306562008-11-10 Robert Millan <rmh@aybabtu.com>
30657
30658 * util/grub.d/00_header.in: Add backward compatibility check for
30659 versions of terminal.mod that don't understand `terminal_input' or
30660 `terminal_output'.
30661
132e4113 306622008-11-09 Robert Millan <rmh@aybabtu.com>
30663
30664 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
30665 `terminal_input' / `terminal_output', not `terminal'.
30666
ac293d50 306672008-11-08 Robert Millan <rmh@aybabtu.com>
30668
30669 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 30670 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 30671
0025933a 306722008-11-08 Robert Millan <rmh@aybabtu.com>
30673
30674 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 30675 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 30676 members. Update all users.
30677 * util/console.c (grub_ncurses_term): Split in ...
30678 (grub_ncurses_term_input): ... this, and ...
30679 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 30680 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 30681
37c86336 306822008-11-08 Robert Millan <rmh@aybabtu.com>
30683
30684 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
30685 (PKGDATA): Add $(pkgdata_SRCDIR).
30686 (pkglib_BUILDDIR): New variable.
30687 (pkgdata_SRCDIR): New variable.
30688 (build_env.mk): New target.
30689 (include_DATA): New variable.
30690 (install-local): Install $(include_DATA) files in $(includedir).
30691
b6c15a2d 306922008-11-07 Pavel Roskin <proski@gnu.org>
30693
d99d46f1 30694 * gendistlist.sh: Use C locale for sorting to ensure consistent
30695 output on all systems.
30696
b6c15a2d 30697 * util/grub.d/00_header.in: Remove incorrect space before
30698 "serial".
30699
c32ee8c9 307002008-11-07 Robert Millan <rmh@aybabtu.com>
30701
30702 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
30703 per specification.
30704 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
30705 * loader/multiboot_loader.c (find_multi_boot2_header): New function
30706 (based on find_multi_boot1_header).
30707 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
30708 using find_multi_boot2_header(), and abort if neither Multiboot or
30709 Multiboot headers were found.
30710
651c29b7 307112008-11-07 Robert Millan <rmh@aybabtu.com>
30712
30713 Modularize at_keyboard.mod:
30714
30715 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
30716 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
30717 (at_keyboard_mod_LDFLAGS): New variables.
30718
30719 Actual terminal split:
30720
30721 * include/grub/term.h (struct grub_term): Split in ...
30722 (struct grub_term_input): ... this, and ...
30723 (struct grub_term_output): ... this. Update all users.
30724 (grub_term_set_current): Split in ...
30725 (grub_term_set_current_input): ... this, and ...
30726 (grub_term_set_current_output): ... this.
30727 (grub_term_get_current): Split in ...
30728 (grub_term_get_current_input): ... this, and ...
30729 (grub_term_get_current_output): ... this.
30730 (grub_term_register): Split in ...
30731 (grub_term_register_input): ... this, and ...
30732 (grub_term_register_output): ... this.
30733 (grub_term_unregister): Split in ...
30734 (grub_term_unregister_input): ... this, and ...
30735 (grub_term_unregister_output): ... this.
30736 (grub_term_iterate): Split in ...
30737 (grub_term_iterate_input): ... this, and ...
30738 (grub_term_iterate_output): ... this.
30739
30740 * kern/term.c (grub_term_list): Split in ...
30741 (grub_term_list_input): ... this, and ...
30742 (grub_term_list_output): ... this. Update all users.
30743 (grub_cur_term): Split in ...
30744 (grub_cur_term_input): ... this, and ...
30745 (grub_cur_term_output): ... this. Update all users.
30746 (grub_term_set_current): Split in ...
30747 (grub_term_set_current_input): ... this, and ...
30748 (grub_term_set_current_output): ... this.
30749 (grub_term_get_current): Split in ...
30750 (grub_term_get_current_input): ... this, and ...
30751 (grub_term_get_current_output): ... this.
30752 (grub_term_register): Split in ...
30753 (grub_term_register_input): ... this, and ...
30754 (grub_term_register_output): ... this.
30755 (grub_term_unregister): Split in ...
30756 (grub_term_unregister_input): ... this, and ...
30757 (grub_term_unregister_output): ... this.
30758 (grub_term_iterate): Split in ...
30759 (grub_term_iterate_input): ... this, and ...
30760 (grub_term_iterate_output): ... this.
30761
30762 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
30763 a check for input and one for output (and only attempt to get keys
30764 from user when input works).
30765
30766 * util/grub-probe.c (grub_term_get_current): Split in ...
30767 (grub_term_get_current_input): ... this, and ...
30768 (grub_term_get_current_output): ... this.
30769 * util/grub-fstest.c: Likewise.
30770 * util/i386/pc/grub-setup.c: Likewise.
30771 * util/grub-editenv.c: Likewise.
30772
30773 Portability adjustments:
30774
30775 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
30776 `term/i386/pc/at_keyboard.c'.
30777 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
30778 grub_keyboard_controller_init() (now handled by terminal .init).
30779 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
30780 grub_at_keyboard_init().
30781 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
30782 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
30783 at_keyboard.mod via input terminal interface).
30784 * include/grub/i386/coreboot/console.h: Convert into a stub for
30785 `<grub/i386/pc/console.h>'.
30786
30787 Migrate full terminals to new API:
30788
30789 * term/efi/console.c (grub_console_term): Split into ...
30790 (grub_console_term_input): ... this, and ...
30791 (grub_console_term_output): ... this. Update all users.
30792 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
30793 (grub_ofconsole_init): Split into ...
30794 (grub_ofconsole_init_input): ... this, and ...
30795 (grub_ofconsole_init_output): ... this.
30796 (grub_ofconsole_term): Split into ...
30797 (grub_ofconsole_term_input): ... this, and ...
30798 (grub_ofconsole_term_output): ... this. Update all users.
30799 * term/i386/pc/serial.c (grub_serial_term): Split into ...
30800 (grub_serial_term_input): ... this, and ...
30801 (grub_serial_term_output): ... this. Update all users.
30802 * term/i386/pc/console.c (grub_console_term): Split into ...
30803 (grub_console_term_input): ... this, and ...
30804 (grub_console_term_output): ... this. Update all users.
30805 (grub_console_term_input): Only enable it on PC/BIOS platform.
30806 (grub_console_init): Remove grub_keyboard_controller_init() call.
30807
30808 Migrate input terminals to new API:
30809
30810 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
30811 `i386' and `i386/pc' to enable build on x86_64 (this driver is
30812 i386-specific anyway).
30813 (grub_console_checkkey): Rename to ...
30814 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
30815 users.
30816 (grub_keyboard_controller_orig): New variable.
30817 (grub_console_getkey): Rename to ...
30818 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
30819 users.
30820 (grub_keyboard_controller_init): Static-ize. Save original
30821 controller value so that it can be restored ...
30822 (grub_keyboard_controller_fini): ... here (new function).
30823 (grub_at_keyboard_term): New structure.
30824 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
30825 functions.
30826
30827 Migrate output terminals to new API:
30828
30829 * term/i386/pc/vga.c (grub_vga_term): Change type to
30830 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
30831 members. Update all users.
30832 * term/gfxterm.c (grub_video_term): Change type to
30833 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
30834 members. Update all users.
30835 * include/grub/i386/pc/console.h (grub_console_checkkey)
30836 (grub_console_getkey): Do not export (no longer needed by gfxterm,
30837 etc).
30838
30839 Migrate `terminal' command and userland tools to new API:
30840
30841 * commands/terminal.c (grub_cmd_terminal): Split into ...
30842 (grub_cmd_terminal_input): ... this, and ...
30843 (grub_cmd_terminal_output): ... this.
30844 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
30845 `terminal_input' and `terminal_output'.
30846 * util/grub.d/00_header.in: Adjust `terminal' calls to new
30847 `terminal_input' / `terminal_output' API.
30848 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
30849 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
30850 provided ${GRUB_TERMINAL}, convert it).
30851
96e5d876 308522008-11-04 Robert Millan <rmh@aybabtu.com>
30853
30854 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
30855 for FreeBSD.
30856 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
30857
556f3775 308582008-11-03 Bean <bean123ch@gmail.com>
30859
30860 * kern/elf.c (grub_elf32_load): Revert to previous code.
30861 (grub_elf64_load): Likewise.
30862
30863 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
30864
926b9823 308652008-11-01 Robert Millan <rmh@aybabtu.com>
30866
30867 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
30868 (TARGET_CPPFLAGS): Likewise.
30869 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
30870
1432e958 308712008-11-01 Carles Pina i Estany <carles@pina.cat>
30872
30873 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
30874
dba3f844 308752008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 30876
30877 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
30878 addition of objects until the code is not going to be able to fail.
30879
dba3f844 308802008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 30881
30882 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
30883 (add a missing NULL check, and correct them by moving the pointer
30884 operations after the actual check).
30885
7ab28c21 308862008-10-29 Robert Millan <rmh@aybabtu.com>
30887
30888 * util/i386/pc/grub-install.in: Handle empty string as output from
30889 make_system_path_relative_to_its_root().
30890
1b7748eb 308912008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
30892
30893 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
30894 circular metadata worst case scenario. If the metadata is circular
30895 then copy the wrap in place.
30896 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
30897 project lib/format_text/layout.h
30898 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
30899
c9618ab2 309002008-10-03 Felix Zielcke <fzielcke@z-51.de>
30901
7a36edca 30902 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 30903
bf981c62 309042008-10-03 Felix Zielcke <fzielcke@z-51.de>
30905
30906 * util/update-grub_lib.in: Mention filename in warning message.
30907
6d994591 309082008-09-29 Felix Zielcke <fzielcke@z-51.de>
30909
30910 * NEWS: Update for rename of update-grub to grub-mkconfig.
30911
18ade780 309122008-09-29 Felix Zielcke <fzielcke@z-51.de>
30913
30914 * util/update-grub_lib.in: Copy to ...
30915 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 30916 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 30917 * util/update-grub.in: Rename to ...
30918 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
30919 option. Add `--output' option to allow users to specify the generated
30920 configuration file. Default to stdout.
30921 (update_grub_dir): Rename to ...
30922 (grub_mkconfig_dir): ... this.
30923 (grub_cfg): Default to an empty string.
30924 * conf/common.rmk (update-grub): Rename to ...
30925 (grub-mkconfig): ... this.
30926 (update-grub_lib): Copy to ...
30927 (grub-mkconfig_lib): ... this.
30928 (update-grub_SCRIPTS): Copy to ...
30929 (grub-mkconfig_SCRIPTS): ... this. Update all users.
30930 (update-grub_DATA): Rename to ...
30931 (grub-mkconfig_DATA): ... this.
30932
556ce6ac 309332008-09-28 Robert Millan <rmh@aybabtu.com>
30934
30935 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
30936 to `modified'. Add the real `created' field.
30937 (grub_iso9660_uuid): Use `modified' rather than `created' for
30938 constructing the UUID.
30939
309402008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 30941
30942 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
30943 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
30944
92274e85 309452008-09-28 Bean <bean123ch@gmail.com>
30946
30947 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
30948 Thanks to Christian Franke for finding this bug.
30949
add6f17a 309502008-09-25 Robert Millan <rmh@aybabtu.com>
30951
30952 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
30953 instances of grub_util_get_disk_name() (see previous commit).
30954
d2a367b8 309552008-09-25 Robert Millan <rmh@aybabtu.com>
30956
30957 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
30958 `util/i386/get_disk_name.c'.
30959 * conf/i386-efi.rmk: Likewise.
30960 * conf/x86_64-efi.rmk: Likewise.
30961 * conf/i386-coreboot.rmk: Likewise.
30962 * conf/i386-ieee1275.rmk: Likewise.
30963 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
30964 `util/ieee1275/get_disk_name.c'.
30965 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
30966 * util/ieee1275/get_disk_name.c: Remove file.
30967 * util/i386/get_disk_name.c: Remove file.
30968 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
30969 "hd%d" for device.map entries, rather than using
30970 grub_util_get_disk_name().
30971
81a06771 309722008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 30973
30974 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
30975 warning.
30976 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
30977
5a004279 309782008-09-24 Carles Pina i Estany <carles@pina.cat>
30979
30980 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
30981 Changed to 0x5100.
30982 (GRUB_TERM_PPAGE): Changed to 0x4900.
30983
397093d3 309842008-09-24 Robert Millan <rmh@aybabtu.com>
30985
30986 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
30987 macros (they were i386-pc specific).
30988 * include/grub/sparc64/ieee1275/console.h: Likewise.
30989 * include/grub/efi/console.h: Likewise.
30990
a91b6c7c 309912008-09-22 Bean <bean123ch@gmail.com>
30992
30993 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
30994 resident and in attribute list.
30995
30996 * include/grub/ntfs.h (BMP_LEN): Removed.
30997
c40fd116 309982008-09-22 Bean <bean123ch@gmail.com>
30999
81a06771 31000 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 31001 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
31002
31003 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
31004 error occurs, as grub_disk_open will call grub_disk_close, which will
31005 call p->close (scsi).
31006
81a06771 310072008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 31008
31009 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
31010 (AC_PREREQ): Bumped to 2.59.
31011 (AC_TRY_COMPILE): Replace obsolete macro with ...
31012 (AC_COMPILE_IFELSE): ... this.
31013 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
31014 (AC_LINK_IFELSE): ... this.
31015
5dc43410 310162008-09-21 Felix Zielcke <fzielcke@z-51.de>
31017
31018 * autogen.sh: Add a call to `gendistlist.sh'.
31019
9035dce4 310202008-09-19 Christian Franke <franke@computer.org>
31021
31022 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
31023 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
31024 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
31025 Export __enable_execute_stack() to modules.
31026 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
31027 New function.
31028
7fd75377 310292008-09-09 Felix Zielcke <fzielcke@z-51.de>
31030
040030b3 31031 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
31032 Sort the list.
31033
310342008-09-09 Felix Zielcke <fzielcke@z-51.de>
31035
31036 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 31037 #include <grub/util/hostdisk.h>.
31038
89d5ffcf 310392008-09-08 Robert Millan <rmh@aybabtu.com>
31040
31041 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
31042 segments when their filesz is zero (grub_file_read() interprets
81a06771 31043 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 31044 Use `lowest_segment' rather than 0 for calculating the current
31045 segment load address.
31046
40da438f 310472008-09-08 Robert Millan <rmh@aybabtu.com>
31048
31049 * util/hostdisk.c (open_device): Replace a grub_util_info() call
31050 with grub_dprintf("hostdisk", ...), as it was so verbose that it
31051 clobbered useful information.
31052
ddbf5556 310532008-09-08 Robert Millan <rmh@aybabtu.com>
31054
31055 * include/grub/util/biosdisk.h: Move to ...
31056 * include/grub/util/hostdisk.h: ... here. Update all users.
31057 * util/biosdisk.c: Move to ...
31058 * util/hostdisk.c: ... here. Update all users.
31059
783d0f48 310602008-09-07 Robert Millan <rmh@aybabtu.com>
31061
31062 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
31063 variables.
31064 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
31065 and length can be stored directly in the `mbi->mmap_addr' and
31066 `mbi->mmap_length' struct fields.
31067
548e2ea5 310682008-09-07 Robert Millan <rmh@aybabtu.com>
31069
31070 * conf/i386.rmk: New file. Provides declaration for building
31071 `cpuid.mod'.
31072 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
31073 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
31074 variables.
31075 Include `conf/i386.mk'.
31076 * conf/i386-efi.rmk: Likewise.
31077 * conf/x86_64-efi.rmk: Likewise.
31078 * conf/i386-coreboot.rmk: Likewise.
31079 * conf/i386-ieee1275.rmk: Likewise.
31080
0ea85a37 310812008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
31082
31083 Based on patch created by Colin D Bennett <colin@gibibit.com>.
31084 Adds optimization support for BGR based modes.
31085
31086 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
31087 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31088 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31089 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31090 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31091 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31092 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31093 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31094 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31095 (grub_video_i386_vbeblit_index_index): Likewise.
31096 (grub_video_i386_vbeblit_replace_directN): Added.
31097 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31098 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31099 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31100 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31101 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31102 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 31103 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 31104 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31105 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31106 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31107 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31108 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31109 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
31110
31111 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
31112 (grub_video_i386_vbefill_R8G8B8): Likewise.
31113 (grub_video_i386_vbefill_index): Likewise.
31114 (grub_video_i386_vbefill_direct32): Added.
31115 (grub_video_i386_vbefill_direct24): Likewise.
31116 (grub_video_i386_vbefill_direct16): Likewise.
31117 (grub_video_i386_vbefill_direct8): Likewise.
31118
81a06771 31119 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 31120 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
31121 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
31122 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
31123 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
31124 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 31125
0ea85a37 31126 * video/video.c (grub_video_get_blit_format): Updated to use new
31127 blit formats. Added handling for 16 bit color modes.
81a06771 31128
31129 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 31130 fillers.
31131 (common_blitter): Updated to use new blitters.
31132
31133 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
31134 Removed.
31135 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
31136 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31137 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31138 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31139 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31140 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31141 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31142 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31143 (grub_video_i386_vbeblit_index_index): Likewise.
31144 (grub_video_i386_vbeblit_replace_directN): Added.
31145 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
31146 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
31147 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
31148 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
31149 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
31150 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
31151 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
31152 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
31153 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
31154 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
31155 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
31156 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
31157 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 31158
0ea85a37 31159 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
31160 (grub_video_i386_vbefill_R8G8B8): Likewise.
31161 (grub_video_i386_vbefill_index): Likewise.
31162 (grub_video_i386_vbefill_direct32): Added.
31163 (grub_video_i386_vbefill_direct24): Likewise.
31164 (grub_video_i386_vbefill_direct16): Likewise.
31165 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 31166
0ea85a37 31167 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
31168 types.
81a06771 31169
0ea85a37 31170 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
31171 types.
81a06771 31172
0ea85a37 31173 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
31174 blitter types.
81a06771 31175
0ea85a37 31176 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
31177 types.
31178
e8a83df6 311792008-09-06 Felix Zielcke <fzielcke@z-51.de>
31180
31181 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
31182 RAID level 1.
31183
6bcd8ee5 311842008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 31185
6bcd8ee5 31186 * fs/iso9660.c (grub_iso9660_date): New structure.
31187 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
31188 (grub_iso9660_uuid): New function.
c375ae58 31189
59261157 311902008-09-05 Bean <bean123ch@gmail.com>
31191
31192 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
31193
31194 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
31195 insensitive bit for names in Win32 and Win32 & DOS namespace.
31196
31197 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
31198
31199 * include/grub/types.h (LONG_MAX): Likewise.
31200
58b6645a 312012008-09-04 Felix Zielcke <fzielcke@z-51.de>
31202
4ee55921 31203 * util/getroot.c: Include <config.h>.
31204 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
31205 add support for /dev/md/N devices and handle LVM double dash escaping.
31206
312072008-09-04 Felix Zielcke <fzielcke@z-51.de>
31208
31209 * config.guess: Update to latest version from config git.
31210 * config.sub: Likewise.
58b6645a 31211
9124f65d 312122008-09-03 Robert Millan <rmh@aybabtu.com>
31213
31214 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
31215 `disk->total_sectors'.
31216
81a06771 312172008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 31218
31219 * include/grub/normal.h: Fixed incorrect comment for
31220 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
31221
81a06771 312222008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 31223
31224 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
31225 values with defines.
31226
31227 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
31228 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
31229 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
31230 (GRUB_VBE_MODEATTR_COLOR): Likewise.
31231 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
31232 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
31233 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
31234 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
31235 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
31236 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
31237 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
31238 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
31239 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
31240 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
31241 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
31242 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
31243 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
31244 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
31245 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
31246
93d5cbf8 312472008-08-31 Robert Millan <rmh@aybabtu.com>
31248
31249 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
31250 declaration.
31251 (grub_multiboot): Fix a few warnings.
31252
21751d50 312532008-08-31 Robert Millan <rmh@aybabtu.com>
31254
31255 * loader/i386/pc/multiboot.c: Update comment not to say that
31256 boot_device support is unimplemented.
31257
e27a75c5 312582008-08-31 Robert Millan <rmh@aybabtu.com>
31259
31260 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
31261 or memory map support are unimplemented.
31262
81a06771 312632008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 31264
31265 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
31266
81a06771 312672008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 31268
31269 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
31270 total video memory in 'vbeinfo' output; show color format details for
31271 each video mode.
31272
7c5d8d95 312732008-08-30 Pavel Roskin <proski@gnu.org>
31274
31275 * util/genmoddep.c: Remove for real this time.
31276 * DISTLIST: Remove util/genmoddep.c.
31277
4cebd25a 312782008-08-30 Robert Millan <rmh@aybabtu.com>
31279
31280 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
31281 as required by Multiboot spec (it was already 4-byte aligned, but
31282 only by chance).
31283
b497a269 312842008-08-29 Pavel Roskin <proski@gnu.org>
31285
e3925185 31286 * kern/powerpc/ieee1275/crt0.S: Rename to ...
31287 * kern/powerpc/ieee1275/startup.S: ... this.
31288 * conf/powerpc-ieee1275.rmk: Adjust for the above.
31289 * DISTLIST: Likewise.
31290
b497a269 31291 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
31292 grub/cpu/kernel.h. Add start label for consistency with other
31293 platforms. Add grub_prefix immediately after start. Add jump
31294 to the code after grub_prefix.
31295 * include/grub/powerpc/kernel.h: Provide valid values for
31296 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
31297
6e5a42fe 312982008-08-29 Bean <bean123ch@gmail.com>
31299
31300 * configure.ac: Change host_os to cygwin for mingw.
31301 (asprintf): New check for function.
31302
31303 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
31304 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
31305
31306 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 31307 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 31308 sync, sleep and grub_util_get_disk_size for mingw.
31309
31310 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
31311 to get size in mingw.
31312 (open_device): Use flag O_BINARY if it's defined.
31313 (find_root_device): Add dummy code for mingw.
31314
31315 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
31316 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
31317 (get_scsi_disk_name): Return 0 for mingw.
31318
31319 * util/hostfs.c: #include <grub/util/misc.h>.
31320 (grub_hostfs_open): Use "rb" flag to open file, use
31321 grub_util_get_disk_size to get disk size for mingw.
31322
31323 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
31324 (asprintf): New function if HAVE_ASPRINTF is not set.
31325 (sync): New function for mingw.
31326 (sleep): Likewise.
31327 (grub_util_get_disk_size): Likewise.
31328
ab3f2673 313292008-08-28 Pavel Roskin <proski@gnu.org>
31330
31331 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
31332 kern/time.c.
31333
1c282483 313342008-08-28 Robert Millan <rmh@aybabtu.com>
31335
31336 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
31337
678e849c 313382008-08-28 Robert Millan <rmh@aybabtu.com>
31339
31340 Change find_grub_drive() syntax so it doesn't prevent it from
31341 detecting NULL names as errors.
31342
31343 * util/biosdisk.c (find_grub_drive): Move free slot search code
31344 from here ...
31345 (find_free_slot): ... to here.
31346 (read_device_map): Use find_free_slot() to search for free slots.
31347
965c75ca 313482008-08-27 Marco Gerards <marco@gnu.org>
31349
31350 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
31351 (scsi_mod_SOURCES): New variable.
31352 (scsi_mod_CFLAGS): Likewise
31353 (scsi_mod_LDFLAGS): Likewise.
31354
31355 * disk/scsi.c: New file.
31356
31357 * include/grub/scsi.h: Likewise.
31358
31359 * include/grub/scsicmd.h: Likewise.
31360
31361 * disk/ata.c: Include <grub/scsi.h>.
31362 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
31363 instead.
31364 (grub_ata_iterate): Skip ATAPI devices.
31365 (grub_ata_open): Only handle ATAPI devices.
31366 (struct grub_atapi_read): Removed.
31367 (grub_atapi_readsector): Likewise.
31368 (grub_ata_read): No longer handle ATAPI devices.
31369 (grub_ata_write): Likewise.
31370 (grub_atapi_iterate): New function.
31371 (grub_atapi_read): Likewise.
31372 (grub_atapi_write): Likewise.
31373 (grub_atapi_open): Likewise.
31374 (grub_atapi_close): Likewise.
31375 (grub_atapi_dev): New variable.
31376 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
31377 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
31378
31379 * include/grub/disk.h (enum grub_disk_dev_id): Add
31380 `GRUB_DISK_DEVICE_SCSI_ID'.
31381
c07ae501 313822008-08-26 Robert Millan <rmh@aybabtu.com>
31383
31384 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
31385 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
31386 descriptive.
31387
5ed20adc 313882008-08-23 Bean <bean123ch@gmail.com>
31389
31390 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
31391 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
31392 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
31393 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
31394 dm_nv.mod.
31395 (raid5rec_mod_SOURCES): New macro.
31396 (raid5rec_mod_CFLAGS): Likewise.
31397 (raid5rec_mod_LDFLAGS): Likewise.
31398 (raid6rec_mod_SOURCES): Likewise.
31399 (raid6rec_mod_CFLAGS): Likewise.
31400 (raid6rec_mod_LDFLAGS): Likewise.
31401 (mdraid_mod_SOURCES): Likewise.
31402 (mdraid_mod_CFLAGS): Likewise.
31403 (mdraid_mod_LDFLAGS): Likewise.
31404 (dm_nv_mod_SOURCES): Likewise.
31405 (dm_nv_mod_CFLAGS): Likewise.
31406 (dm_nv_mod_LDFLAGS): Likewise.
31407
31408 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
31409 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
31410 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
31411
31412 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
31413 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
31414
31415 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31416
31417 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
31418
31419 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31420
31421 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31422
31423 * disk/raid5_recover.c: New file.
31424
31425 * disk/raid6_recover.c: Likewise.
31426
31427 * disk/mdraid_linux.c: Likewise.
31428
31429 * disk/dmraid_nvidia.c: Likewise.
31430
31431 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
31432 ULONG_MAX.
31433
31434 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
31435 calculate the size of raid device.
31436 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
31437 different layout of raid5.
31438 (grub_raid_scan_device): Remove code specific to mdraid.
31439 (grub_raid_list): New variable.
31440 (free_array): New function.
31441 (grub_raid_register): Likewise.
31442 (grub_raid_unregister): Likewise.
31443 (grub_raid_rescan): Likewise.
31444 (GRUB_MOD_INIT): Don't iterate device here.
31445 (GRUB_MOD_FINI): Use free_array to release resource.
31446
31447 * include/grub/raid.h: Remove macro and structure specific to mdraid.
31448 (grub_raid5_recover_func_t): New function variable type.
31449 (grub_raid6_recover_func_t): Likewise.
31450 (grub_raid5_recover_func): New variable.
31451 (grub_raid6_recover_func): Likewise.
31452 (grub_raid_register): New function.
31453 (grub_raid_unregister): Likewise.
31454 (grub_raid_rescan): Likewise.
31455 (grub_raid_block_xor): Likewise.
31456
31457 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
31458 (CMD_CRC): New macro.
31459 (part): Removed.
31460 (read_file): Handle device as well as file.
31461 (cmd_crc): New function.
31462 (fstest): Handle multiple disks.
31463 (options): Remove part, raw and long, add root and diskcount.
31464 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 31465 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 31466 add handling for the new options, support multiple disks.
31467
31468 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
31469
29c18915 314702008-08-23 Bean <bean123ch@gmail.com>
31471
31472 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
31473
31474 * genfslist.sh: Ignore kernel.mod.
31475
31476 * genpartmaplist.sh: Likewise.
31477
8415f261 314782008-08-23 Robert Millan <rmh@aybabtu.com>
31479
31480 * util/getroot.c (find_root_device): Skip anything that starts with
31481 a dot, not just directories. This avoids things like /dev/.tmp.md0.
31482
d5a7dc5b 314832008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 31484
d5a7dc5b 31485 * util/update-grub.in (GRUB_GFXMODE): Export variable.
31486 * util/grub.d/00_header.in: Allow the administrator to change default
31487 gfxmode via ${GRUB_GFXMODE}.
31488
380cfbb4 314892008-08-21 Felix Zielcke <fzielcke@z-51.de>
31490
31491 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
31492
c9baafe7 314932008-08-21 Robert Millan <rmh@aybabtu.com>
31494
31495 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
31496 loader.
31497 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
31498 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
31499
e290bef2 315002008-08-20 Carles Pina i Estany <carles@pina.cat>
31501
31502 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
31503 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
31504
f9dbfc96 315052008-08-19 Robert Millan <rmh@aybabtu.com>
31506
31507 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
31508 (struct grub_virtual_screen): Remove `cursor_color'.
31509 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
31510 initialization.
31511 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
31512
dd6bd6ab 315132008-08-18 Robert Millan <rmh@aybabtu.com>
31514
31515 Unify (identical) linux_normal.c files.
31516 * loader/i386/efi/linux_normal.c: Move from here ...
31517 * loader/linux_normal.c: ... to here. Update all users.
31518 * loader/i386/pc/linux_normal.c: Delete. Update all users.
31519 * loader/i386/ieee1275/linux_normal.c: Likewise.
31520
7f42f83e 315212008-08-18 Robert Millan <rmh@aybabtu.com>
31522
31523 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
31524 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
31525 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
31526 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
31527 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
31528 New macros.
31529 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
31530 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
31531 (GRUB_LINUX_CL_END_OFFSET): ... to here.
31532 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
31533 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
31534 (GRUB_EFI_CL_END_OFFSET): Rename to ...
31535 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
31536 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
31537 Initialize `params->video_cursor_x' and `params->video_cursor_y'
31538 portably using grub_getxy().
31539 Replace `-EFI' with `-bzImage' in boot message.
31540
38487ddb 315412008-08-17 Robert Millan <rmh@aybabtu.com>
31542
31543 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
31544
deceb3ec 315452008-08-17 Robert Millan <rmh@aybabtu.com>
31546
31547 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
31548
31549 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
31550 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
31551 (grub_machine_mmap_iterate): New function declaration.
31552 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
31553 structure.
31554 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
31555 macros.
31556
31557 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
31558 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
31559 Move e820 parsing from here ...
31560 * kern/i386/pc/mmap.c: New file.
31561 (grub_machine_mmap_iterate): ... to here.
31562
31563 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
31564 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
31565 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
31566 (grub_available_iterate): Redeclare to return `void', and redeclare
31567 its hook to use grub_uint64_t as addr and size parameters, and rename
31568 to ...
31569 (grub_machine_mmap_iterate): ... this. Update all users.
31570
31571 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
31572 to make it more readable. Rename to ...
31573 (grub_machine_mmap_iterate): ... this.
31574
31575 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
31576 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
31577 (grub_multiboot): Allocate an extra region after the payload, and fill
31578 it with a Multiboot memory map. Adjust a.out loader to calculate size
31579 with the extra space.
31580 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
31581 with the extra space.
31582
f8aa0f43 315832008-08-17 Carles Pina i Estany <carles@pina.cat>
31584
9807deb9 31585 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 31586
605f5bb6 315872008-08-17 Felix Zielcke <fzielcke@z-51.de>
31588
31589 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
31590 mdate-sh to the list `find' searches for.
31591 * DISTLIST: Regenerated.
31592
210db6c6 315932008-08-16 Felix Zielcke <fzielcke@z-51.de>
31594
31595 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
31596 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 31597 genmoddep.awk, gensymlist.sh.in.
31598 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 31599 * DISTLIST: Regenerated.
48cdbfd4 31600 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 31601
1082b929 316022008-08-16 Robert Millan <rmh@aybabtu.com>
31603
31604 * disk/raid.c (grub_raid_init): Handle/report errors set by
31605 grub_device_iterate().
31606 * disk/lvm.c (grub_lvm_init): Likewise.
31607
42ce5170 316082008-08-15 Bean <bean123ch@gmail.com>
31609
31610 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31611 and datehook.mod.
31612 (datetime_mod_SOURCES): New macro.
31613 (datetime_mod_CFLAGS): Likewise.
31614 (datetime_mod_LDFLAGS): Likewise.
31615 (date_mod_SOURCES): Likewise.
31616 (date_mod_CFLAGS): Likewise.
31617 (date_mod_LDFLAGS): Likewise.
31618 (datehook_mod_SOURCES): Likewise.
31619 (datehook_mod_CFLAGS): Likewise.
31620 (datehook_mod_LDFLAGS): Likewise.
31621
31622 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31623 and datehook.mod.
31624 (datetime_mod_SOURCES): New macro.
31625 (datetime_mod_CFLAGS): Likewise.
31626 (datetime_mod_LDFLAGS): Likewise.
31627 (date_mod_SOURCES): Likewise.
31628 (date_mod_CFLAGS): Likewise.
31629 (date_mod_LDFLAGS): Likewise.
31630 (datehook_mod_SOURCES): Likewise.
31631 (datehook_mod_CFLAGS): Likewise.
31632 (datehook_mod_LDFLAGS): Likewise.
31633
31634 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31635 and datehook.mod.
31636 (datetime_mod_SOURCES): New macro.
31637 (datetime_mod_CFLAGS): Likewise.
31638 (datetime_mod_LDFLAGS): Likewise.
31639 (date_mod_SOURCES): Likewise.
31640 (date_mod_CFLAGS): Likewise.
31641 (date_mod_LDFLAGS): Likewise.
31642 (datehook_mod_SOURCES): Likewise.
31643 (datehook_mod_CFLAGS): Likewise.
31644 (datehook_mod_LDFLAGS): Likewise.
31645
31646 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31647 and datehook.mod.
31648 (datetime_mod_SOURCES): New macro.
31649 (datetime_mod_CFLAGS): Likewise.
31650 (datetime_mod_LDFLAGS): Likewise.
31651 (date_mod_SOURCES): Likewise.
31652 (date_mod_CFLAGS): Likewise.
31653 (date_mod_LDFLAGS): Likewise.
31654 (datehook_mod_SOURCES): Likewise.
31655 (datehook_mod_CFLAGS): Likewise.
31656 (datehook_mod_LDFLAGS): Likewise.
31657
31658 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
31659 and datehook.mod.
31660 (datetime_mod_SOURCES): New macro.
31661 (datetime_mod_CFLAGS): Likewise.
31662 (datetime_mod_LDFLAGS): Likewise.
31663 (date_mod_SOURCES): Likewise.
31664 (date_mod_CFLAGS): Likewise.
31665 (date_mod_LDFLAGS): Likewise.
31666 (datehook_mod_SOURCES): Likewise.
31667 (datehook_mod_CFLAGS): Likewise.
31668 (datehook_mod_LDFLAGS): Likewise.
31669
31670 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
31671
31672 * commands/date.c: New file.
31673
31674 * hook/datehook.c: Likewise.
31675
31676 * include/grub/lib/datetime.h: Likewise.
31677
31678 * include/grub/i386/cmos.h: Likewise.
31679
31680 * lib/datetime.c: Likewise.
31681
31682 * lib/i386/datetime.c: Likewise.
31683
31684 * lib/efi/datetime.c: Likewise.
31685
0e9242da 316862008-08-14 Robert Millan <rmh@aybabtu.com>
31687
31688 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
31689 (grub_mkelfimage_SOURCES): New variable.
31690 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
31691
31692 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
31693 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
31694 * conf/powerpc-ieee1275.rmk: Likewise.
31695 * conf/i386-ieee1275.rmk: Likewise.
31696
31697 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
31698 * kern/i386/coreboot/init.c: Likewise.
31699
31700 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
31701 with `<grub/cpu/kernel.h>'.
31702 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
31703 to ...
31704 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
31705 * kern/i386/coreboot/startup.S: Likewise.
31706
31707 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
31708 (GRUB_MOD_GAP): Remove.
31709 * include/grub/powerpc/kernel.h: New file.
31710 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
31711 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
31712 * include/grub/i386/kernel.h: New file.
31713 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
31714 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
31715 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
31716
31717 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
31718 `grub-mkelfimage'.
31719 Use --directory when invoking grub_mkimage.
31720
31721 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
31722 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
31723 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
31724 and GRUB_KERNEL_CPU_PREFIX.
31725
b86408f8 317262008-08-14 Felix Zielcke <fzielcke@z-51.de>
31727
d5e619ca 31728 * include/grub/err.h (grub_err_printf): New function prototype.
31729 * util/misc.c (grub_err_printf): New function.
31730 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
31731 grub_printf.
31732 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 31733
7161f0e0 317342008-08-13 Robert Millan <rmh@aybabtu.com>
31735
31736 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
31737
a1967522 317382008-08-13 Robert Millan <rmh@aybabtu.com>
31739
31740 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
31741 boot entry.
31742
371458b5 317432008-08-12 Robert Millan <rmh@aybabtu.com>
31744
31745 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
31746 of the relocation code from here ...
31747 (grub_multiboot): ... to here.
31748 (forward_relocator, backward_relocator): Move from here ...
31749 * kern/i386/loader.S (grub_multiboot_forward_relocator)
31750 (grub_multiboot_backward_relocator): ... to here.
31751 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
31752 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
31753 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
31754 (grub_multiboot_forward_relocator_end)
31755 (grub_multiboot_backward_relocator)
31756 (grub_multiboot_backward_relocator_end): New variables.
31757
05f9452b 317582008-08-12 Bean <bean123ch@gmail.com>
31759
31760 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
31761
20024ab0 317622008-08-11 Robert Millan <rmh@aybabtu.com>
31763
31764 * kern/i386/linuxbios/startup.S: Move from here ...
31765 * kern/i386/coreboot/startup.S: ... to here.
31766
31767 * kern/i386/linuxbios/init.c: Move from here ...
31768 * kern/i386/coreboot/init.c: ... to here.
31769
31770 * kern/i386/linuxbios/table.c: Move from here ...
31771 * kern/i386/coreboot/mmap.c: ... to here.
31772
31773 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
31774
e352e9cd 317752008-08-11 Robert Millan <rmh@aybabtu.com>
31776
31777 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
31778 errors. Leave it to the upper layer to handle them.
31779
2d05bc6a 317802008-08-09 Christian Franke <franke@computer.org>
31781
31782 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
31783 * conf/common.rmk: Install `grub-pe2elf' only if requested.
31784 Install `grub.d/10_windows' only on Cygwin.
31785 * configure.ac: Add subst of `target_os'.
31786 Check `target_os' also before setting TARGET_OBJ2ELF.
31787 Add `--enable-grub-pe2elf'.
31788
042bd419 317892008-08-08 Robert Millan <rmh@aybabtu.com>
31790
31791 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
31792 (grub_last_time): Change type to grub_uint64_t.
31793 (grub_disk_open): Migrate code from to using grub_get_time_ms().
31794 (grub_disk_close): Likewise.
31795
31796 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
31797 (run_menu): Migrate code from to using grub_get_time_ms().
31798
31799 * util/misc.c (grub_get_time_ms): New function.
31800
7f280db5 318012008-08-08 Marco Gerards <marco@gnu.org>
31802
31803 * disk/ata.c (grub_ata_regget): Change return type to
31804 `grub_uint8_t'.
31805 (grub_ata_regget2): Likewise.
31806 (grub_ata_wait_status): New function.
31807 (grub_ata_wait_busy): Removed function, updated all users to use
31808 `grub_ata_wait_status'.
31809 (grub_ata_wait_drq): Likewise.
31810 (grub_ata_cmd): New function.
31811 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
31812 error handling.
31813 (grub_ata_pio_write): Add error handling.
31814 (grub_atapi_identify): Likewise.
31815 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
31816 handling.
31817 (grub_ata_identify): Use `grub_ata_cmd' and improve error
31818 handling. Actually use the detected registers. Reorder the
31819 detection logic such that it is easier to read.
31820 (grub_ata_pciinit): Do not assign the same ID to each controller.
31821 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
31822 handling.
31823 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
31824
31825 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
31826
1fbc5e66 318272008-08-08 Marco Gerards <marco@gnu.org>
31828
31829 * NEWS: Update.
31830
819ce6c0 318312008-08-07 Bean <bean123ch@gmail.com>
31832
31833 * include/grub/x86_64/pci.h: New file.
31834
5c41d44d 318352008-08-07 Christian Franke <franke@computer.org>
31836
31837 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
31838 (TIMER2_GATE): Likewise.
31839 (grub_pit_wait): Add enable/disable of the timer2 gate
31840 bit of port 0x61. This fixes a possible infinite loop.
31841
5ebc275d 318422008-08-07 Bean <bean123ch@gmail.com>
31843
31844 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
31845 kern/i386/tsc.c and kern/i386/pit.c.
31846
31847 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
31848 x86_64 platform.
31849
31850 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
31851 <grub/i386/tsc.h>.
31852
31853 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
31854
e383b3d0 318552008-08-07 Bean <bean123ch@gmail.com>
31856
31857 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
31858
31859 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
31860
31861 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
31862 multiple inclusion. Add #include <grub/types.h>.
31863
1cbb58ac 318642008-08-06 Christian Franke <franke@computer.org>
31865
31866 * conf/common.rmk: Build and install `10_windows'.
31867 * util/grub.d/10_windows.in: New script.
31868
337f5a1e 318692008-08-06 Pavel Roskin <proski@gnu.org>
31870
31871 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
31872
057bc4ac 318732008-08-06 Robert Millan <rmh@aybabtu.com>
31874
31875 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
31876 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
31877
2b99f123 318782008-08-06 Bean <bean123ch@gmail.com>
31879
31880 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
31881 (grub_pxefs_fs_int): Remove dummy definition.
31882 (grub_pxefs_open): Use data->block_size to store the current block
31883 size setting.
31884 (grub_pxefs_read): Use block size stored in data->block_size. As the
31885 value of grub_pxe_blksize can be changed after the file is opened.
31886
9f0234cb 318872008-08-06 Bean <bean123ch@gmail.com>
31888
31889 * fs/i386/pc/pxe.c (curr_file): new variable.
31890 (grub_pxefs_open): Simply the handling of pxe file system. Don't
31891 require the dummy internal file system anymore.
31892 (grub_pxefs_read): Removed.
31893 (grub_pxefs_close): Likewise.
31894 (grub_pxefs_fs_int): Likewise.
31895 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
31896 connection when we switch file.
31897 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
31898
a55d42e0 318992008-08-06 Robert Millan <rmh@aybabtu.com>
31900
31901 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
31902 `halt.mod'.
31903 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
31904 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
31905
31906 * kern/i386/halt.c: New file.
31907 * kern/i386/reboot.c: Likewise.
31908 * include/grub/i386/reboot.h: Likewise.
31909 * include/grub/i386/halt.h: Likewise.
31910
31911 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
31912 Include `<grub/cpu/halt.h>'.
31913 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
31914 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
31915
31916 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
31917 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
31918 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
31919 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
31920 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
31921 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
31922 from here ...
31923 * include/grub/i386/at_keyboard.h: ... to here.
31924
24371d26 319252008-08-05 Robert Millan <rmh@aybabtu.com>
31926
31927 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
31928 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
31929 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
31930 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
31931 `kern/generic/millisleep.c'.
31932
31933 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
31934 instead of grub_get_rtc().
31935 (grub_tsc_init): Initialize `tsc_boot_time'.
31936
31937 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
31938 (grub_machine_init): Use grub_tsc_init() rather than
31939 installing an RTC-based handler via grub_install_get_time_ms().
31940
31941 * kern/i386/pit.c: New file.
31942 * include/grub/i386/pit.h: Likewise.
31943
9e7007b3 319442008-08-05 Bean <bean123ch@gmail.com>
31945
31946 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
31947
31948 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
31949 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
31950 (pxe_mod_SOURCES): New macro.
31951 (pxe_mod_CFLAGS): Likewise.
31952 (pxe_mod_LDFLAGS): Likewise.
31953 (pxecmd_mod_SOURCES): Likewise.
31954 (pxecmd_mod_CFLAGS): Likewise.
31955 (pxecmd_mod_LDFLAGS): Likewise.
31956
31957 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
31958 (grub_pxe_call): Likewise.
31959
31960 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
31961
31962 * commands/i386/pc/pxecmd.c: New file.
31963
9f0234cb 31964 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 31965
31966 * include/grub/i386/pc/pxe.h: Likewise.
31967
6977d49f 319682008-08-05 Bean <bean123ch@gmail.com>
31969
31970 * util/console.c (grub_console_cur_color): New variable.
31971 (grub_console_standard_color): Likewise.
31972 (grub_console_normal_color): Likewise.
31973 (grub_console_highlight_color): Likewise.
31974 (color_map): Likewise.
31975 (use_color): Likewise.
31976 (NUM_COLORS): New macro.
31977 (grub_ncurses_setcolorstate): Handle color properly.
31978 (grub_ncurses_setcolor): Don't change color here, just remember the
31979 settings, color will be set in grub_ncurses_setcolorstate.
31980 (grub_ncurses_getcolor): New function.
31981 (grub_ncurses_init): Initialize color pairs.
31982 (grub_ncurses_term): New member grub_ncurses_getcolor.
31983
9c2ff3ee 319842008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 31985
9c2ff3ee 31986 High resolution timer support. Implemented for x86 CPUs using TSC.
31987 Extracted generic grub_millisleep() so it's linked in only as needed.
31988 This requires a Pentium compatible CPU; if the RDTSC instruction is
31989 not supported, then it falls back on the generic grub_get_time_ms()
31990 implementation that uses the machine's RTC.
31991
31992 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
31993 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
31994 `kern/generic/millisleep.c'.
31995
31996 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
31997 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
31998
31999 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
32000 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
32001
32002 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32003
32004 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
32005 `kern/generic/millisleep.c'.
32006
32007 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
32008
32009 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
32010
32011 * kern/generic/rtc_get_time_ms.c: New file.
32012
32013 * kern/generic/millisleep.c: New file.
337f5a1e 32014
9c2ff3ee 32015 * kern/misc.c: Don't include
32016 <kern/time.h> anymore.
32017 (grub_millisleep_generic): Removed.
32018
32019 * commands/sleep.c (grub_interruptible_millisleep): Uses
32020 grub_get_time_ms() instead of grub_get_rtc().
32021
32022 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
32023 function.
32024 (grub_cpu_is_cpuid_supported): New inline function.
32025 (grub_cpu_is_tsc_supported): New inline function.
32026 (grub_tsc_init): New function prototype.
32027 (grub_tsc_get_time_ms): New function prototype.
32028
32029 * kern/i386/tsc.c (grub_get_time_ms): New file.
32030
32031 * include/grub/time.h: Include <grub/types.h.
32032 (grub_millisleep_generic): Removed.
32033 (grub_get_time_ms): New prototype.
32034 (grub_install_get_time_ms): New prototype.
32035 (grub_rtc_get_time_ms): New prototype.
32036
32037 * kern/time.c (grub_get_time_ms): New function.
32038 (grub_install_get_time_ms): New function.
32039
32040 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
32041 <grub/time.h> anymore.
32042 (grub_millisleep): Removed.
32043 (grub_machine_init): Call grub_tsc_init.
32044
32045 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
32046 get_time_ms() implementation.
32047
32048 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
32049 (ieee1275_get_time_ms): New function.
32050 (grub_machine_init): Install get_time_ms() implementation.
32051
32052 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
32053 (grub_machine_init): Call grub_tsc_init().
32054 (grub_millisleep): Removed.
bf06a93f 32055
9c2ff3ee 32056 * kern/ieee1275/init.c (grub_millisleep): Removed.
32057 (grub_machine_init): Install ieee1275_get_time_ms()
32058 implementation.
32059 (ieee1275_get_time_ms): New function.
32060 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
32061 real work.
32062
9ec92aaf 320632008-08-05 Marco Gerards <marco@gnu.org>
32064
32065 * disk/ata.c: Include <grub/pci.h>.
32066 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
32067 (grub_ata_initialize): Rewritten.
32068 (grub_ata_device_initialize): New function.
32069
8d23f507 320702008-08-04 Pavel Roskin <proski@gnu.org>
32071
32072 * kern/main.c: Include grub/mm.h.
32073
5e15ee3d 320742008-08-04 Robert Millan <rmh@aybabtu.com>
32075
32076 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
32077 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
32078 corruption problem).
32079
a9053f8f 320802008-08-04 Robert Millan <rmh@aybabtu.com>
32081
32082 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
32083 warnings introduced in my last commit.
32084
dd19c7d7 320852008-08-03 Robert Millan <rmh@aybabtu.com>
32086
32087 Make PCI available on all i386 architectures.
32088
32089 * include/grub/i386/pc/pci.h: Move from here ...
32090 * include/grub/i386/pci.h: ... to here.
32091
32092 * include/grub/i386/pc/pci.h: Remove.
32093 * include/grub/i386/efi/pci.h: Remove.
32094 * include/grub/x86_64/efi/pci.h: Remove.
32095
32096 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
32097 `<grub/cpu/pci.h>'.
32098
32099 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
32100 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
32101 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
32102
32103 * conf/i386-ieee1275.rmk: Likewise.
32104
e14a6184 321052008-08-03 Robert Millan <rmh@aybabtu.com>
32106
32107 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
32108 (grub_console_setcursor): Make it possible to set cursor off.
32109
52768e37 321102008-08-03 Robert Millan <rmh@aybabtu.com>
32111
32112 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
32113 of modules instead of assuming which platform provides what.
32114 * util/update-grub.in: Likewise.
32115
2d52f57f 321162008-08-03 Robert Millan <rmh@aybabtu.com>
32117
32118 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
32119 instead of `grub_install_dos_part' to determine whether a drive needs
32120 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 32121 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 32122
2a5cd121 321232008-08-02 Robert Millan <rmh@aybabtu.com>
32124
32125 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
32126
93808428 321272008-08-02 Robert Millan <rmh@aybabtu.com>
32128
32129 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
32130 of informational grub_dprintf() calls.
32131
3bd0a12a 321322008-08-02 Robert Millan <rmh@aybabtu.com>
32133
32134 * disk/memdisk.c (memdisk_size): Don't initialize.
32135 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
32136
32137 * include/grub/i386/pc/kernel.h
32138 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
32139 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
32140 (grub_memdisk_image_size, grub_arch_memdisk_addr)
32141 (grub_arch_memdisk_size): Remove.
32142
32143 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
32144 field (was only used to transfer a constant). Add `type' field to
32145 support multiple module types.
32146 (grub_module_iterate): New function.
32147
32148 * kern/device.c (grub_device_open): Do not hide error messages
32149 when grub_disk_open() fails. Use grub_print_error() instead.
32150
32151 * kern/i386/pc/init.c (grub_arch_modules_addr)
32152 (grub_arch_memdisk_size): Remove functions.
32153 (grub_arch_modules_addr): Return the module address in high memory
32154 (now that it isn't copied anymore).
32155
32156 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
32157 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
32158 decompression routine (grub_total_module_size already includes that
32159 now). Don't copy modules back to low memory.
32160
32161 * kern/main.c: Include `<grub/mm.h>'.
32162 (grub_load_modules): Split out (and use) ...
32163 (grub_module_iterate): ... this function, which iterates through
32164 module objects and runs a hook.
32165 Comment out grub_mm_init_region() call, as it would cause non-ELF
32166 modules to be overwritten.
32167
32168 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
32169 the memdisk image in its own region, make it part of the module list.
32170 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
32171 (main): Parse --memdisk|-m option, and pass user-provided path as
32172 parameter to generate_image().
32173 (add_segments): Pass `memdisk_path' down to load_modules().
32174 (load_modules): Embed memdisk image in module section when requested.
32175 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
32176 `header.type' instead of `header.offset'.
32177
32178 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
32179 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
32180 (memdisk_mod_LDFLAGS): New variables.
32181 * conf/i386-coreboot.rmk: Likewise.
32182 * conf/i386-ieee1275.rmk: Likewise.
32183
a927cc73 321842008-08-02 Robert Millan <rmh@aybabtu.com>
32185
32186 * loader/i386/pc/multiboot.c (playground, forward_relocator)
32187 (backward_relocator): New variables. Used to allocate and relocate
32188 the payload, respectively.
32189 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 32190 address, install the appropriate relocator code in each bound of
a927cc73 32191 the payload, and set the entry point such that
32192 grub_multiboot_real_boot() will jump to one of them.
32193
32194 * kern/i386/loader.S (grub_multiboot_payload_size)
32195 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32196 (grub_multiboot_payload_entry_offset): New variables.
32197 (grub_multiboot_real_boot): Set cpu context to what the relocator
32198 expects, and jump to the relocator instead of the payload.
32199
32200 * include/grub/i386/loader.h (grub_multiboot_payload_size)
32201 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
32202 (grub_multiboot_payload_entry_offset): Export.
32203
b15d8a0c 322042008-08-01 Bean <bean123ch@gmail.com>
32205
32206 * normal/menu_entry.c (editor_getline): Don't return the original
32207 string as result, as it will be released by lexer once it has done
32208 using it.
32209
cdfb3d22 322102008-08-01 Robert Millan <rmh@aybabtu.com>
32211
32212 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
32213 within menuentries, not before them.
32214 util/grub.d/10_hurd.in: Likewise.
32215
9175e93d 322162008-08-01 Bean <bean123ch@gmail.com>
32217
32218 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
32219 (bufio_mod_SOURCES): New macro.
32220 (bufio_mod_CFLAGS): Likewise.
32221 (bufio_mod_LDFLAGS): Likewise.
32222
32223 * include/grub/bufio.h: New file.
32224
32225 * io/bufio.c: Likewise.
32226
32227 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
32228 (grub_video_reader_png): Use grub_buffile_open to open file.
32229
32230 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
32231 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
32232
32233 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
32234 (grub_video_reader_tga): Use grub_buffile_open to open file.
32235
32236 * font/manager.c: Include <grub/bufio.h>.
32237 (add_font): Use grub_buffile_open to open file.
32238
3d8383e7 322392008-07-31 Robert Millan <rmh@aybabtu.com>
32240
32241 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
32242 ELF segments, use a macro for arbitrarily accessing any of them instead
32243 of preparing a pointer that allows access to one at a time.
32244 (grub_multiboot_load_elf64): Likewise.
32245
16e641b6 322462008-07-31 Bean <bean123ch@gmail.com>
32247
32248 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
32249 GRUB_KERNEL_MACHINE_DATA_END.
32250
59198b72 322512008-07-30 Robert Millan <rmh@aybabtu.com>
32252
32253 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
32254 Increase from 0x50 to 0x60.
32255 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
32256 use UUIDs to identify the root drive for them. If that's not
32257 possible, abort.
32258 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
32259 check, for cross-disk installs.
32260
ae88bca3 322612008-07-30 Robert Millan <rmh@aybabtu.com>
32262
32263 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
32264 is non-empty, use it to set the `prefix' environment variable instead
32265 of the usual approach.
32266 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
32267 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
32268 environment variable instead of dummy make_install_device().
32269
32270 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
32271 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 32272 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 32273
32274 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
32275 New variable reference.
32276 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
32277 New macro. Defines offset of `grub_prefix' within startup.S (relative
32278 to `start').
32279 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
32280 section within startup.S (relative to `start').
32281 * include/grub/i386/coreboot/kernel.h: Likewise.
32282
32283 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
32284 Overwrite grub_prefix with its contents, at the beginning of the
32285 first segment.
32286 (main): Understand -p|--prefix.
32287
14f41dd1 322882008-07-30 Robert Millan <rmh@aybabtu.com>
32289
32290 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
32291
4ca049a3 322922008-07-30 Robert Millan <rmh@aybabtu.com>
32293
32294 * term/i386/pc/vga_text.c (grub_console_cls): Use
32295 grub_console_gotoxy() to go back to beginning of the screen.
32296 Found by Patrick Georgi <patrick.georgi@coresystems.de>
32297
2921d337 322982008-07-29 Christian Franke <franke@computer.org>
32299
32300 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
32301 Add conversion of emulated mount points on Cygwin.
32302
b609876d 323032008-07-29 Christian Franke <franke@computer.org>
32304
32305 * util/update-grub.in: Add a check for admin
32306 group on Cygwin.
32307 Remove old `grub.cfg.new' before creation.
32308 Add `-f' to `mv' to handle the different filesystem
32309 semantics of Windows.
32310
e93e4679 323112008-07-29 Bean <bean123ch@gmail.com>
32312
32313 * normal/main.c (get_line): Fix buffer overflow bug.
32314
41694fd0 323152008-07-28 Robert Millan <rmh@aybabtu.com>
32316
32317 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
32318 (struct grub_apple_header): New struct. Describes the layout of
32319 the partmap header.
32320 (apple_partition_map_iterate): Check the header magic as well as the
32321 partition magic (which was already being checked).
32322
cfd0b4e6 323232008-07-28 Pavel Roskin <proski@gnu.org>
32324
32325 * genmk.rb: Add a warning to the beginning of the output that
32326 it's a generated file and should not be edited.
32327
93cce016 323282008-07-28 Robert Millan <rmh@aybabtu.com>
32329
32330 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
32331 with the same number are found, just use issue a warning with
32332 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 32333
cd1df915 323342008-07-27 Robert Millan <rmh@aybabtu.com>
32335
32336 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
32337 information.
32338
b70a8427 323392008-07-27 Bean <bean123ch@gmail.com>
32340
32341 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
32342 (grub_fat_find_dir): Ignore case when comparing filename.
32343
8f5e379f 323442008-07-27 Bean <bean123ch@gmail.com>
32345
32346 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
32347 smallino, as it's more descriptive, and i8count can be confused with
32348 the other field count.
32349 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
32350 inode type.
32351
a85cd5a0 323522008-07-27 Bean <bean123ch@gmail.com>
32353
32354 * commands/crc.c: New file.
32355
32356 * lib/crc.c: Likewise.
32357
32358 * include/grub/lib/crc.h: Likewise.
32359
32360 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
32361
32362 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
32363 (hexdump): Move this function to ...
32364
32365 * lib/hexdump.c: ... here.
32366
32367 * include/grub/hexdump.h: Renamed to ...
32368
32369 * include/grub/lib/hexdump.h: ... this.
32370
32371 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
32372
32373 * util/grub-editenv.c: Likewise.
32374
32375 * include/envblk.h: Renamed to ...
32376
32377 * include/lib/envblk.h: ... this.
32378
32379 * util/envblk.c: Renamed to ...
32380
32381 * lib/envblk.c: ... this.
32382
32383 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
32384 lib/hexdump.c.
32385 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
32386 (pkglib_MODULES): Add crc.mod.
32387 (hexdump_mod_SOURCES): Add lib/hexdump.c.
32388 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
32389 (crc_mod_SOURCES): New macro.
32390 (crc_mod_CFLAGS): Likewise.
32391 (crc_mod_LDFLAGS): Likewise.
32392
32393 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
32394
32395 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32396
32397 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32398
32399 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32400
32401 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32402
c298def0 324032008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 32404
32405 * commands/help.c: Include <grub/term.h>.
32406 (TERM_WIDTH): Removed. Updated all users.
32407
cc349fb3 324082008-07-27 Pavel Roskin <proski@gnu.org>
32409
32410 * util/getroot.c (find_root_device): Rephrase a comment to avoid
32411 spurious warnings about a comment within a comment.
32412
9051607e 324132008-07-25 Robert Millan <rmh@aybabtu.com>
32414
32415 * util/getroot.c (find_root_device): Skip devices that match
32416 /dev/dm-[0-9]. This lets the real device be found for any type of
32417 abstraction (LVM, EVMS, RAID..).
32418 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
32419 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
32420 device is found first, find_root_device() will now skip it.
32421
01453bfc 324222008-07-24 Pavel Roskin <proski@gnu.org>
32423
32424 * include/grub/types.h: Use __builtin_bswap32() and
32425 __builtin_bswap64() with gcc 4.3 and newer.
32426
6af9849f 324272008-07-24 Christian Franke <franke@computer.org>
32428
3a0fa256 32429 * util/i386/pc/grub-install.in: If `--debug' is specified,
32430 pass `--verbose' to grub-setup.
32431 Abort script if make_system_path_relative_to_its_root() fails.
32432
7810e747 324332008-07-24 Bean <bean123ch@gmail.com>
32434
32435 * configure.ac: Fixed a bug caused by the previous cygwin patch,
32436 variable `target_platform' should be `platform'.
32437
42290e17 324382008-07-24 Bean <bean123ch@gmail.com>
32439
51cc5193 32440 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 32441 (grub_png_init_fixed_block): New function.
32442 (grub_png_decode_image_data): Handle fixed huffman code compression.
32443
2a8a80e4 324442008-07-24 Bean <bean123ch@gmail.com>
32445
32446 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
32447 (grub_pe2elf_SOURCES): New macro.
32448 (CLEANFILES): Add grub-pe2elf.
32449
32450 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
32451 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
32452 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
32453 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
32454 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
32455 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
32456 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
32457 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
32458 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
32459 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
32460 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
32461 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
32462 (GRUB_PE32_DT_FUNCTION): Likewise.
32463 (GRUB_PE32_REL_I386_DIR32): Likewise.
32464 (GRUB_PE32_REL_I386_REL32): Likewise.
32465 (grub_pe32_symbol): New structure.
32466 (grub_pe32_reloc): Likewise.
32467
32468 * util/grub-pe2elf.c: New file.
32469
32470 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
32471 start symbol in non pc platform.
32472
32473 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
32474
32475 The following patches are from Christian Franke.
32476
32477 * include/grub/dl.h: Remove .previous, gas supports this only
32478 for ELF format.
32479
32480 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
32481 Remove .type, gas supports this only for ELF format.
32482
32483 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
32484 nullbytes in symbol table. This fixes an infinite loop if table is
32485 zero filled.
32486
32487 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
32488 TARGET_IMG_LDFLAGS and EXEEXT.
32489
32490 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
32491 TARGET_IMG_LDFLAGS_AC.
32492 (grub_CHECK_STACK_ARG_PROBE): New function.
32493
32494 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
32495
32496 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
32497
32498 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
32499 to set TARGET_IMG_LD* accordingly.
32500 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
32501 Add call to grub_CHECK_STACK_ARG_PROBE.
32502 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
32503
32504 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
32505
32506 * genmk.rb: Add EXEEXT to CLEANFILES.
32507
12ccdb75 325082008-07-23 Robert Millan <rmh@aybabtu.com>
32509
32510 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
32511 define the codes for arrows and lines used for the menu).
32512 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
32513 as well.
32514
32515 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
32516 fonts, because the latter are too slow.
32517
18eeaf04 325182008-07-21 Bean <bean123ch@gmail.com>
32519
32520 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
32521 a20. Run keyboard test last, as it will cause macbook to halt.
32522
b095e2ad 325232008-07-18 Pavel Roskin <proski@gnu.org>
32524
32525 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
32526 load foreign architecture modules correctly anyway. Keep
32527 support for loading host architecture modules, whether we
32528 compile them or not.
32529
737feb35 325302008-07-17 Pavel Roskin <proski@gnu.org>
32531
3f4ce737 32532 * configure.ac: Use -m32 or -m64 regardless of whether we had to
32533 change target_cpu. The compiler default can mismatch target_cpu
32534 in any case.
32535
4ad2d049 32536 * disk/efi/efidisk.c: Fix format warnings on x86_64.
32537 * kern/efi/efi.c: Likewise.
32538
f6130a12 32539 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
32540 target compiler is functional.
32541 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
32542 are set up.
32543
58393a2d 32544 * configure.ac: Default to efi platform for x86_64-apple. Allow
32545 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
32546 adjustments from the rest, only do them if target is not
32547 explicitly given. Merge other adjustments with the final sanity
32548 check. Remove an extraneous check for supported CPU. Be
32549 specific which CPU and which platform is not supported.
32550
737feb35 32551 * configure.ac: Default to pc platform for x86_64.
32552
546f966a 325532008-07-17 Robert Millan <rmh@aybabtu.com>
32554
32555 Partial LinuxBIOS -> Coreboot rename.
32556
32557 * conf/i386-linuxbios.rmk: Renamed to ...
32558 * conf/i386-coreboot.rmk: ... this.
32559 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
32560 * configure.ac: Accept "coreboot" as input platform (but maintain
32561 compatibility with "linuxbios").
32562 * include/grub/i386/linuxbios: Renamed to ...
32563 * include/grub/i386/coreboot: ... this.
32564
20011694 325652008-07-17 Bean <bean123ch@gmail.com>
32566
32567 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 32568 (appleldr_mod_SOURCE): New variable.
20011694 32569 (appleldr_mod_CFLAGS): Likewise.
32570 (appleldr_mod_LDFLAGS): Likewise.
32571 (pci_mod_SOURCES): Likewise.
32572 (pci_mod_CFLAGS): Likewise.
32573 (pci_mod_LDFLAGS): Likewise.
32574 (lspci_mod_SOURCES): Likewise.
32575 (lspci_mod_CFLAGS): Likewise.
32576 (lspci_mod_LDFLAGS): Likewise.
32577
32578 * conf/x86_64-efi.rmk: New file.
32579
32580 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
32581 macro.
32582 (grub_efidisk_write): Likewise.
32583
32584 * include/efi/api.h (efi_call_0): New macro.
32585 (efi_call_1): Likewise.
32586 (efi_call_2): Likewise.
32587 (efi_call_3): Likewise.
32588 (efi_call_4): Likewise.
32589 (efi_call_5): Likewise.
32590 (efi_call_6): Likewise.
32591
32592 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
32593 grub_rescue_cmd_chainloader.
32594
32595 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
32596 (grub_pe32_optional_header): Change some fields based on i386 or
32597 x86_64 platform.
32598 (GRUB_PE32_PE32_MAGIC): Likewise.
32599
32600 * include/grub/efi/uga_draw.h: New file.
32601
32602 * include/grub/elf.h (STN_ABS): New constant.
32603 (R_X86_64_NONE): Relocation constant for x86_64.
32604 (R_X86_64_64): Likewise.
32605 (R_X86_64_PC32): Likewise.
32606 (R_X86_64_GOT32): Likewise.
32607 (R_X86_64_PLT32): Likewise.
32608 (R_X86_64_COPY): Likewise.
32609 (R_X86_64_GLOB_DAT): Likewise.
32610 (R_X86_64_JUMP_SLOT): Likewise.
32611 (R_X86_64_RELATIVE): Likewise.
32612 (R_X86_64_GOTPCREL): Likewise.
32613 (R_X86_64_32): Likewise.
32614 (R_X86_64_32S): Likewise.
32615 (R_X86_64_16): Likewise.
32616 (R_X86_64_PC16): Likewise.
32617 (R_X86_64_8): Likewise.
32618 (R_X86_64_PC8): Likewise.
32619
32620 * include/grub/i386/efi/pci.h: New file.
32621
32622 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
32623 Change it value based on platform.
32624 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
32625 (GRUB_E820_RAM): Likewise.
32626 (GRUB_E820_RESERVED): Likewise.
32627 (GRUB_E820_ACPI): Likewise.
32628 (GRUB_E820_NVS): Likewise.
32629 (GRUB_E820_EXEC_CODE): Likewise.
32630 (GRUB_E820_MAX_ENTRY): Likewise.
32631 (grub_e820_mmap): New structure.
32632 (linux_kernel_header): Change the efi field according to different
32633 kernel version, also field from linux_kernel_header.
32634
32635 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
32636
32637 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
32638 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
32639 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
32640 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
32641 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
32642 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
32643 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
32644 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
32645 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
32646 (GRUB_PCI_ADDR_IO_MASK): Likewise.
32647
32648 * include/grub/x86_64/efi/kernel.h: New file.
32649
32650 * include/grub/x86_64/efi/loader.h: Likewise.
32651
32652 * include/grub/x86_64/efi/machine.h: Likewise.
32653
32654 * include/grub/x86_64/efi/pci.h: Likewise.
32655
32656 * include/grub/x86_64/efi/time.h: Likewise.
32657
32658 * include/grub/x86_64/linux.h: Likewise.
32659
32660 * include/grub/x86_64/setjmp.h: Likewise.
32661
32662 * include/grub/x86_64/time.h: Likewise.
32663
32664 * include/grub/x86_64/types.h: Likewise.
32665
32666 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
32667 GRUB_TARGET_SIZEOF_VOID_P.
32668
32669 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
32670 (grub_efi_locate_handle): Likewise.
32671 (grub_efi_open_protocol): Likewise.
32672 (grub_efi_set_text_mode): Likewise.
32673 (grub_efi_stall): Likewise.
32674 (grub_exit): Likewise.
32675 (grub_reboot): Likewise.
32676 (grub_halt): Likewise.
32677 (grub_efi_exit_boot_services): Likewise.
32678 (grub_get_rtc): Likewise.
32679
32680 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
32681 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
32682 (grub_efi_allocate_pages): Wrap efi calls.
32683 (grub_efi_free_pages): Wrap efi calls.
32684 (grub_efi_get_memory_map): Wrap efi calls.
32685
32686 * kern/x86_64/dl.c: New file.
32687
32688 * kern/x86_64/efi/callwrap.S: Likewise.
32689
32690 * kern/x86_64/efi/startup.S: Likewise.
32691
32692 * loader/efi/appleloader.c: Likewise.
32693
32694 * loader/efi/chainloader.c (cmdline): New variable.
32695 (grub_chainloader_unload): Wrap efi calls.
32696 (grub_chainloader_boot): Likewise.
32697 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
32698 command line.
32699
32700 * loader/efi/chainloader_normal.c (chainloader_command):
32701 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
32702 command line.
32703
32704 * loader/i386/efi/linux.c (allocate_pages): Change allocation
32705 method.
32706 (grub_e820_add_region): New function.
32707 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
32708 booting.
32709 (grub_find_video_card): New function.
32710 (grub_linux_setup_video): New function.
32711 (grub_rescue_cmd_linux): Probe for video information.
32712
32713 * normal/x86_64/setjmp.S: New file.
32714
32715 * term/efi/console.c (map_char): New function.
32716 (grub_console_putchar): Map unicode char.
32717 (grub_console_checkkey): Wrap efi calls.
32718 (grub_console_getkey): Likewise.
32719 (grub_console_getwh): Likewise.
32720 (grub_console_gotoxy): Likewise.
32721 (grub_console_cls): Likewise.
32722 (grub_console_setcolorstate): Likewise.
32723 (grub_console_setcursor): Likewise.
32724
32725 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
32726
59652a20 327272008-07-16 Pavel Roskin <proski@gnu.org>
32728
ef294055 32729 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
32730 format strings.
32731
59652a20 32732 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
32733 pointer, not an integer. This fixes a warning and prevents
32734 precision loss on 64-bit systems.
32735 (relocate_addresses): Remove unneeded cast.
32736
afc3b5d7 327372008-07-15 Pavel Roskin <proski@gnu.org>
32738
506b2b3e 32739 * kern/i386/ieee1275/init.c: Include grub/cache.h.
32740
62ead89c 32741 * term/ieee1275/ofconsole.c: Disable code unused on i386.
32742
c4cd51d7 32743 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
32744 Fix comparison between signed and unsigned.
32745
0d3d8f28 32746 * include/grub/i386/ieee1275/console.h: Declare
32747 grub_console_init() and grub_console_fini().
32748
8804b286 32749 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
32750 It's empty and unused.
32751
ee01cf35 32752 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
32753 beginning to avoid warnings with some compilers.
32754
afc3b5d7 32755 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
32756 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
32757
e4e8eaa5 327582008-07-14 Pavel Roskin <proski@gnu.org>
32759
407aceb4 32760 * kern/env.c (grub_register_variable_hook): Don't copy empty
32761 string, it leaks memory. Pass "" to grub_env_set(), it should
32762 handle constant strings.
32763
e4e8eaa5 32764 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
32765 * commands/cmp.c (grub_cmd_cmp): Likewise.
32766 * kern/dl.c (grub_dl_flush_cache): Likewise.
32767 (grub_dl_load_core): Likewise.
32768 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
32769 (grub_elf64_load_phdrs): Likewise.
32770
d4e2dad3 327712008-07-13 Pavel Roskin <proski@gnu.org>
32772
32773 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
32774 between signed and unsigned.
32775 (LzmaEnc_Finish): Fix warning about an unused parameter.
32776
aa24b516 327772008-07-13 Bean <bean123ch@gmail.com>
32778
32779 * Makefile.in (enable_lzo): New rule.
32780
32781 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
32782
32783 * configure.ac (ENABLE_LZO): New option --enable-lzo.
32784
32785 * boot/i386/pc/lnxboot.S: #include <config.h>.
32786
32787 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 32788 its value according to the compression algorithm used, lzo or lzma.
aa24b516 32789
32790 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
32791 compression algorithm according to configure macro.
32792
32793 * kern/i386/pc/startup.S (codestart): Likewise.
32794
32795 * kern/i386/pc/lzma_decode.S: New file.
32796
32797 * include/grub/lib/LzFind.h: Likewise.
32798
32799 * include/grub/lib/LzHash.h: Likewise.
32800
32801 * include/grub/lib/LzmaDec.h: Likewise.
32802
32803 * include/grub/lib/LzmaEnc.h: Likewise.
32804
32805 * include/grub/lib/LzmaTypes.h: Likewise.
32806
32807 * lib/LzFind.c: Likewise.
32808
32809 * lib/LzmaDec.c: Likewise.
32810
32811 * lib/LzmaEnc.c: Likewise.
32812
4ae821ac 328132008-07-13 Bean <bean123ch@gmail.com>
32814
32815 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
32816 (grub_ext4_extent_header): New structure.
32817 (grub_ext4_extent): Likewise.
32818 (grub_ext4_extent_idx): Likewise.
32819 (grub_ext4_find_leaf): New function.
32820 (grub_ext2_read_block): Handle extents.
32821
9a745147 328222008-07-12 Robert Millan <rmh@aybabtu.com>
32823
32824 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
32825
d49a4cf6 328262008-07-11 Robert Millan <rmh@aybabtu.com>
32827
32828 * util/grub.d/40_custom.in: New file. Example on how to add custom
32829 entries to /etc/grub.d.
32830 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
32831 40_custom (implicitly, by merging all the grub.d rules).
32832
947414b4 328332008-07-11 Pavel Roskin <proski@gnu.org>
32834
0059cf6f 32835 * commands/read.c (grub_getline): Fix invalid memory access.
32836 Don't add newline to the variable value.
32837
947414b4 32838 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
32839 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
32840 (serial_hw_get_port): Check validity of the port number.
32841 (grub_cmd_serial): Check return value of serial_hw_get_port().
32842
62a02d00 328432008-07-07 Pavel Roskin <proski@gnu.org>
32844
32845 * boot/i386/pc/diskboot.S (notification_string): Replace
32846 "Loading kernel" with just "loading". This is shorter, less
32847 confusing and saves a few bytes for possible future changes.
32848
3e5581b0 328492008-07-05 Pavel Roskin <proski@gnu.org>
32850
ea387a48 32851 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
32852 size for ATAPI devices, they are undefined. Output sector
32853 number in decimal form.
32854
3e5581b0 32855 * disk/ata.c: Use named constants for status bits.
32856
fdecb8fd 328572008-07-04 Pavel Roskin <proski@gnu.org>
32858
bcd35b90 32859 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
32860 grub_addr_t before casting it to the void pointer to fix a
32861 warning. Non-addressable regions are discarded earlier.
32862 (grub_arch_modules_addr): Cast _end to grub_addr_t.
32863 * kern/i386/linuxbios/table.c: Include grub/misc.h.
32864 (check_signature): Don't shadow table_header.
32865 (grub_linuxbios_table_iterate): Cast numeric constants to
32866 grub_linuxbios_table_header_t.
32867 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
32868 grub_stop().
32869
af58ab3d 32870 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
32871 prevent warnings.
32872
1759aa57 32873 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
32874 pointer, which can cause warnings. Support 64-bit addresses.
32875
fdecb8fd 32876 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
32877 of sizeof(long). This fixes PowerPC image generation on x86_64.
32878
8516d2a8 328792008-07-04 Robert Millan <rmh@aybabtu.com>
32880
32881 This fixes a performance issue when pc & gpt partmap iterators
32882 didn't abort iteration even after our hook found what it was
fe987087 32883 looking for (often causing expensive probes of non-existent drives).
8516d2a8 32884
32885 Some callers relied on previous buggy behaviour, since they would
34c44600 32886 raise an error when their own hooks caused early abortion of its
8516d2a8 32887 iteration.
32888
32889 * kern/device.c (grub_device_open): Improve error message.
32890 * disk/lvm.c (grub_lvm_open): Likewise.
32891 * disk/raid.c (grub_raid_open): Likewise.
32892
32893 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
32894 when hook requests it, independently of grub_errno.
32895 (pc_partition_map_probe): Do not fail when find_func() caused
32896 early abortion of pc_partition_map_iterate().
32897
32898 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
32899 when hook requests it, independently of grub_errno.
32900 (gpt_partition_map_probe): Do not fail when find_func() caused
32901 early abortion of gpt_partition_map_iterate().
32902
32903 * kern/partition.c (grub_partition_iterate): Abort parent iteration
32904 when hook requests it, independently of grub_errno. Do not fail when
32905 part_map_iterate_hook() caused early abortion of p->iterate().
32906
32907 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
32908 when grub_partition_iterate() returned with non-zero.
32909
277d0de9 329102008-07-03 Pavel Roskin <proski@gnu.org>
32911
32912 * disk/ata.c (grub_ata_pio_write): Check status before writing,
32913 like we do in grub_ata_pio_read().
32914 (grub_ata_readwrite): Always write individual sectors. Fix the
32915 sector count for the remainder.
32916 (grub_ata_write): Enable writing to ATA devices. Correctly
32917 report error for ATAPI devices.
32918
d4c9b428 329192008-07-02 Pavel Roskin <proski@gnu.org>
32920
e43fc690 32921 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
32922 warning.
32923
f707af42 32924 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
32925 for every read sector, we already increment it for the whole
32926 batch. This fixes reading more than 256 sectors at once.
32927
11e16b15 32928 * util/grub-editenv.c (cmd_info): Cast argument to long
32929 explicitly. ptrdiff_t reduces to int on i386.
32930
cbabfdd4 32931 * util/grub-editenv.c (main): Be specific which parameter is
32932 missing.
32933
b8fbce0a 32934 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
32935 (memdisk): Make memdisk_orig_addr a pointer.
32936
c9c8e606 32937 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
32938 for file offsets, use grub_off_t instead. Fix printf format
32939 warnings.
32940
ca62e598 32941 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
32942 there. Real unexpected warnings should not drown in the noise
32943 about known problems.
32944
ce8d1766 32945 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
32946 grub_disk_addr_t for memory addresses.
32947
00c7a56a 32948 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
32949 explicitly to fix a warning.
32950
08d3ef09 32951 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
32952
cb71ba20 32953 * Makefile.in (MODULE_LDFLAGS): New variable.
32954 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
32955 the linker accepts --build-id=none.
32956 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
32957 MODULE_LDFLAGS.
32958 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
32959
d4c9b428 32960 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
32961 those in Linux XFS code. Provide a way to access 64-bit parent
32962 inode.
32963 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
32964 the end of struct grub_xfs_dir_header.
32965
d4156eee 329662008-07-02 Bean <bean123ch@gmail.com>
32967
32968 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
32969 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
32970 and GRUB_IEEE1275_FLAG_NO_ANSI.
32971
32972 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
32973 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
32974 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
32975
32976 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
32977 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
32978
32979 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
32980 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
32981
32982 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
32983 esc sequence on non ANSI terminal.
32984 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
32985
32986 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
32987 beginning of file.
32988
2270f77b 329892008-07-02 Bean <bean123ch@gmail.com>
32990
32991 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
32992 (grub_editenv_SOURCES): New variable.
32993 (pkglib_MODULES): Add loadenv.mod.
32994 (loadenv_mod_SOURCES): New variable.
32995 (loadenv_mod_CFLAGS): Likewise.
32996 (loadenv_mod_LDFLAGS): Likewise.
32997
32998 * include/grub/envblk.h: New file.
32999
33000 * util/envblk.c: New file.
33001
33002 * util/grub-editenv.c: New file.
33003
33004 * commands/loadenv.c: New file.
33005
0e9e51ec 330062008-07-01 Pavel Roskin <proski@gnu.org>
33007
d89b7634 33008 * include/multiboot2.h (struct multiboot_tag_module): Use char,
33009 not unsigned char. This fixes warnings and is consistent with
33010 other tags.
33011
bf1835b1 33012 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
33013
8222a04b 33014 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
33015
6a42d99d 33016 * term/tparm.c (analyze): Always set *popcount.
33017
10b159d1 33018 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
33019 cast to fix a warning.
33020
b8789f6c 33021 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
33022 cast to suppress a warning.
33023
29d7e38a 33024 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
33025 grub_fshelp_read_file() expects.
33026
f341f669 33027 * fs/fat.c: Fix UUID calculation on big-endian systems. We
33028 write uuid as a 32-bit value in CPU byte order, so declare and
33029 use it as such.
33030
0e9e51ec 33031 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
33032 long if the format specifier expects it.
33033 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
33034 * partmap/pc.c (pc_partition_map_iterate): Likewise.
33035 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
33036 long to fix a warning.
33037 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
33038 grub_dprintf() arguments to fix warnings.
33039
3aefa857 330402008-06-30 Pavel Roskin <proski@gnu.org>
33041
56c7668b 33042 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
33043 install_bsd_part immediately before core.img is embedded or
33044 modified on disk. This fixes core.img verification if core.img
33045 cannot be embedded.
33046
3aefa857 33047 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
33048 core_path to calculate the blocklist.
33049 Patch from Javier Martín <lordhabbit@gmail.com>
33050
5444088d 330512008-06-29 Robert Millan <rmh@aybabtu.com>
33052
33053 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
33054 block to disk block.
33055 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
33056 Patch from Niels Böhm <bitbucket@arcor.de>
33057
674835c8 330582008-06-29 Robert Millan <rmh@aybabtu.com>
33059
33060 * util/update-grub_lib.in (font_path): Search for fonts in
33061 /boot/grub first, which is more likely to be readable (we aren't
33062 deciding where fonts live, just looking for them).
33063
f527dbc8 330642008-06-26 Pavel Roskin <proski@gnu.org>
33065
6c2d8df6 33066 * util/biosdisk.c (read_device_map): Don't leave dead map
33067 entries for devices failing stat() check.
33068
f527dbc8 33069 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
33070 core_path_dev for the core.img path on the target device.
33071
aebe3d13 330722008-06-26 Robert Millan <rmh@aybabtu.com>
33073
33074 * disk/fs_uuid.c: New file.
33075 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
33076 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
33077 (fs_uuid_mod_LDFLAGS): New variables.
33078 * include/grub/disk.h (grub_disk_dev_id): Add
33079 `GRUB_DISK_DEVICE_UUID_ID'.
33080 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
33081 implement iterate().
33082
37aaf354 330832008-06-26 Robert Millan <rmh@aybabtu.com>
33084
33085 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
33086 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
33087 Linux image includes no initrd.
33088
25ff262a 330892008-06-21 Javier Martín <lordhabbit@gmail.com>
33090
33091 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
33092 call to resolve the core image location that effectively appended the
33093 name twice.
33094
76a2bd44 330952008-06-21 Robert Millan <rmh@aybabtu.com>
33096
33097 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
33098 call from here ...
33099
33100 * util/grub.d/10_hurd.in: ... to here ...
33101 * util/grub.d/10_linux.in: ... and here.
33102
650e1c79 331032008-06-19 Robert Millan <rmh@aybabtu.com>
33104
fe987087 33105 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 33106 after it has been set by grub_machine_set_prefix().
33107
6ce63911 331082008-06-19 Robert Millan <rmh@aybabtu.com>
33109
33110 * commands/search.c (search_label, search_fs_uuid, search_file): Print
33111 search result when not saving to variable, not the other way around.
33112 When saving to variable, abort iteration as soon as a match is found.
33113
73940cec 331142008-06-19 Robert Millan <rmh@aybabtu.com>
33115
33116 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
33117 check for partition that provides /boot/grub. Its logic is flawed,
33118 as it prevents prepare_grub_to_access_device() from being called
33119 multiple times.
33120
3c62a39d 331212008-06-19 Robert Millan <rmh@aybabtu.com>
33122
33123 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
33124 "insmod" command directly when abstraction modules are needed,
fe987087 33125 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 33126 since it had already been processed).
33127
47395a42 331282008-06-19 Pavel Roskin <proski@gnu.org>
33129
33130 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
33131 changed. This is needed in case GRUB_LIBDIR changes.
33132 * conf/i386-ieee1275.rmk: Likewise.
33133 * conf/i386-linuxbios.rmk: Likewise.
33134 * conf/i386-pc.rmk: Likewise.
33135 * conf/powerpc-ieee1275.rmk: Likewise.
33136
a145ac2d 331372008-06-18 Pavel Roskin <proski@gnu.org>
33138
33139 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
33140 kernel_elf_symlist.c to symlist.c for consistency with other
33141 architectures. Update all users.
33142 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
33143
7847c51e 331442008-06-18 Robert Millan <rmh@aybabtu.com>
33145
33146 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
33147 it in prefix.
33148
33149 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
33150 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
33151 a RAID device, run setup() for all members independently on whether
33152 LVM abstraction is being used.
33153 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
33154 If grub-mkimage has set `*install_dos_part == -2', don't override this
33155 value.
33156 Perform *install_dos_part adjustments independently on whether
33157 we're embedding or not.
33158 Clarify error message when image is too big for embedding.
33159 Remove duplicate *install_dos_part stanza.
33160
b23e5644 331612008-06-17 Robert Millan <rmh@aybabtu.com>
33162
33163 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
33164 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
33165 variables.
33166 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
33167 values in grub_ofconsole_normal_color and
33168 grub_ofconsole_highlight_color (they're not directly related to
33169 background and foreground).
33170 (grub_ofconsole_setcolorstate): Extract background and foreground
33171 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
33172
0aac2f79 331732008-06-17 Robert Millan <rmh@aybabtu.com>
33174
33175 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
33176 /boot/grub for the check in last commit, not /boot (they could be
33177 different partitions).
33178
3cca7ef3 331792008-06-16 Robert Millan <rmh@aybabtu.com>
33180
33181 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
33182 asked to setup access for the same partition that provides /boot,
33183 don't bother using UUIDs since our root already has the value we
33184 want.
33185
347396d8 331862008-06-16 Robert Millan <rmh@aybabtu.com>
33187
33188 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
33189 I2O devices.
33190 Patch from Sven Mueller <sven@debian.org>.
33191
991477f8 331922008-06-16 Robert Millan <rmh@aybabtu.com>
33193
33194 * util/update-grub.in: Check for $EUID instead of $UID.
33195 Reported by Vincent Zweije.
33196
d31a32a1 331972008-06-16 Bean <bean123ch@gmail.com>
33198
fe987087 33199 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 33200 (grub_ext2_read_block): Likewise.
33201 (grub_ext2_read_inode): Likewise.
33202 (grub_ext2_mount): Likewise.
33203 (grub_ext2_close): Likewise.
33204 (grub_ext3_get_journal): Removed.
33205
fe987087 33206 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 33207 (grub_reiserfs_read_symlink): Likewise.
33208 (grub_reiserfs_mount): Likewise.
33209 (grub_reiserfs_open): Likewise.
33210 (grub_reiserfs_read): Likewise.
33211 (grub_reiserfs_close): Likewise.
33212 (grub_reiserfs_get_journal): Removed.
33213
33214 * fs/fshelp.c (grub_fshelp_read): Removed.
33215 (grub_fshelp_map_block): Likewise.
33216
33217 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
33218 (grub_fshelp_journal): Likewise.
33219 (grub_fshelp_read): Likewise.
33220 (grub_fshelp_map_block): Likewise.
33221
3540a760 332222008-06-16 Pavel Roskin <proski@gnu.org>
33223
33224 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
33225 floating point anymore.
33226 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
33227
95614c84 332282008-06-15 Pavel Roskin <proski@gnu.org>
33229
33230 * commands/ls.c (grub_ls_list_files): Use integer calculations
33231 for human readable format, avoid floating point use.
33232 * kern/misc.c (grub_ftoa): Remove.
33233 (grub_vsprintf): Remove floating point support.
33234
50465dd6 332352008-06-15 Robert Millan <rmh@aybabtu.com>
33236
fe6b695a 33237 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 33238 devices.
33239 Reported by Max Vozeler.
33240
a9207284 332412008-06-15 Robert Millan <rmh@aybabtu.com>
33242
33243 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
33244 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
33245 skipped later.
33246 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
33247 the beginning of the prefix.
33248
33249 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
33250 It is assumed that if we have a memdisk, grub-mkimage has set
33251 grub_prefix to include the "(memdisk)" drive in it.
33252
a7cbd45a 332532008-06-15 Robert Millan <rmh@aybabtu.com>
33254
33255 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
33256 Initialize keyboard controller after registering the terminal, so that
33257 grub_printf() can be called from grub_keyboard_controller_init().
33258
21cf716a 332592008-06-15 Robert Millan <rmh@aybabtu.com>
33260
33261 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
33262 extent-btree which is written as big endian on disk.
33263 Reported by Alain Greppin <al@chilibi.org>.
33264
23a64d8e 332652008-06-14 Robert Millan <rmh@aybabtu.com>
33266
33267 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
33268 * util/i386/pc/grub-install.in (modules): Likewise.
33269
d687651c 332702008-06-13 Pavel Roskin <proski@gnu.org>
33271
33272 * commands/ls.c (grub_ls_list_files): Fix format warnings.
33273
dfe9ddd4 332742008-06-13 Bean <bean123ch@gmail.com>
33275
33276 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
33277
33278 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
33279
33280 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
33281 to indicate sparse block.
33282
16ae7781 332832008-06-12 Pavel Roskin <proski@gnu.org>
33284
e6d1a308 33285 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
33286 number, grub_fshelp_read() does it for us.
33287
16ae7781 33288 * fs/fshelp.c (grub_fshelp_read): New function. Implement
33289 linear disk read with journal translation.
33290 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
33291 * include/grub/fshelp.h: Declare grub_fshelp_read().
33292
40fd3a2b 332932008-06-09 Pavel Roskin <proski@gnu.org>
33294
33295 * fs/minix.c (grub_minix_mount): Handle error reading
33296 superblock.
33297
f5679726 332982008-06-08 Robert Millan <rmh@aybabtu.com>
33299
33300 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
33301 don't append the RAID prefix afterwards.
33302 Reported by Clint Adams.
33303
ce525529 333042008-06-08 Robert Millan <rmh@aybabtu.com>
33305
33306 Based on description from Pavel:
33307 * kern/disk.c (grub_disk_check_range): Rename to ...
33308 (grub_disk_adjust_range): ... this. Add a comment explaining the
33309 tasks performed by this function.
33310
ad4936a0 333112008-06-08 Robert Millan <rmh@aybabtu.com>
33312
33313 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
33314 `num_serial' (for consistency with other variables).
33315 (struct grub_ntfs_data): Add `uuid' member.
33316 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
33317 (grub_ntfs_uuid): New function.
33318 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
33319
dc20b0f9 333202008-06-07 Pavel Roskin <proski@gnu.org>
33321
33322 * util/biosdisk.c (open_device): Revert last change to the
33323 function, it broke installation. The sector needs to be
33324 different dependent on which device is opened.
33325
c5e3cfba 333262008-06-06 Robert Millan <rmh@aybabtu.com>
33327
33328 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
33329 rest of GRUB, and breakage doesn't happen if its value were modified.
33330
33331 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
33332 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
33333 a constant (same value).
33334 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
33335 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
33336
26a1f8c4 333372008-06-06 Robert Millan <rmh@aybabtu.com>
33338
33339 * util/biosdisk.c (open_device): Do not modify sector offset when
33340 accessing a partition. kern/disk.c already handles this for us.
33341
25d6b327 333422008-06-06 Robert Millan <rmh@aybabtu.com>
33343
33344 * util/grub-emu.c (grub_machine_init): Move code in this function from
33345 here ...
33346 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
33347 segfault in case grub_printf() is called).
33348
33349 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
33350 grub_probe. Update all users not to explicitly add it again.
33351 (grub_device): New variable; contains corresponding device for grubdir.
33352 (fs_module, partmap_module, devabstraction_module): Pass
33353 `--device ${grub_device}' to grub_probe to avoid traversing /dev
33354 every time.
33355
9ece62fb 333562008-06-05 Robert Millan <rmh@aybabtu.com>
33357
33358 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
33359 is found, print it (same layout as with labels).
33360
1ad36d37 333612008-06-04 Robert Millan <rmh@aybabtu.com>
33362
33363 * util/biosdisk.c (get_drive): Rename to ...
33364 (find_grub_drive): ... this. Update all users.
33365
33366 (get_os_disk): Rename to ...
33367 (convert_system_partition_to_system_disk): ... this. Update all users.
33368
33369 (find_drive): Rename to ...
33370 (find_system_device): ... this. Update all users.
33371
e6a30859 333722008-06-04 Robert Millan <rmh@aybabtu.com>
33373
33374 * util/biosdisk.c (get_os_disk): Handle IDA devices.
33375 * util/grub-mkdevicemap.c (get_mmc_disk_name)
33376 (make_device_map): Likewise.
33377
00c108a4 333782008-06-01 Robert Millan <rmh@aybabtu.com>
33379
33380 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
33381 before dereferencing it.
33382
33383 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
33384 union with fat12/fat16-specific ones. Add some new fields, including
33385 `num_serial' for both versions.
33386 (struct grub_fat_data): Add `uuid' member.
33387 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
33388 names. Initialize `data->uuid' using `num_serial'.
33389 (grub_fat_uuid): New function.
33390 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
33391
33392 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
33393 (grub_reiserfs_uuid): New function.
33394 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
33395 member.
33396
33397 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
33398 (grub_xfs_uuid): New function.
33399 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
33400
1385c5bb 334012008-06-01 Robert Millan <rmh@aybabtu.com>
33402
33403 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
33404 code that is backward compatible with pre-uuid search command.
33405
c682dfd7 334062008-05-31 Robert Millan <rmh@aybabtu.com>
33407
33408 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
33409 floppies after everything else, to ensure floppy drive isn't accessed
33410 unnecessarily (patch from Bean).
33411
b7db5d47 334122008-05-31 Robert Millan <rmh@aybabtu.com>
33413
33414 * commands/search.c (search_label, search_fs_uuid, search_file): Do
33415 not print device names when we were asked to set a variable.
33416
6e037aa9 334172008-05-31 Robert Millan <rmh@aybabtu.com>
33418
33419 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
33420 using "cursor-on" and "cursor-off" commands (understood at least by
33421 the Open Firmware flavour on OLPC).
33422
41305bc8 334232008-05-31 Michael Gorven <michael@gorven.za.net>
33424
33425 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
33426 on and off sequences.
33427
69ba137e 334282008-05-31 Robert Millan <rmh@aybabtu.com>
33429
33430 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
33431 * util/update-grub.in: Likewise.
33432
520ae21b 334332008-05-30 Pavel Roskin <proski@gnu.org>
33434
33435 * util/biosdisk.c (linux_find_partition): Simplify logic and
33436 make the code more universal. Keep special processing for
33437 devfs, but use a simple rule for all other devices. If the
33438 device ends with a number, append 'p' and the partition number.
33439 Otherwise, append only the partition number.
33440
5786569b 334412008-05-30 Robert Millan <rmh@aybabtu.com>
33442
33443 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
33444 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
33445 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
33446 the `root' parameter to Linux.
33447
51500452 334482008-05-30 Robert Millan <rmh@aybabtu.com>
33449
33450 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
33451 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
33452 --fs_uuid with --fs-uuid.
33453 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
33454 all filesystems support them).
33455
811d3878 334562008-05-30 Robert Millan <rmh@aybabtu.com>
33457
33458 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 33459 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 33460
cab63c95 334612008-05-30 Robert Millan <rmh@aybabtu.com>
33462
33463 * util/grub.d/00_header.in: Remove obsolete comment referencing
33464 convert_system_path_to_grub_path().
33465 * util/update-grub.in: Likewise.
33466 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
33467 (convert_system_path_to_grub_path): Add a warning message explaining
33468 that this function is deprecated. Rely on is_path_readable_by_grub()
33469 for the readability checks.
33470 (font_path): Use is_path_readable_by_grub() for the readability
33471 check rather than convert_system_path_to_grub_path().
33472
972e2f7a 334732008-05-30 Robert Millan <rmh@aybabtu.com>
33474
33475 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
33476 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
33477 converting it first.
33478 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
33479 grub.cfg for access to font file, and afterwards call it again to set
33480 the root device.
33481
62191274 334822008-05-30 Robert Millan <rmh@aybabtu.com>
33483
33484 * commands/search.c (options): Add --fs_uuid option.
33485 (search_fs_uuid): New function.
33486 (grub_cmd_search): Fix --set argument passing.
33487 Use search_fs_uuid() when requested via --fs_uuid.
33488 (grub_search_init): Update help message.
33489 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
33490 and redeclare it as an array of 16-bit words.
33491 (grub_ext2_uuid): New function.
33492 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
33493 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
33494 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
33495 (GRUB_DEVICE_BOOT_UUID): New variables.
33496 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
33497 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
33498 whenever possible.
33499 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
33500 just assume `root' variable has the right value.
33501 * util/grub.d/10_linux.in: Likewise.
33502 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
33503 via PRINT_FS_UUID.
33504 (main): Recognise `-t fs_uuid' argument.
33505
01b73ec8 335062008-05-30 Robert Millan <rmh@aybabtu.com>
33507
33508 * util/biosdisk.c (map): Redefine structure to hold information
33509 about GRUB drive name.
fe6b695a 33510 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 33511 drive names.
33512 (call_hook): Remove.
33513 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
33514 member. Assume drive has partitions.
33515 (grub_util_biosdisk_open): Access device names via `.device' struct
33516 member.
33517 (open_device): Likewise.
33518 (find_drive): Likewise.
33519 (read_device_map): Adjust map[] usage to match the new struct
33520 definition. Don't check for duplicates (still possible, but not cheap
33521 anymore).
33522 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
33523 (make_device_name): Remove assumption of BIOS-like drive names.
33524
22f16596 335252008-05-30 Pavel Roskin <proski@gnu.org>
33526
33527 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
33528 compiling execute.c doesn't need grub_script.tab.h anymore.
33529 (normal/command.c_DEPENDENCIES): Likewise.
33530 (normal/function.c_DEPENDENCIES): Likewise.
33531 * conf/i386-ieee1275.rmk: Likewise.
33532 * conf/i386-linuxbios.rmk: Likewise.
33533 * conf/i386-pc.rmk: Likewise.
33534 * conf/powerpc-ieee1275.rmk: Likewise.
33535 * conf/sparc64-ieee1275.rmk: Likewise.
33536
528ad8f2 335372008-05-29 Pavel Roskin <proski@gnu.org>
33538
d1dff95d 33539 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
33540 when scanning metadata for volume group name.
33541
528ad8f2 33542 * include/grub/script.h: Don't include grub_script.tab.h. It's
33543 a generated file, which may only be included from the files with
33544 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
33545 use union YYSTYPE, as the later allows forward declaration.
33546 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
33547
47248e08 335482008-05-29 Robert Millan <rmh@aybabtu.com>
33549
33550 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
33551 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
33552 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
33553 (grub_console_checkkey): Add grub_dprintf() call to report unknown
33554 scan codes.
33555
ee632529 335562008-05-29 Robert Millan <rmh@aybabtu.com>
33557
33558 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
33559 control key combinations.
33560
eee96e08 335612008-05-29 Robert Millan <rmh@aybabtu.com>
33562
33563 * util/powerpc/ieee1275/grub-install.in: Move from here ...
33564 * util/ieee1275/grub-install.in: ... to here.
33565 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
33566 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
33567 (grub_install_SOURCES): Likewise.
33568
da9a6a94 335692008-05-29 Robert Millan <rmh@aybabtu.com>
33570
33571 * fs/affs.c: Update copyright year.
33572 * fs/ext2.c: Likewise.
33573 * fs/fshelp.c: Likewise.
33574 * fs/hfsplus.c: Likewise.
33575 * fs/ntfs.c: Likewise.
33576 * fs/xfs.c: Likewise.
33577 * include/grub/fshelp.h: Likewise.
33578 * util/grub-mkdevicemap.c: Likewise.
33579
12e65f3a 335802008-05-28 Robert Millan <rmh@aybabtu.com>
33581
33582 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
33583 might need to be fatfs to support some firmware implementations
33584 (e.g. OFW or EFI).
33585
23023641 335862008-05-28 Robert Millan <rmh@aybabtu.com>
33587
33588 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
33589 devices.
33590 * util/grub-mkdevicemap.c (get_mmc_disk_name)
33591 (make_device_map): Likewise.
33592
887d2619 335932008-05-20 Bean <bean123ch@gmail.com>
33594
33595 * fs/fshelp.c (grub_fshelp_map_block): New function.
33596 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
33597 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
33598
33599 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
33600 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
33601 (grub_fshelp_journal): New structure.
33602 (grub_fshelp_map_block): New function prototype.
33603 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
33604 (grub_fshelp_map_block): Likewise.
33605
33606 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
33607 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
33608 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
33609 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
33610 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
33611 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
33612 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
33613 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
33614 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
33615 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
33616 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
33617 (grub_ext2_sblock): New members for journal support.
33618 (grub_ext3_journal_header): New structure.
33619 (grub_ext3_journal_revoke_header): Likewise.
33620 (grub_ext3_journal_block_tag): Likewise.
33621 (grub_ext3_journal_sblock): Likewise.
33622 (grub_fshelp_node): New members logfile and journal.
33623 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
33624 grub_fshelp_map_block to get real block number.
33625 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
33626 number.
33627 (grub_ext2_read_inode): Likewise.
33628 (grub_ext3_get_journal): New function.
33629 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
33630 (grub_ext2_close): Release memory used by journal.
33631
33632 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
33633 (REISERFS_MAGIC_DESC_BLOCK): New macro.
33634 (grub_reiserfs_transaction_header): Renamed to
33635 grub_reiserfs_description_block, replace field data with real_blocks.
33636 (grub_reiserfs_commit_block): New structure.
33637 (grub_reiserfs_data): New member journal.
33638 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
33639 number.
33640 (grub_reiserfs_read_symlink): Likewise.
33641 (grub_reiserfs_iterate_dir): Likewise.
33642 (grub_reiserfs_open): Likewise.
33643 (grub_reiserfs_read): Likewise.
33644 (grub_reiserfs_get_journal): New function.
33645 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
33646 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
33647 using grub_reiserfs_get_journal.
33648 (grub_reiserfs_close): Release memory used by journal.
33649
33650 * fs/affs.c (grub_affs_read_block): Change block type to
33651 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
33652
33653 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
33654
33655 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
33656
33657 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
33658
33659 * fs/udf.c (grub_udf_read_block): Change block type to
33660 grub_disk_addr_t. Use type cast to avoid warning.
33661
33662 * fs/xfs.c (grub_xfs_read_block): Likewise.
33663
b7c6bed5 336642008-05-16 Christian Franke <franke@computer.org>
33665
33666 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
33667 to ensure that break with ESC will always work.
33668 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
33669 Remove ESC from keyboard queue.
33670
eedf167f 336712008-05-16 Christian Franke <franke@computer.org>
33672
33673 * util/biosdisk.c: [__CYGWIN__] Add includes.
33674 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
33675 (get_os_disk): Move variable declarations to OS specific
33676 parts to avoid warning.
33677 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
33678 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
33679 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
33680 Cygwin.
33681 * util/getroot.c: [__CYGWIN__] Add includes.
33682 (strip_extra_slashes): Fix "/" case.
33683 [__CYGWIN__] (get_win32_path): New function.
33684 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
33685 [__CYGWIN__] (find_root_device): Disable.
33686 [__CYGWIN__] (get_bootsec_serial): New function.
33687 [__CYGWIN__] (find_cygwin_root_device): Likewise.
33688 [__linux__] (grub_guess_root_device): Add early returns to simplify
33689 structure.
33690 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
33691 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
33692 check for Linux only.
33693
a079699e 336942008-05-15 Bean <bean123ch@gmail.com>
33695
33696 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
33697 keyboard hang problem in apple's intel mac.
33698
1cf4059a 336992008-05-09 Robert Millan <rmh@aybabtu.com>
33700
33701 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
33702 devices.
33703 * util/grub-mkdevicemap.c (get_virtio_disk_name)
33704 (make_device_map): Likewise.
33705 Reported by Aurelien Jarno <aurel32@debian.org>
33706
ed759390 337072008-05-07 Ian Campbell <ijc@hellion.org.uk>
33708
33709 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
33710 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
33711 (make_device_map): Output entries for xvd type disks.
33712
b56c4eaa 337132008-05-07 Robert Millan <rmh@aybabtu.com>
33714
33715 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
33716 devices.
33717 * util/grub-mkdevicemap.c (get_cciss_disk_name)
33718 (make_device_map): Likewise.
33719 Reported by Roland Dreier <rdreier@cisco.com>
33720
7f8866ed 337212008-05-07 Robert Millan <rmh@aybabtu.com>
33722
33723 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
33724 grub_strstr() call. Correct a few mistakes in failure path handling.
33725
b0346e0f 337262008-05-06 Robert Millan <rmh@aybabtu.com>
33727
33728 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
33729 Do not print a trailing slash (therefore, the root directory is an
33730 empty string).
33731 (convert_system_path_to_grub_path): Do not remove trailing slash
33732 from make_system_path_relative_to_its_root() output.
33733
33734 * util/i386/pc/grub-install.in: Add trailing slash to output from
33735 make_system_path_relative_to_its_root().
33736
6cf12cbd 337372008-05-06 Robert Millan <rmh@aybabtu.com>
33738
33739 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
33740 ensures that output lines aren't intermangled with those sent to
33741 stderr (via grub_util_info()).
33742 * util/grub-probe.c (grub_refresh): Likewise.
33743 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
33744
0fbb3117 337452008-05-05 Christian Franke <franke@computer.org>
33746
33747 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
33748 Add Cygwin device names.
33749 (get_ide_disk_name) [__CYGWIN__]: Likewise.
33750 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
33751 (check_device): Return error instead of success on empty name.
33752 (make_device_map): Move label inside linux specific code to
33753 prevent compiler warning.
33754
8124cdb7 337552008-04-30 Robert Millan <rmh@aybabtu.com>
33756
33757 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
33758 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
33759 first boot option.
33760 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
33761
094c01d0 337622008-04-29 Robert Millan <rmh@aybabtu.com>
33763
33764 * docs/grub.cfg: New file (example GRUB configuration).
33765
f4b1fc02 337662008-04-26 Robert Millan <rmh@aybabtu.com>
33767
329ce2a5 33768 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
33769 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
33770 and `disk/ieee1275/nand.c'.
f4b1fc02 33771
25f16ec1 337722008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 33773
25f16ec1 33774 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
33775 i386-linuxbios.
33776
33777 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
33778 change the buffer size to 4096 for cdrom device.
33779
33780 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
33781 and nand.mod.
33782 (_linux_mod_SOURCES): New variable.
33783 (_linux_mod_CFLAGS): Likewise.
33784 (_linux_mod_LDFLAGS): Likewise.
33785 (linux_mod_SOURCES): Likewise.
33786 (linux_mod_CFLAGS): Likewise.
33787 (linux_mod_LDFLAGS): Likewise.
33788 (nand_mod_SOURCES): Likewise.
33789 (nand_mod_CFLAGS): Likewise.
33790 (nand_mod_LDFLAGS): Likewise.
33791
33792 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
33793 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
33794 type property. (nand device in olpc don't have this property)
33795
33796 * include/grub/disk.h (grub_disk_dev_id): New macro
33797 GRUB_DISK_DEVICE_NAND_ID.
33798
33799 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
33800 function prototype.
33801 (grub_rescue_cmd_initrd): Likewise.
33802
33803 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
33804 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
33805 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 33806
25f16ec1 33807 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
33808 GRUB_MACHINE_IEEE1275 is defined.
33809
33810 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
33811 Use NESTED_FUNC_ATTR attribute on the hook parameter.
33812
33813 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
33814 on nested function heap_init.
33815 (grub_upper_mem): New variable for i386-ieee1275.
33816 (grub_get_extended_memory): New function for i386-ieee1275.
33817 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
33818
33819 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
33820 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
33821 property.
f19dbdb7 33822
25f16ec1 33823 * loader/i386/ieee1275/linux.c: New file.
33824
33825 * loader/i386/ieee1275/linux_normal.c: New file.
33826
33827 * disk/ieee1275/nand.c: New file.
33828
e89d61e9 338292008-04-18 Thomas Schwinge <tschwinge@gnu.org>
33830
33831 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
33832 value.
33833 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
33834
602566f6 338352008-04-18 Robert Millan <rmh@aybabtu.com>
33836
33837 Restructures early code path on ieee1275 to unify grub_main() as
33838 the first C function that is executed in every platform.
33839
33840 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
33841 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
33842 cmain().
33843 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
33844 * kern/ieee1275/cmain.c (cmain): Rename to ...
33845 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
33846 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
33847 at the beginning.
33848
57490c2b 338492008-04-18 Robert Millan <rmh@aybabtu.com>
33850
33851 * util/update-grub.in: Fix syntax error when setting
33852 `GRUB_PRELOAD_MODULES'.
33853 Reported by Stephane Chazelas <stephane@artesyncp.com>
33854
1977517d 338552008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
33856
33857 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
33858 section into account, newer toolchains generate unique build ids
33859 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 33860 we want build ids to be preserved
1977517d 33861 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
33862 far from other sections don't cause the raw binary images grow
33863 size
33864
bfb1f1a2 338652008-04-15 Robert Millan <rmh@aybabtu.com>
33866
33867 * disk/lvm.c: Update copyright year.
33868 * kern/misc.c: Likewise.
33869
01979850 338702008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
33871
33872 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 33873 there is no memory left for physical volume name.
01979850 33874
0a1150e2 338752008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
33876
33877 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
33878 volume name mapping to support bigger than 9 character names properly.
33879
82ead3fe 338802008-04-13 Robert Millan <rmh@aybabtu.com>
33881
33882 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
33883 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
33884
e54a72f5 338852008-04-13 Christian Franke <franke@computer.org>
33886
33887 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
33888 to create a floppy emulation boot CD when non emulation mode
33889 does not work.
33890 Enable Joliet CD filesystem extension.
33891
9fe86034 338922008-04-13 Robert Millan <rmh@aybabtu.com>
33893
33894 * kern/misc.c (grub_strncat): Fix off-by-one error.
33895 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
33896
33897 * kern/env.c (grub_env_context_close): Clear current context, not
33898 previous one.
33899 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
33900
33901 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
33902
7ceeee39 339032008-04-13 Robert Millan <rmh@aybabtu.com>
33904
33905 Improve robustness when handling LVM.
33906
33907 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 33908 (and leave `*p' unmodified).
7ceeee39 33909 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
33910 through it.
33911 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
33912 iterating through it.
33913 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
33914 through it.
fe6b695a 33915 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 33916 when due) on each grub_lvm_getvalue() or grub_strstr() call.
33917 Don't assume `vg->pvs != NULL' when iterating through it.
33918
58cd3d85 339192008-04-13 Robert Millan <rmh@aybabtu.com>
33920
33921 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
33922 * genmk.rb (partmap): New variable.
33923 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
33924 (#{partmap}): New target rule.
33925 * genpartmaplist.sh: New file.
33926 * Makefile.in (pkglib_DATA): Add partmap.lst.
33927 (partmap.lst): New target rule.
33928 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
33929 modules (including all partition maps), instead of preloading them.
33930
78b51059 339312007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
33932
33933 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
33934 `linux-boot-prober' (if installed) to detect other operating
33935 systems which are installed on the computer and add them to
33936 the boot menu.
33937 * conf/common.rmk: Build and install 30_os-prober.
33938
a91627b4 339392008-04-12 Robert Millan <rmh@aybabtu.com>
33940
33941 * kern/powerpc/ieee1275/init.c: Move from here ...
33942 * kern/ieee1275/init.c: ... to here. Update all users.
33943
33944 * kern/powerpc/ieee1275/cmain.c: Move from here ...
33945 * kern/ieee1275/cmain.c: ... to here. Update all users.
33946
33947 * kern/powerpc/ieee1275/openfw.c: Move from here ...
33948 * kern/ieee1275/openfw.c: ... to here. Update all users.
33949
33950 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
33951 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
33952
322562ea 339532008-04-10 Pavel Roskin <proski@gnu.org>
33954
33955 * configure.ac: Always use "_cv_" in cache variables for
33956 compatibility with Autoconf 2.62.
33957
a02a73c5 339582008-04-07 Robert Millan <rmh@aybabtu.com>
33959
33960 Revert grub/machine/init.h addition by Pavel (since it breaks on
33961 i386-ieee1275 and others):
33962 * util/i386/pc/misc.c: Remove grub/machine/init.h.
33963 * util/powerpc/ieee1275/misc.c: Likewise.
33964
25c024b1 339652008-04-07 Robert Millan <rmh@aybabtu.com>
33966
33967 * util/grub-probe.c (probe): Improve error message.
33968
3cbd2f98 339692008-04-07 Robert Millan <rmh@aybabtu.com>
33970
33971 * util/biosdisk.c (read_device_map): Skip devices that don't exist
33972 (this prevents the presence of a bogus entry from ruining the whole
33973 thing).
33974
87a297bf 339752008-04-06 Pavel Roskin <proski@gnu.org>
33976
36747a62 33977 * util/biosdisk.c: Include grub/util/biosdisk.h.
33978 * util/grub-fstest.c (execute_command): Make static.
33979 * util/grub-mkdevicemap.c (check_device): Likewise.
33980 * util/i386/pc/misc.c: Include grub/machine/init.h.
33981 * util/powerpc/ieee1275/misc.c: Likewise.
33982 * util/lvm.c: Include grub/util/lvm.h.
33983 * util/misc.c: Include grub/kernel.h, grub/misc.h and
33984 grub/cache.h.
33985 * util/raid.c: Include grub/util/raid.h.
33986 (grub_util_getdiskname): Make static.
33987
87a297bf 33988 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
33989 grub_hostfs_fini(), as they are called from grub_init_all() and
33990 grub_fini_all() respectively. This fixes an infinite loop in
33991 grub-fstest due to double registration of hostfs.
33992 Reported by Christian Franke <Christian.Franke@t-online.de>
33993
f6ce7629 339942008-04-05 Pavel Roskin <proski@gnu.org>
33995
33996 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
33997 all 8 functions. Otherwise, probe function 0 only.
33998
070e49e4 339992008-04-04 Pavel Roskin <proski@gnu.org>
34000
8b088a4c 34001 * commands/lspci.c (grub_lspci_iter): Print the bus number
34002 correctly.
34003
4f657021 34004 * commands/lspci.c (grub_pci_classes): Fix typos.
34005 (grub_lspci_iter): Don't print func twice. Print vendor ID
34006 before device ID, as it's normally done.
34007
070e49e4 34008 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
34009 Fix signedness warnings.
34010 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
34011 Likewise.
34012 * util/ieee1275/get_disk_name.c: Include config.h so that
34013 _GNU_SOURCE is defined and getline() is declared. Mark an
34014 unused argument as such. Fix a signedness warning.
34015
ba7328dc 340162008-04-02 Pavel Roskin <proski@gnu.org>
34017
26887f22 34018 * genkernsyms.sh.in: Use more robust assignments for CC and
34019 srcdir. Quote srcdir.
34020 * gensymlist.sh.in: Likewise. Assert at the compile time that
34021 the symbol table is not empty.
34022
ba7328dc 34023 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
34024 * fs/cpio.c (grub_cpio_read): Likewise.
34025
0f582c6b 340262008-04-01 Pavel Roskin <proski@gnu.org>
34027
4b6e1995 34028 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
34029 * disk/host.c (grub_host_open): Likewise.
34030 * disk/loopback.c (grub_loopback_open): Likewise.
34031 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
34032 disk->id as in disk/host.c, not a multi-character constant.
34033
828a2768 34034 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
34035 later is obsolete, potentially dangerous and sets a bad example.
34036 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
34037 * util/misc.c (grub_util_get_image_size): Likewise.
34038
2bb4fb47 34039 * disk/loopback.c (options): Improve help for "--partitions".
34040
0f582c6b 34041 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
34042 options to align them with the short options, e.g. "echo -e".
34043
a33224e0 340442008-03-31 Bean <bean123ch@gmail.com>
34045
34046 * video/reader/png.c (grub_png_data): New member is_16bit and
34047 image_data.
34048 (grub_png_decode_image_header): Detect 16 bit png image.
34049 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
34050 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
34051 (grub_video_reader_png): Release memory occupied by image_data.
34052
34053 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
34054 4096 bytes.
34055 (grub_nfs_mount): Skip the test for sector per cluster.
34056
34057 * include/grub/ntfs.h (MAX_SPC): Removed.
34058
86cb4f54 340592008-03-31 Bean <bean123ch@gmail.com>
34060
34061 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
34062 (grub_probe_SOURCES): Add fs/afs.c.
34063 (grub_fstest_SOURCES): Likewise.
34064 (afs_mod_SOURCES): New variable.
34065 (afs_mod_CFLAGS): Likewise.
34066 (afs_mod_LDFLAGS): Likewise.
34067
34068 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
34069 (grub_emu_SOURCES): Likewise.
34070
34071 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34072
34073 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34074
34075 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34076
34077 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34078
34079 * fs/afs.c: New file.
34080
17c74c21 340812008-03-30 Pavel Roskin <proski@gnu.org>
34082
4cb68e89 34083 * disk/host.c: Include grub/misc.h to fix a warning.
34084 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
34085 warnings about implicit declarations.
34086
8790bb04 34087 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
34088 variable.
34089 * include/grub/i386/loader.h: Change declaration of
34090 grub_linux_boot() to match what grub_loader_set() expects.
34091 * util/getroot.c (grub_guess_root_device): Return const char* to
34092 fix a warning.
34093 * util/grub-probe.c (probe): Fix a warning about uninitialized
34094 abstraction_name variable.
34095 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
34096 second argument as unused to fix a warning.
34097
9a3f3296 34098 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
34099 missing grub_error() call.
34100
0ecef90d 34101 * util/update-grub_lib.in: Define datarootdir, since Autoconf
34102 2.60 and newer uses it to define datadir.
34103
0bf6d401 34104 * commands/sleep.c: Fix warning about implicit declaration.
34105 * disk/memdisk.c: Likewise.
34106 * loader/aout.c: Likewise.
34107 * loader/i386/bsd_normal.c: Likewise.
34108 * util/grub-probe.c: Likewise.
34109
7cdacf97 34110 * commands/i386/cpuid.c (has_longmode): Make static.
34111 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
34112 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
34113
17c74c21 34114 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
34115 GDT. This is more robust, as %ds can change.
34116 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
34117 calling real_to_prot().
34118 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
34119
80a3e68b 341202008-03-28 Pavel Roskin <proski@gnu.org>
34121
34122 * kern/i386/pc/startup.S: Assert that uncompressed functions
34123 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
34124 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
34125 code, as they push parts of the code (error handlers) beyond
34126 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
34127 code as correctness and size.
34128
77bcd272 341292008-03-28 Pavel Roskin <proski@gnu.org>
34130
34131 * kern/i386/pc/startup.S
34132 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
34133 data block address to the real mode, keep offset minimal. This
34134 works around a bug in AWARD BIOS on old Athlon systems, which
34135 makes CD detection hang.
34136
c5dfd43b 341372008-03-26 Pavel Roskin <proski@gnu.org>
34138
34139 * normal/color.c (grub_parse_color_name_pair): Make `name' a
34140 const.
34141 * include/grub/normal.h: Add grub_parse_color_name_pair()
34142 declaration.
34143
bf962df2 341442008-03-24 Bean <bean123ch@gmail.com>
34145
34146 * disk/i386/pc/biosdisk.c (cd_start): Removed.
34147 (cd_count): Removed.
34148 (cd_drive): New variable.
34149 (grub_biosdisk_get_drive): Don't check for (cdN) device.
34150 (grub_biosdisk_call_hook): Likewise.
34151 (grub_biosdisk_iterate): Change cdrom detection method.
34152 (grub_biosdisk_open): Replace cd_start with cd_drive.
34153 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
34154 detect cdrom device.
34155
34156 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
34157 Removed.
34158 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
34159 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
34160 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
34161 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
34162 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
34163 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
34164 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
34165 (grub_biosdisk_cdrp): New structure.
34166 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
34167
34168 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
34169
34170 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
34171 device.
34172
34173 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
34174 New function.
34175
68e7fc7a 341762008-03-20 Robert Millan <rmh@aybabtu.com>
34177
34178 Remove 2 TiB limit in ata.mod.
34179 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
34180 (grub_ata_dumpinfo): Print sector count with 0x%llx.
34181 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
34182 grub_uint64_t instead of grub_uint32_t.
34183
38ad2cf5 341842008-03-05 Bean <bean123ch@gmail.com>
34185
34186 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
34187 (grub_multiboot): Set boot device.
34188
34189 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
34190
2b89344e 341912008-03-02 Bean <bean123ch@gmail.com>
34192
34193 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
34194 symlink_buffer.
34195
87a95d1f 341962008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
34197
34198 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
34199 texinfo.tex.
34200
34201 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
34202 modified.
34203
34204 * docs/fdl.texi: New file.
f19dbdb7 34205
87a95d1f 34206 * docs/mdate-sh: New file. Copied from gnulib.
34207 * docs/texinfo.tex: Likewise.
34208
34209 * config.guess: Updated from gnulib.
34210 * install-sh: Likewise.
34211
7dc15d8e 342122008-02-28 Robert Millan <rmh@aybabtu.com>
34213
34214 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
34215 (aout_mod_SOURCES): New variable.
34216 (aout_mod_CFLAGS): Likewise.
34217 (aout_mod_LDFLAGS): Likewise.
34218
34219 * conf/i386-ieee1275.rmk: Likewise.
34220
b00ab696 342212008-02-28 Robert Millan <rmh@aybabtu.com>
34222
34223 * util/update-grub.in: Reorganise terminal validity check. Accept
34224 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
34225 Based on suggestion by Franklin PIAT.
34226
79ca2d78 342272008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
34228
34229 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
34230 function.
34231 * util/getroot.c (grub_util_check_block_device): New function that
34232 returns the given argument if it is a block device and returns NULL else.
34233 * util/grub-probe.c (argument_is_device): New variable.
34234 (probe): Promote device_name from a variable to an argument. Receive
34235 device_name from grub_util_check_block_device() if path is NULL and from
34236 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 34237 (options): Introduce new parameter '-d, --device'.
79ca2d78 34238 (main): Add description of the new parameter to the help screen.
34239 Rename path variable to argument. Set argument_is_device if the '-d'
34240 option is given. Pass argument to probe() depending on
34241 argument_is_device.
34242
0d16e571 342432008-02-24 Bean <bean123ch@gmail.com>
34244
34245 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
34246 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
34247 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
34248 (GRUB_ISO9660_VOLDESC_PART): Likewise.
34249 (GRUB_ISO9660_VOLDESC_END): Likewise.
34250 (grub_iso9660_primary_voldesc): New member escape.
34251 (grub_iso9660_data): New member joliet.
34252 (grub_iso9660_convert_string): New function.
34253 (grub_iso9660_mount): Detect joliet extension.
34254 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
34255 (grub_iso9660_iso9660_label): Likewise.
34256
34257 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
34258 (grub_setup_SOURCES): Add fs/udf.c.
34259 (grub_fstest_SOURCES): Likewise.
34260 (udf_mod_SOURCES): New variable.
34261 (udf_mod_CFLAGS): Likewise.
34262 (udf_mod_LDFLAGS): Likewise.
34263
34264 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
34265 (grub_emu_SOURCES): Likewise.
34266
34267 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34268
34269 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34270
34271 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34272
34273 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34274
34275 * fs/udf.c: New file.
34276
8a594a17 342772008-02-24 Robert Millan <rmh@aybabtu.com>
34278
34279 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
34280 (normal/lexer.c_DEPENDENCIES): New variables.
34281 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34282 (normal/lexer.c_DEPENDENCIES): Likewise.
34283 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
34284 (normal/lexer.c_DEPENDENCIES): Likewise.
34285 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
34286 (normal/lexer.c_DEPENDENCIES): Likewise.
34287 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34288 (normal/lexer.c_DEPENDENCIES): Likewise.
34289 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
34290 (normal/lexer.c_DEPENDENCIES): Likewise.
34291
2dc33c03 342922008-02-23 Robert Millan <rmh@aybabtu.com>
34293
34294 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
34295 since they were intended to be in hex. This didn't break previously
34296 because of a bug in gpt_partition_map_iterate() (see below).
34297
34298 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
34299 when checking the validity of GPT header.
34300 Remove `partno', since it always provides the same information as `i'.
34301
f6f4cfb0 343022008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
34303
34304 * include/grub/efi/time.h: Fix a wrong comment.
34305
79ff665f 343062008-02-19 Pavel Roskin <proski@gnu.org>
34307
34308 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
34309 message.
34310
d38e24c2 343112008-02-19 Bean <bean123ch@gmail.com>
34312
34313 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
34314 (aout_mod_SOURCES): New variable.
34315 (aout_mod_CFLAGS): Likewise.
34316 (aout_mod_LDFLAGS): Likewise.
34317 (_bsd_mod_SOURCES): New variable.
34318 (_bsd_mod_CFLAGS): Likewise.
34319 (_bsd_mod_LDFLAGS): Likewise.
34320 (bsd_mod_SOURCES): New variable.
34321 (bsd_mod_CFLAGS): Likewise.
34322 (bsd_mod_LDFLAGS): Likewise.
34323
34324 * include/grub/aout.h: New file.
34325
34326 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
34327
34328 * include/grub/i386/bsd.h: New file.
34329
34330 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
34331 to make it public.
34332
34333 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
34334 function is called, so that it's possible to change it inside the hook.
34335 (grub_elf64_load): Likewise.
34336 (grub_elf_file): Don't close the file if elf header is not found.
34337 (grub_elf_close): Close the file if grub_elf_file fails (The new
34338 grub_elf_file won't close it).
34339 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
34340 (grub_elf64_size): Likewise.
34341
34342 * kern/i386/loader.S (grub_unix_real_boot): New function.
34343
34344 * loader/aout.c: New file.
34345
34346 * loader/i386/bsd.c: New file.
34347
34348 * loader/i386/bsd_normal.c: New file.
34349
34350 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
34351
34352 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 34353 can test other formats.
d38e24c2 34354
b93bdb0f 343552008-02-19 Robert Millan <rmh@aybabtu.com>
34356
34357 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
34358 (grub_gpt_partition_type_empty): Redefine with macro from
34359 `<grub/gpt_partition.h>'.
34360 (gpt_partition_map_iterate): Adjust partition type comparison.
34361
34362 Export `entry' as partmap-specific `part.data' struct.
34363 (grub_gpt_header, grub_gpt_partentry): Move from here ...
34364
34365 * include/grub/gpt_partition.h (grub_gpt_header)
34366 (grub_gpt_partentry): ... to here (new file).
34367
34368 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
34369
34370 (grub_gpt_partition_type_bios_boot): New const variable, defined
34371 with macro from `<grub/gpt_partition.h>'.
34372
34373 (setup): Replace `first_start' with `embed_region', which keeps
34374 track of the embed region (and is partmap-agnostic).
34375
34376 Replace find_first_partition_start() with find_usable_region(),
34377 which finds a usable region for embedding using partmap-specific
34378 knowledge (supports PC/MSDOS and GPT).
34379
34380 Fix all assumptions that the embed region start at sector 1, using
34381 `embed_region.start' from now on. Similarly, use `embed_region.end'
34382 rather than `first_start' to calculate available size.
34383
34384 In grub_util_info() message, replace "into after the MBR" with an
34385 indication of the specific sector our embed region starts at.
34386
66cb40f6 343872008-02-19 Robert Millan <rmh@aybabtu.com>
34388
34389 * DISTLIST: Replace `commands/ieee1275/halt.c' and
34390 `commands/ieee1275/reboot.c' with `commands/halt.c' and
34391 `commands/reboot.c'.
34392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
34393 (halt_mod_SOURCES): Likewise.
34394 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
34395 (halt_mod_SOURCES): Likewise.
34396
b7202015 343972008-02-17 Christian Franke <franke@computer.org>
34398
34399 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
34400
32b0fc49 344012008-02-17 Robert Millan <rmh@aybabtu.com>
34402
34403 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
34404 set `first_start' to 0 for non-PC/MSDOS partition maps.
34405
aca63502 344062008-02-16 Robert Millan <rmh@aybabtu.com>
34407
34408 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
34409 do not assume partition map is PC/MSDOS before performing checks that
34410 are specific to that layout.
34411
0de8be86 344122008-02-13 Robert Millan <rmh@aybabtu.com>
34413
34414 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
34415 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
34416 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
34417
c3db8364 344182008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
34419
34420 * configure.ac: Only a cosmetic change on the handling of
34421 -fno-stack-protector.
34422
f714229e 344232008-02-12 Alexandre Boeglin <alex@boeglin.org>
34424
c3db8364 34425 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
34426 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
34427 reboot.c.
f714229e 34428 (grub_install_SOURCES): Add halt.mod and reboot.mod.
34429 (halt_mod_SOURCES): New variable.
34430 (halt_mod_CFLAGS): Likewise.
34431 (halt_mod_LDFLAGS): Likewise.
34432 (reboot_mod_SOURCES): Likewise.
34433 (reboot_mod_CFLAGS): Likewise.
34434 (reboot_mod_LDFLAGS): Likewise.
34435
c3db8364 34436 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
34437 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
34438 reboot.c.
f714229e 34439 (halt_mod_SOURCES): Likewise.
34440 (reboot_mod_SOURCES): Likewise.
34441
c3db8364 34442 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
34443 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 34444 (reboot_mod_SOURCES): Likewise.
34445
34446 * commands/i386/pc/reboot.c: merge this file ...
34447
34448 * commands/ieee1275/reboot.c: ... and this file ...
34449
34450 * commands/reboot.c: ... to this file.
c3db8364 34451 Add some precompiler directive to include the correct header for
34452 each machine.
f714229e 34453
34454 * commands/ieee1275/halt.c: move this file ...
34455
34456 * commands/halt.c: ... to here.
c3db8364 34457 Add some precompiler directive to include the correct header for
34458 each machine.
f714229e 34459
34460 * include/grub/efi/efi.h (grub_reboot): New function declaration.
34461 (grub_halt): Likewise.
34462
34463 * kern/efi/efi.c (grub_reboot): New function.
34464 (grub_halt): Likewise.
34465
c74493e0 344662008-02-12 Robert Millan <rmh@aybabtu.com>
34467
34468 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
34469 /dev (like it is done for /dev/mapper). This doesn't provide support
34470 for EVMS, but at least it is now easy to identify the problem when it
34471 arises.
34472
d0db4b04 344732008-02-11 Robert Millan <rmh@aybabtu.com>
34474
34475 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
34476 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
34477 comparing it with -1, not 0.
34478
bf748642 344792008-02-10 Robert Millan <rmh@aybabtu.com>
34480
34481 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
34482 `disk/lvm.c'.
34483 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34484 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
34485
34486 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
34487 `disk/lvm.c' to the end of the list.
34488 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34489 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34490
b5db202a 344912008-02-10 Robert Millan <rmh@aybabtu.com>
34492
34493 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
34494 grub_print_error() instead. This will let user know why we're entering
34495 rescue mode.
34496 Based on suggestions from Sam Morris.
34497
83abee31 344982008-02-10 Alexandre Boeglin <alex@boeglin.org>
34499
34500 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
34501 on remaining N args, instead of "--" arg N times.
34502
78d5a08b 345032008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
34504
34505 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
34506 (fill_with_default_glyph): Changed to use unknown_glyph for fill
34507 pattern for unknown glyphs.
34508
68807e5f 345092008-02-09 Robert Millan <rmh@aybabtu.com>
34510
34511 * configure.ac: Probe for `help2man'.
34512 * Makefile.in (builddir): New variable.
34513 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
34514 or otherwise add a few flags/options to it.
34515 (install-local): For every executable utility or script that is
34516 installed, invoke $(HELP2MAN) to install a manpage based on --help
34517 output.
34518
34519 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
34520 that it doesn't prevent --help from working in build tree.
34521
34522 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
34523 with `bug-grub@gnu.org'.
34524 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
34525 * util/update-grub.in (usage): New function.
34526 Implement proper argument check, with support for --help and --version
34527 (as well as existing -y).
34528
345292008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 34530
34531 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
34532 avoid overwriting previous output.
34533 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
34534
c1962162 345352008-02-09 Robert Millan <rmh@aybabtu.com>
34536
34537 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
34538 drawing the menu.
34539
3dac2e3f 345402008-02-09 Robert Millan <rmh@aybabtu.com>
34541
34542 * commands/sleep.c: New file.
34543 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
34544 (sleep_mod_SOURCES): New variable.
34545 (sleep_mod_CFLAGS): Likewise.
34546 (sleep_mod_LDFLAGS): Likewise.
34547
7a634e08 345482008-02-09 Robert Millan <rmh@aybabtu.com>
34549
34550 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
34551 situations in which we can deduce the RAID size and the superblock
34552 doesn't match it.
34553
b92f0c18 345542008-02-09 Robert Millan <rmh@aybabtu.com>
34555
34556 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
34557 and return a grub_diskmemberlist_t composed of LVM physical volumes.
34558 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
34559
34560 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
34561 and return a grub_diskmemberlist_t composed of physical array members.
34562 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
34563
34564 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
34565 prototype.
34566 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
34567 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
34568 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
34569
34570 * util/grub-probe.c (probe): Move partmap probing code from here ...
34571 (probe_partmap): ... to here.
34572 (probe): Use probe_partmap() once for the disk we're probing, and
34573 additionally, when such disk contains a memberlist() struct member,
34574 once for each disk that is contained in the structure returned by
34575 memberlist().
34576
91a4bf68 345772008-02-09 Robert Millan <rmh@aybabtu.com>
34578
34579 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
34580 environment variable to 'all' in order to obtain debug output from
34581 non-util/ code.
34582 * util/i386/pc/grub-setup.c (main): Likewise.
34583
a96f9caa 345842008-02-08 Robert Millan <rmh@aybabtu.com>
34585
34586 * disk/raid.c (grub_raid_scan_device): Check for
34587 `array->device[sb.this_disk.number]' rather than for
34588 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 34589 guaranteed to be accessible.
a96f9caa 34590
b37a9222 345912008-02-08 Robert Millan <rmh@aybabtu.com>
34592
34593 * disk/raid.c: Update copyright.
34594 * fs/cpio.c: Likewise.
34595 * include/grub/raid.h: Likewise.
34596 * loader/i386/pc/multiboot.c: Likewise.
34597 * util/hostfs.c: Likewise.
34598
5626aee1 345992008-02-08 Robert Millan <rmh@aybabtu.com>
34600
34601 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
34602 to a grub_disk_t array.
34603 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
34604 `device[x]'.
34605 (grub_raid_scan_device): Replace `device[x].name' accesses with
34606 `device[x]->name'. Simplify initialization of `array->device[x]'.
34607
554f0187 346082008-02-08 Robert Millan <rmh@aybabtu.com>
34609
34610 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
34611 grub_dprintf() calls.
34612 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
34613 error message.
34614
1ec8425d 346152008-02-07 Christian Franke <franke@computer.org>
34616
34617 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
34618 instead of fseek and ftell to support large files.
34619 (grub_hostfs_read): Likewise.
34620
f2156fda 346212008-02-07 Robert Millan <rmh@aybabtu.com>
34622
34623 Patch from Jeroen Dekkers.
34624 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 34625 failure, since successfully reading all array members might not be
f2156fda 34626 required.
34627
9216e0e7 346282008-02-06 Robert Millan <rmh@aybabtu.com>
34629
34630 * util/grub-probe.c (probe): Simplify partmap probing (with the
34631 assumption that the first word up to the underscore equals to
34632 the module name).
34633
b0dfd29a 346342008-02-06 Christian Franke <franke@computer.org>
34635
34636 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
34637 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
34638 last block of a cpio or tar stream.
34639 Check for "TRAILER!!!" instead of any empty data
34640 block to detect last block of a cpio stream.
34641 (grub_cpio_dir): Fix constness of variable np.
34642 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
34643 cpio or tar trailer is detected. This fixes a crash
34644 on open of a non existing file.
34645
c32865bf 346462008-02-05 Bean <bean123ch@gmail.com>
34647
34648 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
34649 address of entry.
34650 (grub_multiboot_load_elf64): Likewise.
34651 (grub_multiboot): Initialize mbi structure.
34652
34653 * util/grub-fstest.c: Don't include unused header file script.h.
34654
fe6b695a 34655 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 34656 of file.
34657 (grub_fstest_SOURCES): Likewise.
34658
409480b7 346592008-02-05 Robert Millan <rmh@aybabtu.com>
34660
34661 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
34662 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
34663 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
34664 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
34665
34666 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
34667 (translation_table): Replace hardcoded values with macros
34668 provided by `<grub/term.h>'.
34669
34670 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
34671 (keyboard_map): Correct/add a few values, with macros provided
34672 by `<grub/term.h>'.
34673 (keyboard_map_shift): Zero values that don't differ from their
34674 `keyboard_map' equivalents.
34675 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
34676 Discard the second scan code that is always sent by Caps lock.
34677 Only use `keyboard_map_shift' when it provides a non-zero value,
34678 otherwise fallback to `keyboard_map'.
34679
99fadbaa 346802008-02-04 Bean <bean123ch@gmail.com>
34681
34682 * Makefile.in (enable_grub_fstest): New variable.
34683
34684 * conf/common.rmk (grub_fstest_init.lst): New rule.
34685 (grub_fstest_init.h): Likewise.
34686 (grub_fstest_init.c): Likewise.
34687 (util/grub-fstest.c_DEPENDENCIES): New variable.
34688 (grub_fstest_SOURCES): Likewise.
34689
34690 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
34691
34692 * util/grub-fstest.c: New file.
34693
bf567c50 346942008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34695
34696 Make grub-setup handle a separate root device.
f19dbdb7 34697
bf567c50 34698 * util/i386/pc/grub-setup.c (setup): Always open the root device,
34699 so that the root device can be compared with the destination
34700 device.
34701 When embedding the core image, if the root and destination devices
34702 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
34703 0xFF.
34704 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 34705
9be6b98b 347062008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34707
34708 Add support for having a grub directory in a different drive. This
34709 is still only the data handling part.
f19dbdb7 34710
9be6b98b 34711 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
34712 (codestart): Save %dh in GRUB_ROOT_DRIVE.
34713 (grub_root_drive): New variable.
34714
34715 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
34716 instead of GRUB_BOOT_DRIVE to construct a device name. Set
34717 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
34718 as it was.
34719
34720 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
34721
34722 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
34723 macro.
34724 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
34725
34726 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
34727 is bogus, because PXE booting does not specify any drive
34728 correctly.
34729
34730 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
34731 am not sure if this is really correct.
34732
34733 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
34734 is always identical to the boot drive when booting from a CD.
34735
34736 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
34737 longer.
34738 (root_drive): New variable.
34739 (real_start): Unconditionally set %dh to ROOT_DRIVE.
34740 (setup_sectors): Push %dx right after popping it, because %dh will
34741 be modified later.
34742 (copy_buffer): Restore %dx.
34743
e0ca0677 347442008-02-03 Robert Millan <rmh@aybabtu.com>
34745
34746 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
34747 use `cdboot.img' for cdrom images.
34748
3b3f6629 347492008-02-03 Robert Millan <rmh@aybabtu.com>
34750
34751 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
34752 only setup gfxterm when `font' command has succeeded.
34753
d42b3672 347542008-02-03 Robert Millan <rmh@aybabtu.com>
34755
34756 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
34757 (grub_rescue_cmd_multiboot_loader)
34758 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
34759
fa370ea6 347602008-02-03 Pavel Roskin <proski@gnu.org>
34761
e0c5dacb 34762 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 34763 %edx and %esi from stack only after grub_gate_a20() is called.
34764 grub_gate_a20() clobbers %edx.
34765
f2a76e1d 347662008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
34767
34768 * configure.ac (AC_INIT): Bumped to 1.96.
34769
34770 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
34771 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
34772 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
34773 video/readers/png.c.
34774
90fd32d1 347752008-02-03 Bean <bean123ch@gmail.com>
9be665dd 34776
34777 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
34778 (cdboot_img_SOURCES): New variable.
34779 (cdboot_img_ASFLAGS): New variable.
34780 (cdboot_img_LDFLAGS): New variable.
34781
34782 * boot/i386/pc/cdboot.S: New file.
34783
34784 * disk/i386/pc/biosdisk.c (cd_start): New variable.
34785 (cd_count): Likewise.
34786 (grub_biosdisk_get_drive): Add support for cd device.
34787 (grub_biosdisk_call_hook): Likewise.
34788 (grub_biosdisk_iterate): Likewise.
34789 (grub_biosdisk_open): Likewise.
34790 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
34791 (grub_biosdisk_rw): Support reading from cd device.
34792 (GRUB_MOD_INIT): Iterate cd devices.
34793
34794 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
34795 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
34796 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
34797
34798 * kern/i386/pc/init.c (make_install_device): Check for cd device.
34799
4020aa53 348002008-02-02 Robert Millan <rmh@aybabtu.com>
34801
34802 * commands/read.c: New file.
34803 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
34804 (read_mod_SOURCES): New variable.
34805 (read_mod_CFLAGS): Likewise.
34806 (read_mod_LDFLAGS): Likewise.
34807
e03a1132 348082008-02-02 Robert Millan <rmh@aybabtu.com>
34809
34810 * normal/main.c (grub_normal_execute): Check for `menu->size' when
34811 determining whether menu has to be displayed.
34812
58c69220 348132008-02-02 Marco Gerards <marco@gnu.org>
34814
34815 * bus/pci.c: New file.
34816
34817 * include/grub/pci.h: Likewise.
34818
34819 * include/grub/i386/pc/pci.h: Likewise.
34820
34821 * commands/lspci.c: Likewise.
34822
34823 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
34824 `lspci.mod'.
34825 (pci_mod_SOURCES): New variable.
34826 (pci_mod_CFLAGS): Likewise.
34827 (pci_mod_LDFLAGS): Likewise.
34828 (lspci_mod_SOURCES): Likewise.
34829 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 34830 (lspci_mod_LDFLAGS): Likewise.
58c69220 34831
c004e1b4 348322008-02-02 Bean <bean123ch@gmail.com>
34833
34834 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
34835 (grub_ufs_get_file_block): Fix indirect block calculation problem.
34836
34837 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
34838 (grub_xfs_btree_node): New structure.
34839 (grub_xfs_btree_root): New structure.
34840 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
34841 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
34842 (GRUB_XFS_EXTENT_BLOCK): Likewise.
34843 (GRUB_XFS_EXTENT_SIZE): Likewise.
34844 (grub_xfs_read_block): Support btree format type.
34845 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
34846 Use directory block as basic unit.
34847
34848 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
34849
34850 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
34851 __attribute__ ((__regparm__ (1))).
34852
f95562bf 348532008-02-01 Robert Millan <rmh@aybabtu.com>
34854
34855 Correct a mistake in previous commit.
34856
34857 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
34858 top.
34859 (normal/command.c_DEPENDENCIES): New variable.
34860
7d31f41f 348612008-02-01 Robert Millan <rmh@aybabtu.com>
34862
34863 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
34864 top.
34865 (normal/command.c_DEPENDENCIES): New variable.
34866 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
34867 * conf/i386-ieee1275.rmk: Likewise.
34868 * conf/i386-linuxbios.rmk: Likewise.
34869 * conf/i386-pc.rmk: Likewise.
34870 * conf/sparc64-ieee1275.rmk: Likewise.
34871 * conf/powerpc-ieee1275.rmk: Likewise.
34872 (grub_emu_SOURCES): Add `fs/fshelp.c'.
34873
34874 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
34875
60b6be74 348762008-02-01 Robert Millan <rmh@aybabtu.com>
34877
34878 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
34879 call at beginning of function.
34880
078522ab 348812008-01-31 Pavel Roskin <proski@gnu.org>
34882
34883 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 34884 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
34885 (grub_mkrescue_SOURCES): Likewise.
078522ab 34886 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
34887
ccaa8a5f 348882008-01-30 Robert Millan <rmh@aybabtu.com>
34889
34890 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
34891 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
34892 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
34893 (grub_probe_SOURCES): ... to here.
34894
34895 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
34896 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
34897 * conf/i386-ieee1275.rmk: Likewise.
34898 * conf/i386-linuxbios.rmk: Likewise.
34899 * conf/powerpc-ieee1275.rmk: Likewise.
34900
ae5a9cd7 349012008-01-30 Tristan Gingold <gingold@free.fr>
34902
34903 * kern/rescue.c: Silently accept empty lines.
34904
70bc2ef2 349052008-01-29 Bean <bean123ch@gmail.com>
34906
34907 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
34908 (real_code_2): Code cleanup and change comment style.
34909 (move_memory): Avoid using 32-bit address mode.
34910
6a4d50ea 349112008-01-29 Bean <bean123ch@gmail.com>
34912
34913 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
34914 (png_mod_SOURCES): New variable.
34915 (png_mod_CFLAGS): Likewise.
34916 (png_mod_LDFLAGS): Likewise.
34917
34918 * video/readers/png.c: New file.
34919
11cc30ac 349202008-01-28 Robert Millan <rmh@aybabtu.com>
34921
34922 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
34923 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
34924 `ifndef GRUB_MOD_GAP' hack.
34925 * util/elf/grub-mkimage.c (add_segments): Likewise.
34926
3abc589f 349272008-01-27 Robert Millan <rmh@aybabtu.com>
34928
34929 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
34930 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 34931 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 34932
e1907778 349332008-01-27 Robert Millan <rmh@aybabtu.com>
34934
34935 Get grub-emu to build again (including parallel builds).
34936
34937 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
34938 Split into ...
34939 (util/grub-emu.c_DEPENDENCIES): ... this, ...
34940 (normal/execute.c_DEPENDENCIES): ... this, ...
34941 (grub-emu_DEPENDENCIES): ... and this.
34942
34943 * conf/i386-efi.rmk: Likewise.
34944 * conf/i386-linuxbios.rmk: Likewise.
34945 * conf/i386-ieee1275.rmk: Likewise.
34946 * conf/powerpc-ieee1275.rmk: Likewise.
34947 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
34948
2216b101 349492008-01-27 Robert Millan <rmh@aybabtu.com>
34950
34951 * NEWS: Add a few items.
34952
f75172d9 349532008-01-27 Robert Millan <rmh@aybabtu.com>
34954
34955 Fix parallel builds with grub-emu. Based on earlier commit for
34956 grub-probe and grub-setup.
34957
34958 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34959 (util/grub-emu.c_DEPENDENCIES): ... this.
34960 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34961 (util/grub-emu.c_DEPENDENCIES): ... this.
34962 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34963 (util/grub-emu.c_DEPENDENCIES): ... this.
34964 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34965 (util/grub-emu.c_DEPENDENCIES): ... this.
34966 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
34967 (util/grub-emu.c_DEPENDENCIES): ... this.
34968
3f51de77 349692008-01-27 Pavel Roskin <proski@gnu.org>
34970
34971 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
34972 to create a gap between _end and the modules added to the image
34973 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
34974 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
34975 * util/elf/grub-mkimage.c (add_segments): Likewise.
34976
2033f53e 349772008-01-26 Pavel Roskin <proski@gnu.org>
34978
34979 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
34980 just return an error.
34981
22da1f6f 349822008-01-26 Bean <bean123ch@gmail.com>
34983
34984 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
34985 (grub_reiserfs_get_item): Save offset of the next item.
34986 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
34987
2a9525e6 349882008-01-25 Robert Millan <rmh@aybabtu.com>
34989
34990 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
34991 make all filesystem sources appear together (possibly fixing omissions
34992 while at it).
34993 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34994 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34995 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34996 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34997
34998 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
34999 add `kern/file.c'.
35000 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
35001 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
35002 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
35003 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
35004
35005 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
35006 (probe): Add a sanity check to make sure of our ability to read
35007 requested files when probing for filesystem type.
35008
35009 * genmk.rb: Update copyright year (2007).
35010
35011 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
35012 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
35013 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
35014 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
35015 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
35016 : Remove function prototypes.
35017
b95f71b5 350182008-01-25 Robert Millan <rmh@aybabtu.com>
35019
35020 Revert my previous commits (based on wrong assumption of how grub_errno
35021 works).
35022
fe6b695a 35023 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 35024 * kern/file.c (grub_file_open): Likewise.
35025
d08bbb49 350262008-01-24 Pavel Roskin <proski@gnu.org>
35027
35028 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
35029 that hang if GRUB tries to setup colors.
35030 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
35031 colors for firmwares that don't support it.
35032 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
35033 Recognize Open Hack'Ware, set flags to work around its
35034 limitations.
35035
605e36ed 350362008-01-24 Robert Millan <rmh@aybabtu.com>
35037
35038 * kern/file.c (grub_file_open): Do not account previous failures of
35039 unrelated functions when grub_errno is checked for.
35040 Reported by Oleg Strikov.
35041
bac332a1 350422008-01-24 Bean <bean123ch@gmail.com>
35043
35044 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
35045 (grub_ufs_sblock): New member volume name.
35046 (grub_ufs_find_file): Fix string copy bug.
35047 (grub_ufs_label): Implement this function properly.
35048
35049 * fs/hfs.c (grub_hfs_cnid_type): New enum.
35050 (grub_hfs_iterate_records): Use the correct file number for extents
35051 and catalog file. Fix problem in next index calculation.
35052 (grub_hfs_find_node): Replace recursive function call with loop.
35053 (grub_hfs_iterate_dir): Replace recursive function call with loop.
35054
15c80c09 350552008-01-23 Robert Millan <rmh@aybabtu.com>
35056
35057 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
35058 `<grub/symbol.h>' and `<grub/multiboot.h>'.
35059 (grub_multiboot2_real_boot): New function prototype.
35060
35061 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
35062 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
35063
35064 * kern/i386/ieee1275/init.c (grub_os_area_addr)
35065 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
35066
305338fd 350672008-01-23 Robert Millan <rmh@aybabtu.com>
35068
35069 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
35070 #ifdef'ed out grub_printf().
35071
3ea52685 350722008-01-23 Robert Millan <rmh@aybabtu.com>
35073
35074 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
35075 grub_dprintf calls, since they make "debug=all" mode unusable.
35076 (grub_console_checkkey): Likewise.
35077
5882ae4b 350782008-01-23 Robert Millan <rmh@aybabtu.com>
35079
35080 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
35081 `term/i386/pc/at_keyboard.c'.
35082 (pkglib_MODULES): Add `serial.mod'.
35083 (serial_mod_SOURCES): New variable.
35084 (serial_mod_CFLAGS): Likewise.
35085 (serial_mod_LDFLAGS): Likewise.
35086
35087 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
35088 `<grub/powerpc/ieee1275/console.h>'.
35089 (grub_keyboard_controller_init): New function prototype.
35090 (grub_console_checkkey): Likewise.
35091 (grub_console_getkey): Likewise.
35092
35093 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
35094 keyboard on i386.
35095
35096 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
35097 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
35098
06ab5303 350992008-01-23 Robert Millan <rmh@aybabtu.com>
35100
35101 * kern/i386/pc/init.c (make_install_device): When memdisk image is
35102 present, "(memdisk)/boot/grub" becomes the default prefix.
35103
35104 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
35105 a memdisk tarball with all the modules. Add --overlay=DIR option that
35106 allows users to overlay additional files into the image.
35107
dbb475a4 351082008-01-23 Robert Millan <rmh@aybabtu.com>
35109
35110 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
35111 and `machine/memory.h'.
35112 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
35113 (_multiboot_mod_SOURCES): New variable.
35114 (_multiboot_mod_CFLAGS): Likewise.
35115 (_multiboot_mod_LDFLAGS): Likewise.
35116 (multiboot_mod_SOURCES): Likewise.
35117 (multiboot_mod_CFLAGS): Likewise.
35118 (multiboot_mod_LDFLAGS): Likewise.
35119
35120 * include/grub/i386/ieee1275/loader.h: New file.
35121
35122 * include/grub/i386/ieee1275/machine.h: Likewise.
35123
35124 * include/grub/i386/ieee1275/memory.h: Likewise.
35125
35126 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
35127 variable declaration.
35128 (grub_os_area_size): Likewise.
35129
35130 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
35131 (grub_lower_mem, grub_upper_mem): New variables.
35132 (grub_stop_floppy): New function (just to make
35133 grub_multiboot2_real_boot() happy).
35134
35135 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
35136 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
35137 (grub_stop): New function.
35138 Include `"../realmode.S"' and `"../loader.S"'.
35139
35140 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
35141 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
35142
35143 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
35144 rely on grub_multiboot2_real_boot() for final boot.
35145
25638629 351462008-01-22 Robert Millan <rmh@aybabtu.com>
35147
35148 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
35149 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
35150 device that doesn't look like an SD card.
35151 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
35152 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
35153 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
35154 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
35155 found.
35156
9dad816d 351572008-01-22 Robert Millan <rmh@aybabtu.com>
35158
35159 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
35160 avoid claiming over our own code.
35161
34842f2d 351622008-01-22 Bean <bean123ch@gmail.com>
35163
35164 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
35165 (jpeg_mod_SOURCES): New variable.
35166 (jpeg_mod_CFLAGS): Likewise.
35167 (jpeg_mod_LDFLAGS): Likewise.
35168
35169 * video/readers/jpeg.c : New file.
35170
44023a28 351712008-01-22 Bean <bean123ch@gmail.com>
35172
35173 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
35174 there are no more items.
35175
bc2d8ac6 351762008-01-21 Robert Millan <rmh@aybabtu.com>
35177
35178 * kern/mm.c (grub_mm_init_region): Improve debug message.
35179
261bd4bc 351802008-01-21 Robert Millan <rmh@aybabtu.com>
35181
35182 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
35183 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
35184 address.
35185 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
35186 a C macro.
35187 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
35188 Indicates start of upper memory.
35189 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
35190 (generate_image): Abort when image size is big enough to corrupt
35191 upper memory.
35192
35193 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
35194 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
35195 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35196 instead of hardcoding 0xA0000.
35197 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
35198 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
35199 instead of hardcoding 0xA0000.
35200
f970b55e 352012008-01-21 Robert Millan <rmh@aybabtu.com>
35202
35203 * disk/memdisk.c (memdisk_size): New variable.
35204 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
35205 `memdisk_size'.
35206 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
35207 image to dynamic memory.
35208 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
35209 `memdisk_size'. Free memdisk block.
35210
1a8b0526 352112008-01-21 Robert Millan <rmh@aybabtu.com>
35212
35213 Fix detection of very small filesystems (like tar).
35214
35215 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
35216 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
35217 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
35218 a problem with this disk).
35219
6e9b4aab 352202008-01-21 Robert Millan <rmh@aybabtu.com>
35221
35222 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
35223 on grub_biosdisk_rw_standard() error.
35224
0d8837b2 352252008-01-21 Robert Millan <rmh@aybabtu.com>
35226
35227 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
35228 recent changes.
35229 * kern/elf.c: Likewise.
35230 * kern/ieee1275/ieee1275.c: Likewise.
35231 * kern/powerpc/ieee1275/openfw.c: Likewise.
35232 * term/ieee1275/ofconsole.c: Likewise.
35233
ffd36e34 352342008-01-21 Robert Millan <rmh@aybabtu.com>
35235
35236 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
35237
3f0093d0 35238 * include/grub/kernel.h (grub_arch_memdisk_addr)
35239 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 35240
3f0093d0 35241 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
35242 (grub_arch_memdisk_size): ... to here.
ffd36e34 35243
6c391b21 352442008-01-21 Robert Millan <rmh@aybabtu.com>
35245
35246 Mostly based on bugfix from Bean.
35247
35248 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
35249 attribute with hook() parameter.
35250 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
35251 declaration.
35252 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
35253 attribute with hook() parameter.
35254 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
35255 declaration.
35256
55a581dc 352572008-01-21 Robert Millan <rmh@aybabtu.com>
35258
35259 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
35260 (pkglib_MODULES): Add `memdisk.mod'.
35261 (memdisk_mod_SOURCES): New variable.
35262 (memdisk_mod_CFLAGS): Likewise.
35263 (memdisk_mod_LDFLAGS): Likewise.
35264
35265 * disk/memdisk.c: New file.
35266
35267 * include/grub/disk.h (grub_disk_dev_id): Add
35268 `GRUB_DISK_DEVICE_MEMDISK_ID'.
35269
35270 * include/grub/i386/pc/kernel.h
35271 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
35272 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
35273 (grub_kernel_image_size): New variable declaration.
35274 (grub_total_module_size): Likewise.
35275 (grub_memdisk_image_size): Likewise.
35276
35277 * include/grub/i386/pc/memory.h
35278 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
35279
35280 * include/grub/kernel.h: Include `<grub/symbol.h>'.
35281 (grub_arch_memdisk_addr): New variable declaration.
35282 (grub_arch_memdisk_size): Likewise.
35283
35284 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
35285 (grub_arch_memdisk_size): Likewise.
35286
35287 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
35288 (codestart): Replace hardcoded `0x100000' with
35289 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
35290
35291 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
35292 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
35293 not NULL, append the contents of the file it refers to, at the end of
35294 the compressed kernel image. Initialize `grub_memdisk_image_size'
35295 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
35296 (options): Add "memdisk"|'m' option.
35297 (main): Parse --memdisk|-m option, and pass user-provided path as
35298 parameter to generate_image().
35299
3d7f54c9 353002008-01-20 Robert Millan <rmh@aybabtu.com>
35301
35302 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
35303 grub_dprintf() calls from here ...
35304 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
35305
0bf74728 353062008-01-20 Robert Millan <rmh@aybabtu.com>
35307
35308 Fix detection of "real mode" when /options/real-mode? doesn't exist.
35309
35310 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
35311 declaration.
35312 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
35313 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
35314 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 35315 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 35316 property).
35317 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
35318 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
35319
33bf70a7 353202008-01-19 Robert Millan <rmh@aybabtu.com>
35321
fe6b695a 35322 Get rid of confusing function (superseded by
33bf70a7 35323 `grub_ieee1275_get_integer_property')
35324 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
35325 prototype.
35326 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
35327 function.
35328 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
35329 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 35330 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 35331
e2da7d26 353322008-01-19 Robert Millan <rmh@aybabtu.com>
35333
35334 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
35335 command after "shut-down", since implementations differ on which
35336 the command for halt is.
35337
59f1fd8d 353382008-01-19 Robert Millan <rmh@aybabtu.com>
35339
35340 * include/grub/i386/linuxbios/console.h: Add header protection.
35341 (grub_keyboard_controller_init): New function prototype.
35342 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
35343 (KEYBOARD_COMMAND_READ): Likewise.
35344 (KEYBOARD_COMMAND_WRITE): Likewise.
35345 (KEYBOARD_SCANCODE_SET1): Likewise.
35346 (grub_keyboard_controller_write): New function.
35347 (grub_keyboard_controller_read): Likewise.
35348 (grub_keyboard_controller_init): Likewise.
35349
35350 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
35351 (grub_console_init): On coreboot/LinuxBIOS, call
35352 grub_keyboard_controller_init().
35353
5f5a7c15 353542008-01-19 Robert Millan <rmh@aybabtu.com>
35355
35356 PowerPC changes provided by Pavel Roskin.
35357
35358 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
35359 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
35360 don't rely on cmain() doing it.
35361 * kern/i386/ieee1275/startup.S (_start): Store %eax in
35362 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
35363
1210e168 353642008-01-16 Robert Millan <rmh@aybabtu.com>
35365
35366 * include/grub/i386/linuxbios/memory.h
35367 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
35368 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
35369 receive `table_header' as argument. Instead, probe for it in the
35370 known memory ranges where it can be present.
35371 (grub_available_iterate): Do not pass a fixed `table_header' address
35372 to grub_linuxbios_table_iterate().
35373
3d04eab8 353742008-01-15 Robert Millan <rmh@aybabtu.com>
35375
35376 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
35377 * conf/i386-ieee1275.rmk: New file.
35378 * include/grub/i386/ieee1275/console.h: Likewise.
35379 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
35380 * include/grub/i386/ieee1275/kernel.h: Likewise.
35381 * include/grub/i386/ieee1275/time.h: Likewise.
35382 * kern/i386/ieee1275/init.c: Likewise.
35383 * kern/i386/ieee1275/startup.S: Likewise.
35384
d1bc1b73 353852008-01-15 Robert Millan <rmh@aybabtu.com>
35386
35387 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
35388 when pointers are 32-bit (but still do set it to one when they are
35389 64-bit).
35390
66a65807 353912008-01-15 Robert Millan <rmh@aybabtu.com>
35392
35393 * include/grub/ieee1275/ieee1275.h
35394 (grub_ieee1275_get_integer_property): New function prototype.
35395
35396 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
35397 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 35398 grub_ieee1275_get_property() to handle endianness.
66a65807 35399
35400 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
35401 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 35402 where appropriate.
66a65807 35403 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
35404 (grub_map): Likewise.
35405 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
35406
a83ccafd 354072008-01-15 Bean <bean123ch@gmail.com>
35408
35409 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
35410 (grub_script_execute_cmdline): Reset grub_errno.
35411
35412 * normal/main.c (read_config_file): Reset grub_errno.
35413
35414 * normal/parse.y (script_init): New.
35415 (script): Move function and menuentry here.
35416 (delimiter): New.
35417 (command): Add delimiter at the end of command.
35418 (commands): Adjust to match the new command.
35419 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 35420 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 35421 (if): Use the new commands.
35422
35423 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
35424
df6ecfc6 354252008-01-15 Robert Millan <rmh@aybabtu.com>
35426
35427 * normal/menu.c (run_menu): Move timeout message from here ...
35428 (print_timeout): ... to here.
35429 (run_menu): Use print_timeout() once during initial draw to print
35430 the whole message, and again in every clock tick to update only
35431 the number of seconds.
35432
87ae25eb 354332008-01-15 Robert Millan <rmh@aybabtu.com>
35434
35435 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
35436 actual size of `available' from grub_ieee1275_get_property(), and
35437 restrict parsing to that bound.
35438
47bf09a4 354392008-01-15 Christian Franke <franke@computer.org>
35440
35441 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
35442 (argp_program_version): Remove variable.
35443 (argp_program_bug_address): Likewise.
35444 (options): Convert from struct argp_option to struct option.
35445 (struct arguments): Remove.
35446 (parse_opt): Remove.
35447 (usage): New function.
35448 (main): Replace struct args members by simple variables.
35449 Replace argp_parse() by getopt_long().
35450 Add switch to evaluate options.
35451 Add missing "(...)" around root_dev in prefix string.
35452
c86f1469 354532008-01-14 Robert Millan <rmh@aybabtu.com>
35454
35455 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
35456 for grub_ieee1275_exit(), in order to improve portability.
35457
e622c559 354582008-01-14 Robert Millan <rmh@aybabtu.com>
35459
35460 * util/grub.d/10_linux.in (prefix): Define.
35461 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
35462
44cb1ec8 354632008-01-13 Pavel Roskin <proski@gnu.org>
35464
35465 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
35466 grub_errno if no errors have been detected.
35467
1eb8c802 354682008-01-12 Robert Millan <rmh@aybabtu.com>
35469
35470 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
35471 (grub_util_get_dev_abstraction): New function prototype.
35472
35473 * util/getroot.c: Include `<grub/util/getroot.h>'
35474 (grub_util_get_grub_dev): Move detection of abstraction type to ...
35475 (grub_util_get_dev_abstraction): ... here (new function).
35476
35477 * util/grub-probe.c: Convert PRINT_* to an enum. Add
35478 `PRINT_ABSTRACTION'.
35479 (probe): Probe for abstraction type when requested.
35480 (main): Understand `--target=abstraction'.
35481
35482 * util/i386/efi/grub-install.in: Add abstraction module to core
35483 image when it is found to be necessary.
35484 * util/i386/pc/grub-install.in: Likewise.
35485 * util/powerpc/ieee1275/grub-install.in: Likewise.
35486
35487 * util/update-grub_lib.in (font_path): Return system path without
35488 converting to GRUB path.
35489 * util/update-grub.in: Convert system path returned by font_path()
35490 to a GRUB path. Use `grub-probe -t abstraction' to determine what
35491 abstraction module is needed for loading fonts (if any). Export
35492 that as `GRUB_PRELOAD_MODULES'.
35493 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
35494 insmod commands).
35495
52bd3de9 354962008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
35497
35498 Remove some unused code from reiserfs.
f19dbdb7 35499
52bd3de9 35500 * fs/reiserfs.c (struct grub_reiserfs_key)
35501 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
35502 (struct grub_reiserfs_node_body): Removed.
35503 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
35504 Likewise.
35505 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35506 Likewise.
35507 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35508 Likewise.
35509 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
35510 Likewise.
35511 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
35512 Likewise.
35513 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
35514 Likewise.
35515 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35516 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35517 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
35518
2f80039d 355192008-01-10 Robert Millan <rmh@aybabtu.com>
35520
35521 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
35522 Determines if a file is garbage left by packaging systems, etc.
35523 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
35524 for processing /etc/grub.d scripts.
35525 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
35526 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
35527 as a condition for processing Linux images.
35528
87888032 355292008-01-10 Pavel Roskin <proski@gnu.org>
35530
35531 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
35532 to compile reiserfs.c on PowerPC.
35533
7e54fced 355342008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 35535
35536 * kern/device.c (grub_device_iterate): Do not abort device iteration
35537 when one of the devices cannot be opened.
35538 * kern/disk.c (grub_disk_open): Do not account previous failures of
35539 unrelated functions when grub_errno is checked for.
35540
5aa541e6 355412008-01-08 Robert Millan <rmh@aybabtu.com>
35542
35543 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
35544 `! grub_linux_is_bzimage', change order of address comparison to make
35545 it more intuitive, and improve "too big zImage" error message.
35546
7076340d 355472008-01-08 Robert Millan <rmh@aybabtu.com>
35548
35549 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
35550 `$(update-grub_DATA)'.
35551 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
35552 targets.
35553
9ca70333 355542008-01-07 Robert Millan <rmh@aybabtu.com>
35555
35556 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
35557 which instruction is modified by grub-setup during installation
35558 (since it wasn't obvious by only looking at this file).
35559
38ccf575 355602008-01-07 Robert Millan <rmh@aybabtu.com>
35561
35562 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
35563 listing actual TODO items.
35564
f5db4291 355652008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35566
868967cf 35567 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
35568 correctly.
35569 (grub_reiserfs_get_key_offset): Likewise.
35570 (grub_reiserfs_set_key_offset): Likewise.
35571 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 35572 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 35573
35574 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
35575 better to remove the bitfield version completely.
f19dbdb7 35576
868967cf 355772008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 35578
f5db4291 35579 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
35580 allocated from the heap, due to the fshelp implementation.
35581 (grub_reiserfs_dir): Free NODE, due to the same reason.
35582
492e6d9d 355832008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
35584
35585 Mostly from Vincent Pelletier:
f19dbdb7 35586
492e6d9d 35587 * fs/reiserfs.c: New file.
f19dbdb7 35588
492e6d9d 35589 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
35590 (reiserfs_mod_SOURCES): New variable.
35591 (reiserfs_mod_CFLAGS): Likewise.
35592 (reiserfs_mod_LDFLAGS): Likewise.
35593
35594 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
35595 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
35596 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
35597 normal/color.c.
35598
9ce3e7c1 355992008-01-06 Robert Millan <rmh@aybabtu.com>
35600
35601 * normal/color.c: Remove `<grub/env.h>'.
35602
f3b58148 356032008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
35604
35605 * include/grub/normal.h: Include <grub/env.h>.
35606
7ac3bcfa 356072008-01-05 Robert Millan <rmh@aybabtu.com>
35608
35609 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
35610 usage example with `(hd0,1)'.
fb358190 35611 Reported by Samuel Thibault.
7ac3bcfa 35612
c8ee99d7 356132008-01-05 Robert Millan <rmh@aybabtu.com>
35614
35615 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
35616 (grub_linux_boot_zimage): Rename to ...
35617 (grub_linux_boot): ... this.
35618 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
35619 (grub_linux_boot_zimage): Conditionalize zImage copy.
35620
35621 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
35622 (grub_linux_boot_bzimage): Remove prototype.
35623 (grub_linux_boot_zimage): Rename to ...
35624 (grub_linux_boot): ... this.
35625
35626 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
35627 (grub_linux_boot): Remove function.
35628
0ece25b1 356292008-01-05 Robert Millan <rmh@aybabtu.com>
35630
35631 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
35632 (grub_env_write_color_highlight): Likewise.
35633 (grub_wait_after_message): Likewise.
35634
35635 * normal/color.c: New file.
35636
35637 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35638 (normal_mod_DEPENDENCIES): Likewise.
35639
35640 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35641 (normal_mod_DEPENDENCIES): Likewise.
35642
35643 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35644 (normal_mod_DEPENDENCIES): Likewise.
35645
35646 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
35647 (normal_mod_DEPENDENCIES): Likewise.
35648
35649 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
35650 for waiting after a message is printed.
35651 * normal/main.c (read_config_file): Likewise.
35652 (grub_normal_init): Register grub_env_write_color_normal() and
35653 grub_env_write_color_highlight() hooks. Mark `color_normal' and
35654 `color_highlight' variables as global.
35655
35656 * normal/menu.c (grub_wait_after_message): New function.
35657 (grub_color_menu_normal): New variable. Replaces ...
35658 (GRUB_COLOR_MENU_NORMAL): ... this macro.
35659 (grub_color_menu_highlight): New variable. Replaces ...
35660 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
35661 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
35662 `GRUB_TERM_COLOR_STANDARD'.
35663 (print_message): Use `grub_setcolorstate' to reload colors. Rename
35664 `normal_code' and `highlight_code' to `old_color_normal' and
35665 `old_color_highlight', respectively.
35666 (grub_menu_init_page): Update colors when drawing the menu, based on
35667 `menu_color_normal' and `menu_color_highlight' variables.
35668 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
35669 a message is printed.
35670
182dd4e5 356712008-01-05 Robert Millan <rmh@aybabtu.com>
35672
35673 * kern/env.c (grub_env_context_open): Propagate hooks for global
35674 variables to new context.
35675
35676 * kern/main.c (grub_set_root_dev): Export `root' variable.
35677
ddf8f6ad 356782008-01-05 Robert Millan <rmh@aybabtu.com>
35679
35680 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 35681 discs unconditionally, since udev and others have options to provide
ddf8f6ad 35682 them.
35683
d8b43d9b 356842008-01-05 Robert Millan <rmh@aybabtu.com>
35685
35686 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
35687
2bff2de3 356882008-01-04 Christian Franke <franke@computer.org>
35689
35690 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
35691 of eisa_mmap.
35692
97eab917 356932008-01-03 Pavel Roskin <proski@gnu.org>
35694
35695 * kern/i386/linuxbios/init.c: Put "void" to all function
35696 declarations with no arguments.
35697 * kern/powerpc/ieee1275/init.c: Likewise.
35698 * term/i386/pc/at_keyboard.c: Likewise.
35699 * term/i386/pc/vga_text.c: Likewise.
35700 * util/grub-mkdevicemap.c: Likewise.
35701
b9416d00 357022008-01-02 Robert Millan <rmh@aybabtu.com>
35703
35704 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
35705 message when loaded image is out of bounds.
35706 (grub_multiboot_load_elf64): Likewise.
35707
92695df9 357082008-01-02 Pavel Roskin <proski@gnu.org>
35709
35710 * util/grub.d/10_linux.in: Try version without ".old" when
35711 looking for initrd. It's better to use initrd from the newer
35712 kernel of the same version than no initrd at all.
35713
d98d9cad 357142008-01-01 Robert Millan <rmh@aybabtu.com>
35715
35716 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
35717
dbfdce36 357182008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
35719
f19dbdb7 35720 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 35721 grub_video_get_active_render_target.
35722 (grub_video_adapter): Added unmap_color and get_active_render_target.
35723
f19dbdb7 35724 * video/video.c: Added grub_video_unmap_color and
dbfdce36 35725 grub_video_get_active_render_target.
35726 (grub_video_get_info): Changed method to accept NULL pointer as an
35727 argument to allow detection of active video adapter.
35728
35729 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
35730 grub_video_vbe_unmap_color_int.
35731 Added grub_video_vbe_unmap_color and
35732 grub_video_vbe_get_active_render_target.
35733 (grub_video_vbe_adapter): Added unmap_color and
35734 get_active_render_target.
35735
f19dbdb7 35736 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 35737 with grub_video_vbe_unmap_color_int.
35738
35739 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
35740 (DEFAULT_NORMAL_COLOR): Likewise.
35741 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
35742 (DEFAULT_FG_COLOR): Removed.
35743 (DEFAULT_BG_COLOR): Likewise.
35744 (DEFAULT_CURSOR_COLOR): Changed value.
35745 (grub_virtual_screen): Added standard_color_setting,
35746 normal_color_setting, highlight_color_setting and term_color.
35747 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
35748 (bitmap_width): Added.
35749 (bitmap_height): Likewise.
35750 (bitmap): Likewise.
35751 (set_term_color): Likewise.
35752 (grub_virtual_screen_setup): Changed to use new terminal coloring
35753 settings.
35754 (grub_gfxterm_init): Added init for bitmap.
35755 (grub_gfxterm_fini): Added destroy for bitmap.
35756 (redraw_screen_rect): Updated to use background bitmap and new
35757 terminal coloring.
35758 (scroll_up): Added optimization for case when there is no bitmap.
35759 (grub_gfxterm_cls): Fixed to use correct background color.
35760 (grub_virtual_screen_setcolorstate): Changed to use new terminal
35761 coloring.
35762 (grub_virtual_screen_setcolor): Likewise.
35763 (grub_virtual_screen_getcolor): Added.
35764 (grub_gfxterm_background_image_cmd): Likewise.
35765 (grub_video_term): Added setcolor and getcolor.
35766 (MOD_INIT): Added registration of background_image command.
35767 (MOD_TERM): Added unregistration for background_image command.
35768
c3c20931 357692007-12-30 Pavel Roskin <proski@gnu.org>
35770
35771 * loader/multiboot_loader.c: Fix multiboot command
35772 unregistration. Fix all typos in the word "multiboot".
35773
df266716 357742007-12-29 Pavel Roskin <proski@gnu.org>
94239199 35775
35776 * util/grub.d/10_linux.in: Refactor search for initrd. Add
35777 support for initrd names used in Fedora.
35778
fc6e896c 357792007-12-26 Bean <bean123ch@gmail.com>
35780
35781 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
35782 (cpio_mod_SOURCES): New variable.
35783 (cpio_mod_CFLAGS): Likewise.
35784 (cpio_mod_LDFLAGS): Likewise.
35785
35786 * fs/cpio.c: New file.
35787
35788 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
35789
35790 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35791
35792 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
35793
35794 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35795
533110ad 357962007-12-25 Robert Millan <rmh@aybabtu.com>
35797
35798 * include/grub/term.h (struct grub_term): Add `getcolor' function.
35799 (grub_getcolor): New function.
35800
35801 * kern/term.c (grub_getcolor): New function.
35802 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
35803 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
35804 (print_entry): Set normal and highlight colors to
35805 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
35806 respectively, before printing and restore them to old
35807 values afterwards.
35808 (grub_menu_init_page): Likewise. Fill an additional colored space
35809 that would otherwise be left blank.
35810
35811 * term/efi/console.c (grub_console_getcolor): New function.
35812 (struct grub_console_term.getcolor): New variable.
35813 * term/i386/pc/console.c (grub_console_getcolor): New function.
35814 (struct grub_console_term.getcolor): New variable.
35815 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
35816 (struct grub_console_term.getcolor): New variable.
35817
35818 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
35819 (struct grub_console_term.setcolor): Remove variable.
35820 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
35821 (struct grub_console_term.setcolor): Remove variable.
35822 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
35823 (struct grub_console_term.setcolor): Remove variable.
35824 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
35825 (struct grub_console_term.setcolor): Remove variable.
35826
4931827f 358272007-12-25 Robert Millan <rmh@aybabtu.com>
35828
35829 * configure.ac: Search for possible unifont.hex locations, and
35830 define UNIFONT_HEX if found.
35831
35832 * Makefile.in (UNIFONT_HEX): Define variable.
35833 (DATA): Rename to ...
35834 (PKGLIB): ... this. Update all users.
35835 (PKGDATA): New variable.
35836 (pkgdata_IMAGES): Rename to ...
35837 (pkglib_IMAGES): ... this. Update all users.
35838 (pkgdata_MODULES): Rename to ...
35839 (pkglib_MODULES): ... this. Update all users.
35840 (pkgdata_PROGRAMS): Rename to ...
35841 (pkglib_PROGRAMS): ... this. Update all users.
35842 (pkgdata_DATA): Rename to ...
35843 (pkglib_DATA): ... this. Update all users.
35844 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
35845 (unicode.pff, ascii.pff): New rules.
35846 (all-local): Add `$(PKGDATA)' dependency.
35847 (install-local): Process `$(PKGDATA)'.
35848
35849 * util/update-grub_lib.in (font_path): Search for *.pff files in
35850 a few more locations, including `${pkgdata}'.
35851
57e57e31 358522007-12-23 Robert Millan <rmh@aybabtu.com>
35853
35854 Patch from Bean <bean123ch@gmail.com>:
35855 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
35856 `size'.
35857
4bc72aa9 358582007-12-21 Bean <bean123ch@gmail.com>
35859
35860 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
35861 (ntfscomp_mod_SOURCES): New variable.
35862 (ntfscomp_mod_CFLAGS): Likewise.
35863 (ntfscomp_mod_LDFLAGS): Likewise.
35864
35865 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
35866 (grub_probe_SOURCES): Likewise.
35867 (grub_emu_SOURCES): Likewise.
35868
35869 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
35870 (grub_emu_SOURCES): Likewise.
35871
35872 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
35873 (grub_emu_SOURCES): Likewise.
35874
35875 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
35876 (grub_emu_SOURCES): Likewise.
35877
35878 * fs/ntfs.c (grub_ntfscomp_func): New variable.
35879 (read_run_list): Renamed to grub_ntfs_read_run_list.
35880 (decomp_nextvcn): Moved to ntfscomp.c.
35881 (decomp_getch): Likewise.
35882 (decomp_get16): Likewise.
35883 (decomp_block): Likewise.
35884 (read_block): Likewise.
35885 (read_data): Partially moved to ntfscomp.c.
35886 (fixup): Change unsigned to grub_uint16_t.
35887 (read_mft): Change unsigned long to grub_uint32_t.
35888 (read_attr): Likewise.
35889 (read_data): Likewise.
35890 (read_run_data): Likewise.
35891 (read_run_list): Likewise.
35892 (read_mft): Likewise.
35893
35894 * fs/ntfscomp.c: New file.
35895
35896 * include/grub/ntfs.h: New file.
35897
af680a87 358982007-12-16 Robert Millan <rmh@aybabtu.com>
35899
35900 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
35901 IDE disk check, since Linux is known to support 20 IDE disks.
35902 Reported by Colin Watson.
35903
84be7599 359042007-12-15 Bean <bean123ch@gmail.com>
35905
35906 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
35907 (lnxboot_img_SOURCES): New variable.
35908 (lnxboot_img_ASFLAGS): Likewise.
35909 (lnxboot_img_LDFLAGS): Likewise.
35910
35911 * boot/i386/pc/lnxboot.S: New file.
35912
6af9db01 359132007-11-24 Pavel Roskin <proski@gnu.org>
35914
35915 * configure.ac: Test if '--build-id=none' is supported by the
35916 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
35917 objcopy to generate incorrect binary files (binutils
35918 2.17.50.0.18-1 as shipped by Fedora 8).
35919 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
35920 linking, so that build ID doesn't break the test.
35921
7361cfe6 359222007-11-24 Pavel Roskin <proski@gnu.org>
35923
35924 * include/grub/i386/time.h: use "void" in the argument list
35925 of grub_cpu_idle().
35926 * include/grub/powerpc/time.h: Likewise.
35927 * include/grub/sparc64/time.h: Likewise.
35928
1593e10c 359292007-11-18 Christian Franke <franke@computer.org>
35930
35931 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
35932 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
35933 This fixes the problem that function keys did not work in grub-emu.
35934
3b8db1a8 359352007-11-18 Christian Franke <franke@computer.org>
35936
35937 * disk/host.c (grub_host_open): Remove attribute unused from
35938 name parameter. Add check for "host". This fixes the problem
35939 that grub-emu does not find partitions.
35940
2e29408d 359412007-11-18 Christian Franke <franke@computer.org>
35942
35943 * util/hostfs.c (is_dir): New function.
35944 (grub_hostfs_dir): Handle missing dirent.d_type case.
35945 (grub_hostfs_read): Add missing fseek().
35946 (grub_hostfs_label): Clear label pointer. This fixes a crash
35947 of grub-emu on "ls (host)".
35948
398cd047 359492007-11-18 Christian Franke <franke@computer.org>
35950
35951 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
35952 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
35953 to 64 bit boundary by default.
35954
c405c391 359552007-11-18 Bean <bean123ch@gmail.com>
35956
35957 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
35958 (hexdump_mod_SOURCES): New variable.
35959 (hexdump_mod_CFLAGS): Likewise.
35960 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 35961
c405c391 35962 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35963
35964 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35965
35966 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35967
35968 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
35969
35970 * include/grub/hexdump.h: New file.
35971
35972 * commands/hexdump.c: New file.
35973
5cced7fd 359742007-11-10 Robert Millan <rmh@aybabtu.com>
35975
35976 * commands/i386/pc/play.c (beep_off): Switch order of arguments
35977 in grub_outb() calls.
35978 (beep_on): Likewise.
35979
8b714eb0 359802007-11-10 Christian Franke <franke@computer.org>
35981
35982 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
35983 (grub_menu_run): Likewise.
35984
ce0f1839 359852007-11-10 Robert Millan <rmh@aybabtu.com>
35986
35987 * include/grub/i386/efi/machine.h: New file.
35988 * include/grub/i386/linuxbios/machine.h: Likewise.
35989 * include/grub/i386/pc/machine.h: Likewise.
35990 * include/grub/powerpc/ieee1275/machine.h: Likewise.
35991 * include/grub/sparc64/ieee1275/machine.h: Likewise.
35992
35993 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
35994 (serial_hw_io_addr): New variable.
35995 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
35996 instead of `(unsigned short *) 0x400'.
35997
270c237d 359982007-11-10 Bean <bean123ch@gmail.com>
35999
36000 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
36001
a87783bf 360022007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
36003
36004 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
36005 (vga_mod_SOURCES): Added.
36006 (vga_mod_CFLAGS): Likewise.
36007 (vga_mod_LDFLAGS): Likewise.
36008
36009 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
36010 grub_outb() calls.
36011 (set_map_mask): Likewise.
36012 (set_read_map): Likewise.
36013 (set_read_address): Likewise.
36014 (vga_font): Removed variable.
36015 (get_vga_glyph): Removed function.
36016 (invalidate_char): Likewise.
36017 (write_char): Changed to use grub_font_get_glyph() for font
36018 information.
36019 (grub_vga_putchar): Likewise.
36020 (grub_vga_getcharwidth): Likewise.
36021
6433b448 360222007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
36023
36024 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
36025 flags.
36026 (pxeboot_img_LDFLAGS): Likewise.
36027 (diskboot_img_LDFLAGS): Likewise.
36028 (kernel_img_LDFLAGS): Likewise.
36029
49178511 360302007-11-06 Robert Millan <rmh@aybabtu.com>
36031
36032 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
36033 in grub_outb() calls.
36034 (serial_hw_init): Likewise.
36035
53b052de 360362007-11-05 Robert Millan <rmh@aybabtu.com>
36037
36038 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
36039 spaces. Skip non-regular files.
36040
5ab33bba 360412007-11-05 Robert Millan <rmh@aybabtu.com>
36042
36043 * kern/disk.c (grub_disk_firmware_fini)
36044 (grub_disk_firmware_is_tainted): New variables.
36045
36046 * include/grub/disk.h (grub_disk_firmware_fini)
36047 (grub_disk_firmware_is_tainted): Likewise.
36048
36049 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
36050 (grub_disk_biosdisk_fini): ... to here.
36051 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
36052 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
36053 is set. Register grub_disk_biosdisk_fini() in
36054 `grub_disk_firmware_fini'.
36055
36056 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
36057 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
36058 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
36059 to finish existing firmware disk interface.
36060
36061 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
36062 (ata_mod_SOURCES): New variable.
36063 (ata_mod_CFLAGS): Likewise.
36064 (ata_mod_LDFLAGS): Likewise.
36065
0149ab7c 360662007-11-05 Robert Millan <rmh@aybabtu.com>
36067
36068 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
36069 (grub_ata_wait): Reimplement using grub_millisleep().
36070
36071 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
36072 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
36073
be7ac41e 360742007-11-03 Marco Gerards <marco@gnu.org>
36075
36076 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
36077 (CRTC_ADDR_PORT): New macro.
36078 (CRTC_DATA_PORT): Likewise.
36079 (CRTC_CURSOR): Likewise.
36080 (CRTC_CURSOR_ADDR_HIGH): Likewise.
36081 (CRTC_CURSOR_ADDR_LOW): Likewise.
36082 (update_cursor): New function.
36083 (grub_console_real_putchar): Call `update_cursor'.
36084 (grub_console_gotoxy): Likewise.
36085 (grub_console_cls): Set the default color when clearing the
36086 screen.
36087 (grub_console_setcursor): Implemented.
36088
bb06ab2e 360892007-11-03 Marco Gerards <marco@gnu.org>
36090
36091 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
36092 become activate.
36093 (grub_ata_pio_write): Likewise.
36094
36095 (grub_atapi_identify): Wait after issuing an ATA command.
36096 (grub_atapi_packet): Likewise.
36097 (grub_ata_identify): Likewise.
36098 (grub_ata_readwrite): Likewise.
36099
cf8f780b 361002007-11-03 Marco Gerards <marco@gnu.org>
36101
36102 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
36103 (grub_ata_pio_write): Likewise.
36104 (grub_ata_readwrite): Use `grub_error', instead of
36105 returning `grub_errno'.
36106
ed649e54 361072007-11-03 Marco Gerards <marco@gnu.org>
36108
36109 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
36110 grub_ata_pio_write once for every single sector, instead of for
36111 multiple sectors.
36112
ca25d8f0 361132007-10-31 Robert Millan <rmh@aybabtu.com>
36114
36115 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
36116
36117 * conf/i386-linuxbios.rmk: New file.
36118
36119 * kern/i386/pc/hardware.c: Likewise.
36120 * term/i386/pc/at_keyboard.c: Likewise.
36121 * term/i386/pc/vga_text.c: Likewise.
36122
36123 * include/grub/i386/linuxbios/boot.h: Likewise.
36124 * include/grub/i386/linuxbios/console.h: Likewise.
36125 * include/grub/i386/linuxbios/init.h: Likewise.
36126 * include/grub/i386/linuxbios/kernel.h: Likewise.
36127 * include/grub/i386/linuxbios/loader.h: Likewise.
36128 * include/grub/i386/linuxbios/memory.h: Likewise.
36129 * include/grub/i386/linuxbios/serial.h: Likewise.
36130 * include/grub/i386/linuxbios/time.h: Likewise.
36131
36132 * kern/i386/linuxbios/init.c: Likewise.
36133 * kern/i386/linuxbios/startup.S: Likewise.
36134 * kern/i386/linuxbios/table.c: Likewise.
36135
e911ecc1 361362007-10-31 Marco Gerards <marco@gnu.org>
36137
36138 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
36139 (ata_mod_SOURCES): New variable.
36140 (ata_mod_CFLAGS): Likewise.
36141 (ata_mod_LDFLAGS): Likewise.
36142
36143 * disk/ata.c: New file.
36144
36145 * include/grub/disk.h (grub_disk_dev_id): Add
36146 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 36147
7f66d0e0 361482007-10-31 Robert Millan <rmh@aybabtu.com>
36149
36150 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
36151 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
36152
36153 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
36154 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
36155
36156 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
36157 `<grub/types.h>'.
36158
36159 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
36160
5cd7dd46 361612007-10-27 Robert Millan <rmh@aybabtu.com>
36162
3236ca65 36163 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 36164
2ebfc90f 361652007-10-22 Robert Millan <rmh@aybabtu.com>
36166
36167 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
36168 `"../realmode.S"'.
36169 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
36170
73fcb0f3 361712007-10-22 Robert Millan <rmh@aybabtu.com>
36172
36173 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
36174 (pkgdata_MODULES): Add `biosdisk.mod'.
36175 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
36176 variables.
36177
36178 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
36179 (grub_biosdisk_init): Replace with ...
36180 (GRUB_MOD_INIT(biosdisk)): ... this.
36181 (grub_biosdisk_fini): Replace with ...
36182 (GRUB_MOD_FINI(biosdisk)): ... this.
36183
36184 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
36185 (grub_machine_init): Remove call to grub_biosdisk_init().
36186 (grub_machine_fini): Remove call to grub_machine_fini().
36187
36188 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
36189
3381d274 361902007-10-22 Robert Millan <rmh@aybabtu.com>
36191
36192 * include/grub/time.h: New file.
36193 * include/grub/i386/time.h: Likewise.
36194 * include/grub/powerpc/time.h: Likewise.
36195 * include/grub/sparc64/time.h: Likewise.
36196
36197 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
36198 instances to ...
36199 (KERNEL_MACHINE_TIME_HEADER): ... this.
36200 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36201 instances to ...
36202 (KERNEL_MACHINE_TIME_HEADER): ... this.
36203 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
36204 instances to ...
36205 (KERNEL_MACHINE_TIME_HEADER): ... this.
36206
36207 * kern/i386/efi/init.c: Include `<grub/time.h>'.
36208 (grub_millisleep): New function.
36209 * kern/i386/pc/init.c: Include `<grub/time.h>'.
36210 (grub_millisleep): New function.
36211 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
36212 Remove `grub/machine/time.h' include.
36213 (grub_millisleep): New function.
36214 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
36215 Remove `grub/machine/time.h' include.
36216 (grub_millisleep): New function.
36217
36218 * include/grub/misc.h (grub_div_roundup): New function.
36219
36220 * kern/misc.c: Include `<grub/time.h>'.
36221 (grub_millisleep_generic): New function.
36222
36223 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
36224 Add `time.h'.
36225 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
36226 Add `time.h'.
36227 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
36228 `machine/time.h'. Add `time.h'.
36229 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
36230
a39a0312 362312007-10-21 Robert Millan <rmh@aybabtu.com>
36232
36233 * include/grub/misc.h (grub_max): New function.
36234
2aad70e2 362352007-10-21 Robert Millan <rmh@aybabtu.com>
36236
36237 * util/misc.c (grub_util_info): Call fflush() before returning.
36238
54b71c4b 362392007-10-20 Robert Millan <rmh@aybabtu.com>
36240
36241 * genmk.rb (Image): Copy `extra_flags' from here ...
36242 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
36243
36244 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
36245 to `argc' and `args' arguments.
36246
a979f513 362472007-10-17 Robert Millan <rmh@aybabtu.com>
36248
36249 * kern/i386/loader.S: New file.
36250
36251 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
36252 * kern/i386/loader.S (grub_linux_prot_size)... to here.
36253 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
36254 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
36255 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
36256 * kern/i386/loader.S (grub_linux_real_addr)... to here.
36257 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
36258 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
36259 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
36260 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
36261 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
36262 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
36263 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
36264 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
36265
36266 * kern/i386/realmode.S: New file.
36267
36268 * kern/i386/pc/startup.S (protstack): Moved from here ...
36269 * kern/i386/realmode.S (protstack)... to here.
36270 * kern/i386/pc/startup.S (gdt): Moved from here ...
36271 * kern/i386/realmode.S (gdt)... to here.
36272 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
36273 * kern/i386/realmode.S (prot_to_real)... to here.
36274
36275 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
36276 `kern/i386/realmode.S'.
36277
825fc8fd 362782007-10-17 Robert Millan <rmh@aybabtu.com>
36279
36280 * include/grub/i386/loader.h: New file.
36281
36282 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
36283 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
36284 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
36285 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
36286 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
36287 * include/grub/i386/loader.h (grub_linux_prot_size)
36288 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
36289 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
36290 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
36291 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
36292
36293 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
36294
e179b2f4 362952007-10-15 Robert Millan <rmh@aybabtu.com>
36296
36297 * normal/misc.c (grub_normal_print_device_info): Do not probe for
36298 filesystem when dev->disk is unset.
36299 Do probe for filesystem even when dev->disk->has_partitions is set.
36300 In case a filesystem is found, always report it.
36301 In case it isn't, if dev->disk->has_partitions is set, report that
36302 a partition table was found instead of reporting that no filesystem
36303 could be identified.
36304
5db82af6 363052007-10-12 Robert Millan <rmh@aybabtu.com>
36306
36307 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
36308 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
36309
68f6ac74 36310 * include/grub/types.h (grub_host_to_target16): New macro.
36311 (grub_host_to_target32): Likewise.
36312 (grub_host_to_target64): Likewise.
36313 (grub_target_to_host16): Likewise.
36314 (grub_target_to_host32): Likewise.
36315 (grub_target_to_host64): Likewise.
5db82af6 36316
36317 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
36318 Renamed from to ...
36319 (GRUB_MOD_ALIGN): ...this. Update all users.
36320
68f6ac74 36321 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
36322 grub_host_to_target32.
36323 Replace grub_be_to_cpu32 with grub_target_to_host32.
36324 (load_modules): Likewise.
36325 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
36326 Replace grub_be_to_cpu32 with grub_target_to_host32.
36327 Replace grub_cpu_to_be16 with grub_host_to_target16.
36328 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 36329
3cf497cc 363302007-10-12 Robert Millan <rmh@aybabtu.com>
36331
36332 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
36333 * util/elf/grub-mkimage.c: ... here.
36334
36335 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
36336 `util/powerpc/ieee1275/grub-mkimage.c'.
36337
c8cc3692 363382007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 36339
c8cc3692 36340 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
36341 and make it easier to figure out.
36342 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
36343 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
36344 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
36345 leave us with less than HEAP_MIN_SIZE total heap.
36346 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 36347
5c58b791 363482007-10-03 Robert Millan <rmh@aybabtu.com>
36349
36350 * include/grub/i386/io.h: New file.
36351 * commands/i386/pc/play.c (inb): Removed.
36352 (outb): Removed.
36353 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36354 with grub_outb().
afcd2ef8 36355 * term/i386/pc/serial.c (inb): Removed.
36356 (outb): Removed.
36357 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36358 with grub_outb().
36359 * term/i386/pc/vga.c (inb): Removed.
36360 (outb): Removed.
36361 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
36362 with grub_outb().
5c58b791 36363
1a477ed6 363642007-10-02 Robert Millan <rmh@aybabtu.com>
36365
36366 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
36367 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36368 Reported by Marcin Kurek.
36369
6b5d80fa 363702007-09-07 Robert Millan <rmh@aybabtu.com>
36371
36372 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
36373 SmartFirmware version updates (as released by Sven Luther), and avoid
36374 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
36375 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
36376 known broken.
36377
5618afbf 363782007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36379
36380 From Hitoshi Ozeki:
36381 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
36382 when merging two regions.
36383
6139dcd9 363842007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36385
508e39ee 36386 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
36387 * normal/completion.c (grub_normal_do_completion): Likewise.
36388 Reported by Hitoshi Ozeki.
36389
363902007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36391
6139dcd9 36392 Do not use devices at boot in chainloading.
f19dbdb7 36393
6139dcd9 36394 * loader/i386/pc/chainloader.c (boot_drive): New variable.
36395 (boot_part_addr): Likewise.
36396 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
36397 with BOOT_DRIVE and BOOT_PART_ADDR.
36398 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
36399 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
36400
38da6516 364012007-08-29 Robert Millan <rmh@aybabtu.com>
36402
36403 Patch from Simon Peter <dn.tlp@gmx.net>:
36404 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
36405 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
36406 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
36407 util/i386/pc/grub-setup.c_DEPENDENCIES.
36408 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
36409 util/grub-probe.c_DEPENDENCIES.
36410 * conf/powerpc-ieee1275.rmk: Likewise.
36411
29d0928c 364122007-08-28 Robert Millan <rmh@aybabtu.com>
36413
36414 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
36415 to tell grub-mkdevicemap how to name devices.
36416 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
36417 feature).
36418
36419 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
36420 util/i386/get_disk_name.c.
36421 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
36422 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
36423 util/ieee1275/get_disk_name.c.
36424
36425 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
36426
36427 * DISTLIST: Add util/i386/get_disk_name.c and
36428 util/ieee1275/get_disk_name.c.
36429
36430 * util/grub-mkdevicemap.c: Replace device naming logic with
36431 grub_util_get_disk_name() calls.
36432
5a0d3cca 364332007-08-20 Robert Millan <rmh@aybabtu.com>
36434
36435 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
36436 (so that it works for both plural and singular quantities).
36437
8b72db2f 364382007-08-05 Robert Millan <rmh@aybabtu.com>
36439
36440 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
36441 so that [xz] isn't taken into account when determining order.
36442
352466bf 364432007-08-02 Marco Gerards <marco@gnu.org>
36444
36445 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
36446 `include/multiboot2.h', `include/grub/elfload.h',
36447 `include/multiboot.h', `include/grub/multiboot.h',
36448 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
36449 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
36450 `kern/elf.c', `loader/multiboot_loader.c',
36451 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
36452 `loader/i386/pc/multiboot2.c',
36453 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
36454 `util/i386/pc/grub-mkrescue.in'. Remove
36455 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
36456 `include/grub/i386/pc/util/biosdisk.h' and
36457 `include/grub/powerpc/ieee1275/multiboot.h'.
36458
8f096014 364592007-08-02 Bean <bean123ch@gmail.com>
36460
36461 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
36462 (ntfs_mod_SOURCES): New variable.
36463 (ntfs_mod_CFLAGS): Likewise.
36464 (ntfs_mod_LDFLAGS): Likewise.
36465
36466 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
36467 (grub_probe_SOURCES): Likewise.
36468 (grub_emu_SOURCES): Likewise.
36469
36470 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
36471 (grub_emu_SOURCES): Likewise.
36472
36473 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
36474 (grub_emu_SOURCES): Likewise.
f19dbdb7 36475
8f096014 36476 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
36477
36478 * fs/ntfs.c: New file.
36479
9959f7db 364802007-08-02 Bean <bean123ch@gmail.com>
36481
36482 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
36483
36484 * file.h (grub_file): Likewise.
36485
36486 * fshelp.h (grub_fshelp_read_file): Likewise.
36487
36488 * util/i386/pc/grub-setup.c (setup): Likewise.
36489 (save_first_sector): Likewise.
36490 (save_blocklists): Likewise.
f19dbdb7 36491
9959f7db 36492 * fs/affs.c (grub_affs_read_file): Likewise.
36493
36494 * fs/ext2.c (grub_ext2_read_file): Likewise.
36495
36496 * fs/fat.c (grub_fat_read_data): Likewise.
36497
36498 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
36499
36500 * fs/hfs.c (grub_hfs_read_file): Likewise.
36501
36502 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
36503
36504 * fs/jfs.c (grub_jfs_read_file): Likewise.
36505
36506 * fs/minix.c (grub_minix_read_file): Likewise.
36507
36508 * fs/sfs.c (grub_sfs_read_file): Likewise.
36509
36510 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 36511
9959f7db 36512 * fs/xfs.c (grub_xfs_read_file): Likewise.
36513
36514 * command/blocklist.c (read_blocklist): Likewise.
36515 (print_blocklist): Likewise.
36516
0a203f83 365172007-08-02 Marco Gerards <marco@gnu.org>
36518
36519 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
36520 `util/hostfs.c'.
36521
36522 * disk/host.c: New file.
36523
36524 * util/hostfs.c: Likewise.
36525
36526 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
36527 return `GRUB_ERR_BAD_FS'.
36528 * fs/sfs.c (grub_sfs_mount): Likewise.
36529 * fs/xfs.c (grub_xfs_mount): Likewise.
36530
36531 * include/grub/disk.h (enum grub_disk_dev_id): Add
36532 `GRUB_DISK_DEVICE_HOST_ID'.
36533
36534 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
36535
e5dfe777 365362007-07-24 Jerone Young <jerone@gmail.com>
36537
f19dbdb7 36538 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 36539 modules for compilation.
36540 * conf/powerpc-ieee1275.rmk: Likewise.
36541
36542 * include/multiboot.h: Move multiboot definitions to one file. Rename
36543 many definitions to not get grub specific.
36544 * include/multiboot2.h: Create header with multiboot 2 definitions.
36545 * include/grub/multiboot.h: Header for grub specific function
36546 prototypes and definitions.
36547 * include/grub/multiboot2.h: Likewise.
36548 * include/grub/multiboot_loader.h: Likewise.
36549 * include/grub/i386/pc/multiboot.h: Removed.
36550 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
36551
36552 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
36553 and 2 to allow for one multiboot and module commands.
36554 * loader/multiboot2.c: Add multiboot2 functionality.
36555 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
36556 and definition names.
36557 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
36558 2 functions.
36559 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
36560 ieee1275 specific multiboot2 code.
36561
36562 * kern/i386/pc/startup.S: Change headers and definition names for
36563 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
36564
daf0f0ba 365652007-07-22 Robert Millan <rmh@aybabtu.com>
36566
36567 * geninitheader.sh: Process file specified in first parameter rather
36568 than hardcoding grub_modules_init.lst.
fe6b695a 36569 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 36570 than hardcoding grub_modules_init.h.
36571
36572 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
36573 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
36574 grub_probe_init.[ch] and grub_setup_init.[ch].
36575
36576 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
36577 grub_modules_init.h with grub_emu_init.h.
36578 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
36579 grub_probe_init.[ch] files.
36580 * conf/i386-efi.rmk: Likewise.
36581 * conf/i386-pc.rmk: Likewise.
36582 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
36583 grub_setup_init.[ch] files.
36584
36585 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
36586 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
36587 to initialize modules rather than a list of hardcoded functions.
36588 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
36589 grub_init_all() to initialize modules rather than a list of hardcoded
36590 functions.
36591
54cdc1cc 365922007-07-22 Robert Millan <rmh@aybabtu.com>
36593
36594 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
36595 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
36596
ad0686cc 365972007-07-22 Robert Millan <rmh@aybabtu.com>
36598
36599 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
36600 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
36601 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
36602 flag when running on SmartFirmware.
36603 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
36604 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
36605 was set.
36606
36607 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
36608 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
36609 rather than decreasing it.
36610
36611 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
36612 there's not enough space to do it, fail in the same way as when it
36613 can't be done because there are no partitions.
36614
36615 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
36616 when nvsetenv failed.
36617
969c02ec 366182007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
36619
36620 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
36621 because this rule is automatically generated.
36622 (grub-mkrescue): Removed for the same reason as above.
36623
5a79f472 366242007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
36625
36626 Migrate to GNU General Public License Version 3.
f19dbdb7 36627
5a79f472 36628 * COPYING: Replaced with the plain text version of GPLv3.
36629
36630 * config.guess: Updated from gnulib.
36631 * config.sub: Likewise.
36632
36633 * geninit.sh: Output a GPLv3 copyright notice.
36634 * geninitheader.sh: Likewise.
36635 * genmodsrc.sh: Likewise.
36636 * gensymlist.sh.in: Likewise.
36637
36638 * boot/i386/pc/boot.S: Upgraded to GPLv3.
36639 * boot/i386/pc/diskboot.S: Likewise.
36640 * boot/i386/pc/pxeboot.S: Likewise.
36641 * commands/blocklist.c: Likewise.
36642 * commands/boot.c: Likewise.
36643 * commands/cat.c: Likewise.
36644 * commands/cmp.c: Likewise.
36645 * commands/configfile.c: Likewise.
36646 * commands/echo.c: Likewise.
36647 * commands/help.c: Likewise.
36648 * commands/ls.c: Likewise.
36649 * commands/search.c: Likewise.
36650 * commands/terminal.c: Likewise.
36651 * commands/test.c: Likewise.
36652 * commands/videotest.c: Likewise.
36653 * commands/i386/cpuid.c: Likewise.
36654 * commands/i386/pc/halt.c: Likewise.
36655 * commands/i386/pc/play.c: Likewise.
36656 * commands/i386/pc/reboot.c: Likewise.
36657 * commands/i386/pc/vbeinfo.c: Likewise.
36658 * commands/i386/pc/vbetest.c: Likewise.
36659 * commands/ieee1275/halt.c: Likewise.
36660 * commands/ieee1275/reboot.c: Likewise.
36661 * commands/ieee1275/suspend.c: Likewise.
36662 * disk/loopback.c: Likewise.
36663 * disk/lvm.c: Likewise.
36664 * disk/raid.c: Likewise.
36665 * disk/efi/efidisk.c: Likewise.
36666 * disk/i386/pc/biosdisk.c: Likewise.
36667 * disk/ieee1275/ofdisk.c: Likewise.
36668 * font/manager.c: Likewise.
36669 * fs/affs.c: Likewise.
36670 * fs/ext2.c: Likewise.
36671 * fs/fat.c: Likewise.
36672 * fs/fshelp.c: Likewise.
36673 * fs/hfs.c: Likewise.
36674 * fs/hfsplus.c: Likewise.
36675 * fs/iso9660.c: Likewise.
36676 * fs/jfs.c: Likewise.
36677 * fs/minix.c: Likewise.
36678 * fs/sfs.c: Likewise.
36679 * fs/ufs.c: Likewise.
36680 * fs/xfs.c: Likewise.
36681 * hello/hello.c: Likewise.
36682 * include/grub/acorn_filecore.h: Likewise.
36683 * include/grub/arg.h: Likewise.
36684 * include/grub/bitmap.h: Likewise.
36685 * include/grub/boot.h: Likewise.
36686 * include/grub/cache.h: Likewise.
36687 * include/grub/device.h: Likewise.
36688 * include/grub/disk.h: Likewise.
36689 * include/grub/dl.h: Likewise.
36690 * include/grub/elfload.h: Likewise.
36691 * include/grub/env.h: Likewise.
36692 * include/grub/err.h: Likewise.
36693 * include/grub/file.h: Likewise.
36694 * include/grub/font.h: Likewise.
36695 * include/grub/fs.h: Likewise.
36696 * include/grub/fshelp.h: Likewise.
36697 * include/grub/gzio.h: Likewise.
36698 * include/grub/hfs.h: Likewise.
36699 * include/grub/kernel.h: Likewise.
36700 * include/grub/loader.h: Likewise.
36701 * include/grub/lvm.h: Likewise.
36702 * include/grub/misc.h: Likewise.
36703 * include/grub/mm.h: Likewise.
36704 * include/grub/net.h: Likewise.
36705 * include/grub/normal.h: Likewise.
36706 * include/grub/parser.h: Likewise.
36707 * include/grub/partition.h: Likewise.
36708 * include/grub/pc_partition.h: Likewise.
36709 * include/grub/raid.h: Likewise.
36710 * include/grub/rescue.h: Likewise.
36711 * include/grub/script.h: Likewise.
36712 * include/grub/setjmp.h: Likewise.
36713 * include/grub/symbol.h: Likewise.
36714 * include/grub/term.h: Likewise.
36715 * include/grub/terminfo.h: Likewise.
36716 * include/grub/tparm.h: Likewise.
36717 * include/grub/types.h: Likewise.
36718 * include/grub/video.h: Likewise.
36719 * include/grub/efi/api.h: Likewise.
36720 * include/grub/efi/chainloader.h: Likewise.
36721 * include/grub/efi/console.h: Likewise.
36722 * include/grub/efi/console_control.h: Likewise.
36723 * include/grub/efi/disk.h: Likewise.
36724 * include/grub/efi/efi.h: Likewise.
36725 * include/grub/efi/pe32.h: Likewise.
36726 * include/grub/efi/time.h: Likewise.
36727 * include/grub/i386/linux.h: Likewise.
36728 * include/grub/i386/setjmp.h: Likewise.
36729 * include/grub/i386/types.h: Likewise.
36730 * include/grub/i386/efi/kernel.h: Likewise.
36731 * include/grub/i386/efi/loader.h: Likewise.
36732 * include/grub/i386/efi/time.h: Likewise.
36733 * include/grub/i386/pc/biosdisk.h: Likewise.
36734 * include/grub/i386/pc/boot.h: Likewise.
36735 * include/grub/i386/pc/chainloader.h: Likewise.
36736 * include/grub/i386/pc/console.h: Likewise.
36737 * include/grub/i386/pc/init.h: Likewise.
36738 * include/grub/i386/pc/kernel.h: Likewise.
36739 * include/grub/i386/pc/loader.h: Likewise.
36740 * include/grub/i386/pc/memory.h: Likewise.
36741 * include/grub/i386/pc/multiboot.h: Likewise.
36742 * include/grub/i386/pc/serial.h: Likewise.
36743 * include/grub/i386/pc/time.h: Likewise.
36744 * include/grub/i386/pc/vbe.h: Likewise.
36745 * include/grub/i386/pc/vbeblit.h: Likewise.
36746 * include/grub/i386/pc/vbefill.h: Likewise.
36747 * include/grub/i386/pc/vbeutil.h: Likewise.
36748 * include/grub/i386/pc/vga.h: Likewise.
36749 * include/grub/ieee1275/ieee1275.h: Likewise.
36750 * include/grub/ieee1275/ofdisk.h: Likewise.
36751 * include/grub/powerpc/libgcc.h: Likewise.
36752 * include/grub/powerpc/setjmp.h: Likewise.
36753 * include/grub/powerpc/types.h: Likewise.
36754 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
36755 * include/grub/powerpc/ieee1275/console.h: Likewise.
36756 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
36757 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
36758 * include/grub/powerpc/ieee1275/loader.h: Likewise.
36759 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
36760 * include/grub/powerpc/ieee1275/time.h: Likewise.
36761 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
36762 * include/grub/sparc64/libgcc.h: Likewise.
36763 * include/grub/sparc64/setjmp.h: Likewise.
36764 * include/grub/sparc64/types.h: Likewise.
36765 * include/grub/sparc64/ieee1275/console.h: Likewise.
36766 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
36767 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
36768 * include/grub/sparc64/ieee1275/time.h: Likewise.
36769 * include/grub/util/biosdisk.h: Likewise.
36770 * include/grub/util/getroot.h: Likewise.
36771 * include/grub/util/lvm.h: Likewise.
36772 * include/grub/util/misc.h: Likewise.
36773 * include/grub/util/raid.h: Likewise.
36774 * include/grub/util/resolve.h: Likewise.
36775 * io/gzio.c: Likewise.
36776 * kern/device.c: Likewise.
36777 * kern/disk.c: Likewise.
36778 * kern/dl.c: Likewise.
36779 * kern/elf.c: Likewise.
36780 * kern/env.c: Likewise.
36781 * kern/err.c: Likewise.
36782 * kern/file.c: Likewise.
36783 * kern/fs.c: Likewise.
36784 * kern/loader.c: Likewise.
36785 * kern/main.c: Likewise.
36786 * kern/misc.c: Likewise.
36787 * kern/mm.c: Likewise.
36788 * kern/parser.c: Likewise.
36789 * kern/partition.c: Likewise.
36790 * kern/rescue.c: Likewise.
36791 * kern/term.c: Likewise.
36792 * kern/efi/efi.c: Likewise.
36793 * kern/efi/init.c: Likewise.
36794 * kern/efi/mm.c: Likewise.
36795 * kern/i386/dl.c: Likewise.
36796 * kern/i386/efi/init.c: Likewise.
36797 * kern/i386/efi/startup.S: Likewise.
36798 * kern/i386/pc/init.c: Likewise.
36799 * kern/i386/pc/lzo1x.S: Likewise.
36800 * kern/i386/pc/startup.S: Likewise.
36801 * kern/ieee1275/ieee1275.c: Likewise.
36802 * kern/powerpc/cache.S: Likewise.
36803 * kern/powerpc/dl.c: Likewise.
36804 * kern/powerpc/ieee1275/cmain.c: Likewise.
36805 * kern/powerpc/ieee1275/crt0.S: Likewise.
36806 * kern/powerpc/ieee1275/init.c: Likewise.
36807 * kern/powerpc/ieee1275/openfw.c: Likewise.
36808 * kern/sparc64/cache.S: Likewise.
36809 * kern/sparc64/dl.c: Likewise.
36810 * kern/sparc64/ieee1275/init.c: Likewise.
36811 * kern/sparc64/ieee1275/openfw.c: Likewise.
36812 * loader/efi/chainloader.c: Likewise.
36813 * loader/efi/chainloader_normal.c: Likewise.
36814 * loader/i386/efi/linux.c: Likewise.
36815 * loader/i386/efi/linux_normal.c: Likewise.
36816 * loader/i386/pc/chainloader.c: Likewise.
36817 * loader/i386/pc/chainloader_normal.c: Likewise.
36818 * loader/i386/pc/linux.c: Likewise.
36819 * loader/i386/pc/linux_normal.c: Likewise.
36820 * loader/i386/pc/multiboot.c: Likewise.
36821 * loader/i386/pc/multiboot_normal.c: Likewise.
36822 * loader/powerpc/ieee1275/linux.c: Likewise.
36823 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36824 * normal/arg.c: Likewise.
36825 * normal/cmdline.c: Likewise.
36826 * normal/command.c: Likewise.
36827 * normal/completion.c: Likewise.
36828 * normal/execute.c: Likewise.
36829 * normal/function.c: Likewise.
36830 * normal/lexer.c: Likewise.
36831 * normal/main.c: Likewise.
36832 * normal/menu.c: Likewise.
36833 * normal/menu_entry.c: Likewise.
36834 * normal/misc.c: Likewise.
36835 * normal/parser.y: Likewise.
36836 * normal/script.c: Likewise.
36837 * normal/i386/setjmp.S: Likewise.
36838 * normal/powerpc/setjmp.S: Likewise.
36839 * normal/sparc64/setjmp.S: Likewise.
36840 * partmap/acorn.c: Likewise.
36841 * partmap/amiga.c: Likewise.
36842 * partmap/apple.c: Likewise.
36843 * partmap/gpt.c: Likewise.
36844 * partmap/pc.c: Likewise.
36845 * partmap/sun.c: Likewise.
36846 * term/gfxterm.c: Likewise.
36847 * term/terminfo.c: Likewise.
36848 * term/efi/console.c: Likewise.
36849 * term/i386/pc/console.c: Likewise.
36850 * term/i386/pc/serial.c: Likewise.
36851 * term/i386/pc/vesafb.c: Likewise.
36852 * term/i386/pc/vga.c: Likewise.
36853 * term/ieee1275/ofconsole.c: Likewise.
36854 * util/biosdisk.c: Likewise.
36855 * util/console.c: Likewise.
36856 * util/genmoddep.c: Likewise.
36857 * util/getroot.c: Likewise.
36858 * util/grub-emu.c: Likewise.
36859 * util/grub-mkdevicemap.c: Likewise.
36860 * util/grub-probe.c: Likewise.
36861 * util/lvm.c: Likewise.
36862 * util/misc.c: Likewise.
36863 * util/raid.c: Likewise.
36864 * util/resolve.c: Likewise.
36865 * util/update-grub.in: Likewise.
36866 * util/update-grub_lib.in: Likewise.
36867 * util/grub.d/00_header.in: Likewise.
36868 * util/grub.d/10_hurd.in: Likewise.
36869 * util/grub.d/10_linux.in: Likewise.
36870 * util/i386/efi/grub-install.in: Likewise.
36871 * util/i386/efi/grub-mkimage.c: Likewise.
36872 * util/i386/pc/grub-install.in: Likewise.
36873 * util/i386/pc/grub-mkimage.c: Likewise.
36874 * util/i386/pc/grub-mkrescue.in: Likewise.
36875 * util/i386/pc/grub-setup.c: Likewise.
36876 * util/i386/pc/misc.c: Likewise.
36877 * util/powerpc/ieee1275/grub-install.in: Likewise.
36878 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
36879 * util/powerpc/ieee1275/misc.c: Likewise.
36880 * video/bitmap.c: Likewise.
36881 * video/video.c: Likewise.
36882 * video/i386/pc/vbe.c: Likewise.
36883 * video/i386/pc/vbeblit.c: Likewise.
36884 * video/i386/pc/vbefill.c: Likewise.
36885 * video/i386/pc/vbeutil.c: Likewise.
36886 * video/readers/tga.c: Likewise.
36887
3572d015 368882007-07-02 Robert Millan <rmh@aybabtu.com>
36889
36890 * conf/i386-efi.rmk: Replace obsolete reference to
36891 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
36892 with util/getroot.c.
36893 * conf/powerpc-ieee1275.rmk: Likewise.
36894 * conf/sparc64-ieee1275.rmk: Likewise.
36895
36896 * util/grub-emu.c (main): Fix unchecked pointer handling.
36897
2c2a681b 368982007-07-02 Robert Millan <rmh@aybabtu.com>
36899
36900 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
36901 invocation to fail, in order to support partition-less media.
36902
36903 * util/i386/pc/grub-install.in: Likewise.
36904
36905 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
36906 which fs or partmap modules are needed (akin to its sister scripts).
36907
36908 Also use grub-probe to get rid of unportable /proc/mounts check.
36909
36910 Print the same informational message that the other scripts do, before
fe6b695a 36911 exiting.
2c2a681b 36912
6193defe 369132007-06-23 Robert Millan <rmh@aybabtu.com>
36914
fe6b695a 36915 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 36916 a font file can be found and, if so, echo the GRUB path to it.
36917
36918 * util/update-grub.in: Handle multiple terminals depending on user
36919 input, platform availability and font file presence. Propagate
36920 variables of our findings to /etc/grub.d/ children.
36921
36922 * util/grub.d/00_header.in: Handle multiple terminals, based on
36923 environment setup by update-grub.
36924
eface1dc 369252007-06-23 Robert Millan <rmh@aybabtu.com>
36926
ba50d28f 36927 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 36928
bf697e28 369292007-06-21 Robert Millan <rmh@aybabtu.com>
36930
36931 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
36932 indicate end of data section in kernel image.
36933 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
36934 GRUB_KERNEL_MACHINE_DATA_END.
36935
36936 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
36937 space for it.
36938 * kern/i386/efi/startup.S: Likewise.
36939
36940 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
36941 during image generation. Implement --prefix option to override this
36942 patch.
36943 * util/i386/efi/grub-mkimage.c: Likewise.
36944
36945 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
36946 code to make path relative to its root into a separate function.
36947
36948 * util/i386/pc/grub-install.in: Use newly provided
36949 make_system_path_relative_to_its_root() to convert ${grubdir}, then
36950 pass the result to grub-install --prefix.
36951
baa574b4 369522007-06-13 Robert Millan <rmh@aybabtu.com>
36953
36954 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
36955 DEFAULT_DEVICE_MAP.
36956 * util/grub-emu.c: Use above definitions from misc.h instead of
36957 defining them.
36958 * util/grub-mkdevicemap.c: Likewise.
36959 * util/i386/pc/grub-setup.c: Likewise.
36960 * util/grub-probe.c: Likewise.
36961 (probe): Abort with grub_util_error() when either
36962 grub_guess_root_device or grub_util_get_grub_dev fails.
36963
0215dcbf 369642007-06-12 Robert Millan <rmh@aybabtu.com>
36965
36966 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
36967 "pager" assignment.
36968 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
36969 "pcdata".
36970 * util/grub-probe.c (probe): Likewise for "drive_name".
36971
8af2ab7b 369722007-06-11 Robert Millan <rmh@aybabtu.com>
36973
36974 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
36975 not just the cdrom one.
36976
59d31694 369772007-06-11 Robert Millan <rmh@aybabtu.com>
36978
36979 * util/i386/pc/grub-mkrescue.in: Add "set -e".
36980 Add --pkglibdir=DIR option to override pkglibdir.
36981 Mention --image-type=TYPE in help output.
36982 Fix --grub-mkimage (it was a no-op).
fe6b695a 36983 Abort gracefully when no parameter is given.
59d31694 36984
7ee367e4 369852007-06-11 Robert Millan <rmh@aybabtu.com>
36986
36987 * util/i386/pc/grub-mkrescue.in: New file.
36988 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
36989 * Makefile.in: Handle bin_SCRIPTS.
36990
29b0ed46 369912007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
36992
36993 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
36994 list of video modes.
36995
c0f90770 369962007-06-06 Robert Millan <rmh@aybabtu.com>
36997
36998 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
36999 file doesn't exist, or if it is in a filesystem grub can't read.
37000
37001 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
37002 not abort if GRUB_DRIVE could not be defined. Rearrange generated
37003 header comment to fit in 80 columns when the variables are resolved.
37004
37005 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
37006 could be identified by update-grub. Remove redundant check for
fe6b695a 37007 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 37008 handles that).
37009
fb36dc26 370102007-06-04 Robert Millan <rmh@aybabtu.com>
37011
37012 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
37013
37014 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
37015
37016 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
37017
0c68c93e 370182007-06-04 Robert Millan <rmh@aybabtu.com>
37019
37020 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
37021
37022 * include/grub/partition.h: Declare grub_apple_partition_map_init and
37023 grub_apple_partition_map_fini.
37024
37025 * util/biosdisk.c
37026 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
37027 to access >2 TiB disks).
37028
37029 Print disk->total_sectors with %llu instead of %lu, since this
37030 variable is always 64-bit (prevents wrong disk size from being displayed
37031 on either >2 TiB disk or big-endian CPU).
37032
37033 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
37034 into a generic case that supports all (sane) partition maps.
37035
37036 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
37037 breaks big-endian.
37038
37039 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
37040 and grub_apple_partition_map_fini() after that.
37041
0f23eb74 370422007-06-01 Robert Millan <rmh@aybabtu.com>
37043
37044 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
37045
37046 * util/grub.d/00_header.in: Only enable gfxterm when
37047 convert_system_path_to_grub_path() succeeds.
37048
42c71976 370492007-05-20 Robert Millan <rmh@aybabtu.com>
37050
37051 * util/update-grub_lib.in: New file.
37052 * DISTLIST: Add update-grub_lib.in.
37053 * conf/common.rmk: Generate update-grub_lib and install it in
37054 $(lib_DATA).
37055 * Makefile.in: Add install routine for $(lib_DATA).
37056
37057 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
37058 function provided by update-grub_lib to support arbitrary paths of
37059 unifont.pff.
37060 * util/update-grub.in: Use convert_system_path_to_grub_path() to
37061 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
37062
5beb2291 370632007-05-19 Robert Millan <rmh@aybabtu.com>
37064
37065 * commands/i386/cpuid.c: New module.
37066 * DISTLIST: Add it.
37067 * conf/i386-efi.rmk: Enable cpuid.mod.
37068 * conf/i386-pc.rmk: Likewise.
37069
7262eca1 370702007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37071
37072 * kern/disk.c (grub_disk_read): Check return value of
37073 grub_realloc().
37074
260ba823 370752007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
37076
37077 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
37078 arrays.
37079 * disk/raid.c (grub_raid_open): Likewise.
37080
1ecb6cf2 370812007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37082
37083 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
37084 stack instead of on the heap.
37085
37086 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
37087 before doing a read on it.
37088
37089 * configure.ac: Only use -fno-stack-protector for the target
37090 environment.
f19dbdb7 37091
21c8cbb1 370922007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
37093
37094 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
37095 __attribute_ ((unused)) to mode_type argument.
37096
37097 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 37098
21c8cbb1 37099 * kern/misc.c (memcmp): Fix prototype.
37100
37101 * include/grub/partition.h [GRUB_UTIL]
37102 (grub_gpt_partition_map_init): Add prototype.
37103 (grub_gpt_partition_map_fini): Likewise.
37104
37105 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
37106 at the right place.
37107
37108 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
37109 (grub_fat_read_data): Likewise.
37110 (grub_fat_find_dir): Likewise.
37111
37112 * font/manager.c (find_glyph): Make table a const.
37113 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 37114
849d55d3 371152007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
37116
37117 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
37118 code, first search for device in /dev/mapper, then in /dev.
37119 (grub_util_get_grub_dev): New function.
37120 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
37121 prototype.
37122 * util/grub-probe.c (probe): Remove check for RAID, call
37123 grub_util_get_grub_dev() instead of
37124 grub_util_biosdisk_get_grub_dev().
37125 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
37126 grub_util_biosdisk_get_grub_dev().
37127 * util/i386/pc/grub-setup.c (main): Likewise.
37128
8fff7c2f 371292007-05-16 Robert Millan <rmh@aybabtu.com>
37130
37131 * DISTLIST: Update for the latest changes.
37132 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
37133 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
37134 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
37135 grub/util/biosdisk.h.
37136 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
37137 grub/util/biosdisk.h.
37138
48e12b52 371392007-05-16 Robert Millan <rmh@aybabtu.com>
37140
37141 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
37142
46b9d128 371432007-05-16 Robert Millan <rmh@aybabtu.com>
37144
37145 * util/i386/efi/grub-install.in: New.
37146 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
37147 newly added grub-install.
37148 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
37149 include.
37150 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
37151 grub/util/biosdisk.h.
37152 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
37153 grub/util/biosdisk.h.
37154
2d1a40a9 371552007-05-16 Robert Millan <rmh@aybabtu.com>
37156
37157 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
37158 * include/grub/util/biosdisk.h: ... here.
37159 * util/i386/pc/biosdisk.c: Moved to ...
37160 * util/biosdisk.c: ... here.
37161 * util/i386/pc/getroot.c: Moved to ...
37162 * util/getroot.c: ... here.
37163 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
37164 * util/grub-mkdevicemap.c: ... here.
37165 * util/i386/pc/grub-probe.c: Moved to ...
37166 * util/grub-probe.c: ... here.
37167
9e26e3bc 371682007-05-15 Robert Millan <rmh@aybabtu.com>
37169
37170 * util/update-grub.in: Remove duplicated line in grub.cfg header
37171 message.
37172
57f96397 371732007-05-13 Robert Millan <rmh@aybabtu.com>
37174
37175 * util/update-grub.in: Fix a few assumptions about the devices holding
37176 /, /boot and /boot/grub being the same.
37177 * util/grub.d/00_header.in: Likewise.
37178 * util/grub.d/10_hurd.in: Likewise.
37179 * util/grub.d/10_linux.in: Likewise.
37180
37181 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
37182 patterns. Use that to define the `.old' suffix as older than `'.
37183
37184 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
37185
37186 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
37187 the grub.cfg header message.
37188
2e610d62 371892007-05-11 Robert Millan <rmh@aybabtu.com>
37190
37191 * util/update-grub.in: Create device.map if it doesn't already exist,
37192 before attempting to run grub-probe.
37193 Check for grub-probe and grub-mkdevicemap with the same code
37194 grub-install is using.
37195 Remove test mode.
37196
3f6a10ef 371972007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
37198
37199 * Makefile.in: Add the datarootdir autoconf variable.
37200
02e7b75e 372012007-05-09 Robert Millan <rmh@aybabtu.com>
37202
37203 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 37204 fail gracefully if dev->disk->partition == NULL.
02e7b75e 37205
75f396cc 372062007-05-07 Robert Millan <rmh@aybabtu.com>
37207
37208 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
37209 determine partition map module.
37210 * util/i386/pc/grub-install.in: Use this feature to decide which
37211 partition module to load, instead of hardcoding pc and gpt.
37212
da65cb36 372132007-05-07 Robert Millan <rmh@aybabtu.com>
37214
37215 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
37216 source directory differs from build directory.
37217
b57d6a91 372182007-05-05 Robert Millan <rmh@aybabtu.com>
37219
37220 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
37221 initialisation.
37222
509d00f1 372232007-05-05 Robert Millan <rmh@aybabtu.com>
37224
37225 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
37226
c48f23ef 372272007-05-05 Robert Millan <rmh@aybabtu.com>
37228
37229 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
37230 command-line arguments via ${GRUB_CMDLINE_LINUX}.
37231
20b97658 372322007-05-05 Robert Millan <rmh@aybabtu.com>
37233
37234 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
37235 (grub_probe_SOURCES): Likewise.
37236 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
37237 GPT and initialize dos_part and bsd_part accordingly.
37238 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
37239 install_bsd_part.
37240 (main): Activate gpt module for use during partition identification,
37241 and deactivate it afterwards.
37242 * util/i386/pc/grub-install.in: Add gpt module to core.img.
37243 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
37244 partition identification, and deactivate it afterwards.
37245
99123174 372462007-05-05 Robert Millan <rmh@aybabtu.com>
37247
37248 * term/i386/pc/console.c (grub_console_fini): Call
37249 grub_term_set_current() before grub_term_unregister().
37250
ebd97f6e 372512007-05-04 Robert Millan <rmh@aybabtu.com>
37252
37253 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
37254 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
37255 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
37256 and update-grub_DATA.
37257 * conf/common.rmk: Build and install update-grub components.
37258 * conf/common.mk: Regenerate.
37259 * util/update-grub.in: New. Core of update-grub.
37260 * util/grub.d/00_header.in: New. Generates grub.cfg header.
37261 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
37262 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
37263 * util/grub.d/README: New. Document grub.d directory layout.
37264
b06a264d 372652007-05-01 Robert Millan <rmh@aybabtu.com>
37266
37267 * util/grub-emu.c: Move initialization functions
37268 grub_util_biosdisk_init() and grub_init_all() before
37269 grub_util_biosdisk_get_grub_dev(), which relies on them.
37270
41f0050e 372712007-04-19 Robert Millan <rmh@aybabtu.com>
37272
37273 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
37274 it is used later.
37275
04582bb3 372762007-04-18 Jerone Young <jerone@gmail.com>
37277
f19dbdb7 37278 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 37279 stanza.
37280
08db4632 372812007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 37282
08db4632 37283 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
37284 continue on and look for device node with real device name.
37285
801b76be 372862007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 37287
fe6b695a 37288 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 37289 ability.
37290 * Makefile.in: Add autoconf package transformation code.
37291 * util/i386/pc/grub-install.in: Likewise.
37292 * util/powerpc/ieee1275/grub-install.in: Likewise.
37293
6795c4e1 372942007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
37295
37296 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
37297 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
37298 (EXT2_REVISION): Likewise.
37299 (EXT2_INODE_SIZE): Likewise.
37300 (struct grub_ext2_block_group): Added a missing member
37301 "used_dirs".
37302 (grub_ext2_read_inode): Divide by the inode size in a superblock
37303 instead of 128 to obtain INODES_PER_BLOCK.
37304 Use the macro EXT2_INODE_SIZE instead of directly using
37305 SBLOCK->INODE_SIZE.
37306
d70af616 373072007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
37308
37309 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
37310 superblock instead of the structure size to compute an
37311 offset. This fixes the problem that GRUB could not read a
37312 filesystem when inode size is different from 128-byte.
37313
3b801603 373142007-03-05 Marco Gerards <marco@gnu.org>
37315
37316 * normal/main.c (read_config_file): When "menu" is not set, create
37317 an initial context.
37318
4785bfe4 373192007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37320
37321 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
37322 (HEAP_LIMIT): New macro.
37323 (grub_claim_heap): Claim memory up to `heaplimit'.
37324
a0cbb023 373252007-02-21 Hollis Blanchard <hollis@penguinppc.org>
37326
37327 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
37328 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
37329 (_start): Likewise.
37330 (grub_arch_modules_addr): Return address after `_end'.
37331 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
37332 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
37333 (add_segments): Calculate `_end' from phdr size and location.
37334 (ALIGN_UP): Moved to ...
37335 * include/grub/misc.h: here.
37336 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
37337 New macro.
37338 (GRUB_IEEE1275_MODULE_BASE): Removed.
37339
fd7d8eba 373402007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37341
37342 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
37343 loop boundary.
37344
9b09e6fc 373452007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37346
37347 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
37348 All users updated.
37349 (grub_elf64_load_hook_t): Likewise.
37350 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
37351 debug output.
37352
3ce27299 373532007-02-20 Hollis Blanchard <hollis@penguinppc.org>
37354
37355 * kern/mm.c: Update copyright.
37356 (grub_mm_debug): Correct syntax error.
37357 (grub_mm_dump_free): New function.
37358 (grub_debug_free): Call `grub_free'.
37359 * include/grub/mm.h: Update copyright.
37360 (grub_mm_dump_free): Add declaration.
37361
077d5fee 373622007-02-12 Hollis Blanchard <hollis@penguinppc.org>
37363
37364 * include/grub/ieee1275/ieee1275.h: Update copyright.
37365 * kern/powerpc/ieee1275/init.c: Likewise.
37366 * kern/powerpc/ieee1275/openfw.c: Likewise.
37367
37368 * loader/powerpc/ieee1275/linux.c: Likewise.
37369 * include/grub/elfload.h: Likewise.
37370 * kern/elf.c: Likewise.
37371 (grub_elf32_load): Pass `base' and `size' parameters. Update all
37372 callers.
37373 (grub_elf64_load): Likewise.
37374 (grub_elf32_load_segment): Move to a nested function.
37375 (grub_elf64_load_segment): Likewise.
37376
dc946850 373772007-02-12 Hollis Blanchard <hollis@penguinppc.org>
37378
37379 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
37380 prototype.
37381 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
37382 (grub_heap_len): Likewise.
37383 (HEAP_SIZE): New macro.
37384 (grub_claim_heap): New function.
37385 (grub_machine_init): Don't claim heap directly. Call
37386 `grub_claim_heap'.
37387 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
37388 (grub_available_iterate): New function.
37389
baa2a121 373902007-02-03 Thomas Schwinge <tschwinge@gnu.org>
37391
37392 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
37393 * configure.ac: Use it for testing the HOST and TARGET compilers.
37394
4fe9862e 373952006-12-13 Thomas Schwinge <tschwinge@gnu.org>
37396
37397 * Makefile.in (enable_grub_emu): New variable.
37398 * configure.ac (--enable-grub-emu): New option.
37399 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
37400 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
37401 * conf/i386-pc.rmk: Likewise.
37402 * conf/powerpc-ieee1275.rmk: Likewise.
37403 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
37404
a8aa5762 374052006-12-12 Marco Gerards <marco@gnu.org>
37406
37407 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
37408
37409 * kern/env.c (grub_env_unset): Don't free the member `value' when
37410 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
37411 pointer.
37412
37413 * normal/main.c (current_menu): Removed.
37414 (free_menu): Unset the `menu' environment variable.
37415 (grub_normal_menu_addentry): Make use of the environment variable
37416 `menu', instead of using the global `current_menu'. Allocate
37417 memory for the sourcecode of this entry.
37418 (read_config_file): New argument `nested', changed all callers.
37419 Only in the case of a new context, initialize a new menu. Set the
37420 `menu' environment variable.
37421 (grub_normal_execute): Don't set and unset the environment
37422 variable `menu' here anymore. Only free the menu when leaving the
37423 context.
37424
37425 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
37426 leak.
37427
957b3a3e 374282006-12-11 Marco Gerards <marco@gnu.org>
37429
37430 * normal/menu_entry.c (run): Fix off by one bug so the last line
37431 is executed. Move the loader check to outside the loop.
37432
ef875714 374332006-12-08 Hollis Blanchard <hollis@penguinppc.org>
37434
37435 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
37436
4e739985 374372006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
37438
37439 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
37440 the number of sectors. Reported by Andrey Shuvikov
37441 <mr_hyro@yahoo.com>.
f19dbdb7 37442
790707f2 374432006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
37444
37445 * kern/disk.c (grub_disk_read): When there is a read error, always
37446 try to read only the necessary data.
f19dbdb7 37447
790707f2 37448 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
37449 disk/raid.c.
37450 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
37451 prototype.
37452 [GRUB_UTIL] (grub_raid_fini): Likewise.
37453 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 37454 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 37455 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
37456 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
37457 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
37458 and grub_raid_fini().
f19dbdb7 37459
03e58196 374602006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
37461
37462 * include/grub/types.h (__unused): Rename to UNUSED.
37463 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
37464 (grub_elf64_size): Likewise.
f19dbdb7 37465
ae4f23bf 374662006-11-03 Hollis Blanchard <hollis@penguinppc.org>
37467
37468 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
37469 grub_error_push and grub_error_pop in the error-handling path.
37470 (grub_elf32_load_segment): Only call grub_file_read with non-zero
37471 length.
37472
2166cc83 374732006-11-03 Hollis Blanchard <hollis@penguinppc.org>
37474
37475 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
37476 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37477 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37478 (kernel_elf_SOURCES): Likewise.
37479 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
37480 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
37481 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37482 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
37483 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
37484 (elf_mod_SOURCES): New variable.
37485 (elf_mod_CFLAGS): Likewise.
37486 (elf_mod_LDFLAGS): Likewise.
37487 * include/grub/types.h (__unused): New macro.
37488 * include/grub/elfload.h: New file.
37489 * kern/elf.c: Likewise.
37490 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
37491 (ELF32_LOADMASK): New macro.
37492 (ELF64_LOADMASK): Likewise.
37493 (vmlinux): Removed.
37494 (grub_linux_load32): New function.
37495 (grub_linux_load64): Likewise.
37496 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
37497 Use grub_elf_t instead of grub_file_t.
37498
a09d5aa5 374992006-11-02 Hollis Blanchard <hollis@penguinppc.org>
37500
37501 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
37502 `catch_result' to struct set_color_args.
37503
d976fc51 375042006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
37505
37506 * normal/menu.c: Include grub/script.h.
37507 * normal/menu_entry.c: Likewise.
37508 * include/grub/normal.h: Do not include grub/script.h.
37509
67507549 375102006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37511
37512 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
37513
69203a99 375142006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37515
37516 * kern/disk.c (grub_disk_open): Print debug messages when opening a
37517 disk.
37518 (grub_disk_close): Print debug messages when closing a disk.
37519 (grub_disk_read): Print debug messages when disk read fails.
37520 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
37521 filesystem type.
37522 * kern/partition.c: Include misc.h.
37523 (grub_partition_iterate): Print debug messages when detecting
37524 partition type.
37525
e2b8278c 375262006-10-27 Hollis Blanchard <hollis@penguinppc.org>
37527
37528 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
37529 is negative.
37530 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
37531
97b2f2ff 375322006-10-26 Hollis Blanchard <hollis@penguinppc.org>
37533
37534 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
37535 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
37536
6555d655 375372006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
37538
37539 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
37540 instead of sizeof(lv). Patch by Michael Guntsche.
37541
4d42b77f 375422006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
37543
37544 * disk/lvm.c: Rename VGS to VG_LIST.
37545 (grub_lvm_iterate): Change VGS->LV to VG-LV.
37546 (grub_lvm_open): Likewise.
37547 Thanks to Michael Guntsche for finding this bug.
37548
5d74d927 375492006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37550
37551 * configure.ac (AC_INIT): Bumped to 1.95.
37552
a1bb27e4 375532006-10-14 Robert Millan <rmh@aybabtu.com>
37554
37555 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
37556 with "/dev/.static/dev/md".
37557
e0994b8b 375582006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
37559
37560 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
37561 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
37562 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
37563 DRIVE_NAME are always freed.
37564
37565 * util/i386/pc/biosdisk.c (make_device_name): Add one into
37566 DOS_PART, as a DOS partition is counted from one instead of zero
37567 now. Reported by Robert Millan.
37568
ddd5cee9 375692006-10-14 Robert Millan <rmh@aybabtu.com>
37570
37571 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
37572 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
37573 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
37574 string returned by grub_guess_root_device.
37575 * util/i386/pc/grub-setup.c: Likewise.
37576 * util/i386/pc/grub-probefs.c: Likewise.
37577
37578 * util/i386/pc/grub-probefs.c: Rename to ...
37579 * util/i386/pc/grub-probe.c: ... this.
37580 * DISTLIST: Remove grub-probefs, add grub-probe.
37581 * conf/i386-efi.rmk: Likewise.
37582 * conf/i386-pc.rmk: Likewise.
37583 * util/i386/pc/grub-install.in: Likewise.
37584
37585 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
37586 choose which information we want to print.
37587
2b002173 375882006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
37589
37590 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
37591 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
37592 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
37593 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
37594 video/readers/tga.c and video/i386/pc/vbeutil.c.
37595
375962006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
37597
37598 Added support for RAID and LVM.
f19dbdb7 37599
2b002173 37600 * disk/lvm.c: New file.
37601 * disk/raid.c: Likewise.
37602 * include/grub/lvm.h: Likewise.
f19dbdb7 37603 * include/grub/raid.h: Likewise.
2b002173 37604 * include/grub/util/lvm.h: Likewise.
37605 * include/grub/util/raid.h: Likewise.
37606 * util/lvm.c: Likewise.
37607 * util/raid.c: Likewise.
37608
37609 * include/grub/disk.h (grub_disk_dev_id): Add
37610 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
37611 (grub_disk_get_size): New prototype.
37612 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
37613 returns a partition.
37614 (grub_disk_get_size): New function.
f19dbdb7 37615
2b002173 37616 * kern/i386/pc/init.c (make_install_device): Copy the prefix
37617 verbatim if grub_install_dos_part is -2.
37618
37619 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
37620 and LVM devices.
37621
37622 * util/i386/pc/grub-setup.c (setup): New argument
37623 MUST_EMBED. Force embedding of GRUB when the argument is
37624 true. Close FILE before returning.
37625 (main): Add support for RAID and LVM.
f19dbdb7 37626
2b002173 37627 * conf/common.rmk: Add RAID and LVM modules.
37628 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
37629 util/lvm.c.
37630 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
37631
37632 * kern/misc.c (grub_strstr): New function.
37633 * include/grub/misc.h (grub_strstr): New prototype.
37634
050548d0 376352006-10-10 Tristan Gingold <tristan.gingold@bull.net>
37636
37637 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
37638
da849d2d 376392006-10-05 Tristan Gingold <tristan.gingold@bull.net>
37640
37641 * kern/misc.c (grub_strtoull): Guess the base only if not
37642 specified.
37643
97b2f2ff 376442006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 37645
37646 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
37647 PowerMac support.
37648
97b2f2ff 376492006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 37650
37651 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
37652
37653 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
37654 Remove `flags' argument. All callers changed.
37655 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
37656 (IEEE1275_IHANDLE_INVALID): New variable.
37657 (IEEE1275_CELL_INVALID): New variable.
37658 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
37659 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
37660 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
37661 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
37662 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
37663 codes from Open Firmware. All callers updated.
37664 (grub_ieee1275_next_property): Directly return Open Firmware return
37665 code.
37666 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
37667 Standardize error checking from `grub_ieee1275_get_property'.
37668 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
37669 `devalias' to `aliases'. Correct comments. Consolidate error paths.
37670
97b2f2ff 376712006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 37672
37673 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
37674 `instance_to_package_args' to `instance_to_path_args'.
37675
37676 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
37677 `grub_ieee1275_chosen'.
37678
37679 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
37680 `grub_ieee1275_interpret'.
37681
97b2f2ff 376822006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 37683
37684 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
37685
97b2f2ff 376862006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 37687
37688 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
37689 (__cmpdi): Likewise.
37690
37691 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
37692 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
37693 `grub_ssize_t'.
37694
02bb8acc 37695 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 37696
37697 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
37698 to type `grub_ssize_t'.
37699 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
37700
7f9a8531 377012006-09-22 Marco Gerards <marco@gnu.org>
37702
37703 * normal/script.c (grub_script_create_cmdmenu): Skip leading
37704 newlines.
37705
b5ef1102 377062006-09-22 Marco Gerards <marco@gnu.org>
37707
37708 * commands/echo.c: New file.
37709
37710 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
37711
37712 * conf/common.rmk (echo_mod_SOURCES): New variable.
37713 (echo_mod_CFLAGS): Likewise.
37714 (echo_mod_LDFLAGS): Likewise.
37715
2cff3677 377162006-09-22 Marco Gerards <marco@gnu.org>
37717
37718 * normal/main.c (get_line): Malloc memory instead of using
37719 preallocated memory. Removed the arguments `cmdline' and
37720 `max_len'. Updated all callers.
37721
6ba4688b 377222006-09-22 Marco Gerards <marco@gnu.org>
37723
37724 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
37725 (normal_mod_DEPENDENCIES): Likewise.
37726
37727 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
37728 (normal_mod_DEPENDENCIES): Likewise.
37729
37730 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
37731
e02ac02c 377322006-09-22 Johan Rydberg <jrydberg@gnu.org>
37733
37734 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
37735 programs.
37736 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
37737 (normal_mod_DEPENDENCIES): Likewise.
37738 * conf/i386-pc.mk: Regenerate.
37739 * conf/i386-efi.mk: Likewise
37740 * conf/common.mk: Likewise.
37741 * conf/powerpc-ieee1275.mk: Likewise.
37742 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 37743
8d252e44 377442006-09-22 Robert Millan <rmh@aybabtu.com>
37745
37746 Sync with i386 version.
37747 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
37748 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
37749
209bf7ac 377502006-09-21 Robert Millan <rmh@aybabtu.com>
37751
37752 Import from GRUB Legacy (lib/device.c):
37753 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
37754 (init_device_map) [__linux__]: Add support for I2O devices.
37755
6b146090 377562006-09-14 Marco Gerards <marco@gnu.org>
37757
37758 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
37759 `-melf_i386'.
37760
e38600a8 377612006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 37762
37763 * util/i386/pc/grub-install.in: Skip menu.lst when removing
37764 /boot/grub/*.lst.
78fa1790 37765
2952da5d 37766 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 37767
2952da5d 37768 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
37769 before adding it to device.map.
37770
01b82a64 377712006-08-15 Johan Rydberg <jrydberg@gnu.org>
37772
fe6b695a 37773 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 37774 compiles a file; using the -MD option.
37775 * conf/common.mk: Regenerate.
37776 * conf/i386-pc.mk: Likewise.
37777 * conf/i386-efi.mk: Likewise.
37778 * conf/powerpc-ieee1275.mk: Likewise.
37779 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 37780
1064790d 377812006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
37782
37783 Move the prototypes of grub_setjmp and grub_longjmp to
37784 cpu/setjmp.h, so that each architecture may specify different
37785 attributes.
f19dbdb7 37786
1064790d 37787 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
37788 (grub_longjmp): Likewise.
37789 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
37790 (grub_longjmp): Likewise.
37791 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
37792 (grub_longjmp): Likewise.
37793
37794 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
37795 [!GRUB_UTIL] (grub_longjmp): Removed.
37796
29dda3ed 377972006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
37798
37799 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
37800 "color!" method does not return any value.
37801
ad2a06ed 378022006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37803
37804 * include/grub/bitmap.h: New file.
37805
37806 * include/grub/i386/pc/vbeutil.h: Likewise.
37807
37808 * video/bitmap.c: Likewise.
37809
37810 * video/readers/tga.c: Likewise.
37811
37812 * video/i386/pc/vbeutil.c: Likewise.
37813
37814 * commands/videotest.c: Code cleanup and updated to reflect to new
37815 video API.
37816
37817 * term/gfxterm.c: Likewise.
37818
37819 * video/video.c: Likewise.
37820
37821 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
37822 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
37823 (bitmap_mod_SOURCES): New entry.
37824 (bitmap_mod_CFLAGS): Likewise.
37825 (bitmap_mod_LDFLAGS): Likewise.
37826 (tga_mod_SOURCES): Likewise.
37827 (tga_mod_CFLAGS): Likewise.
37828 (tga_mod_LDFLAGS): Likewise.
37829
37830 * include/grub/video.h (grub_video_blit_operators): New enum type.
37831 (grub_video_render_target): Changed as forward declaration and moved
37832 actual definition to be video driver specific.
37833 (grub_video_adapter.blit_bitmap): Added blitting operator.
37834 (grub_video_adapter.blit_render_target): Likewise.
37835 (grub_video_blit_bitmap): Likewise.
37836 (grub_video_blit_render_target): Likewise.
37837
37838 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
37839 driver specific render target definition.
37840 (grub_video_vbe_map_rgba): Added driver internal helper.
37841 (grub_video_vbe_unmap_color): Updated to use
37842 grub_video_i386_vbeblit_info.
37843 (grub_video_vbe_get_video_ptr): Likewise.
37844
37845 * include/grub/i386/pc/vbeblit.h
37846 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
37847 grub_video_i386_vbeblit_info.
37848 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
37849 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
37850 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
37851 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
37852 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
37853 (grub_video_i386_vbeblit_index_index): Likewise.
37854 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
37855 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
37856 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
37857 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
37858 operator.
37859 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
37860 operator.
37861
37862 * video/i386/pc/vbeblit.c: Updated to reflect changes on
37863 include/grub/i386/pc/vbeblit.h.
37864
37865 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
37866 Updated to use grub_video_i386_vbeblit_info.
37867 (grub_video_i386_vbefill_R8G8B8): Likewise.
37868 (grub_video_i386_vbefill_index): Likewise.
37869 (grub_video_i386_vbefill): Added generic filler.
37870
37871 * video/i386/pc/vbefill.c: Updated to reflect changes on
37872 include/grub/i386/pc/vbefill.h.
37873
37874 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
37875 grub_video_i386_vbeblit_info.
37876 (grub_video_vbe_unmap_color): Likewise.
37877 (grub_video_vbe_blit_glyph): Likewise.
37878 (grub_video_vbe_scroll): Likewise.
37879 (grub_video_vbe_draw_pixel): Removed function.
37880 (grub_video_vbe_get_pixel): Likewise.
37881 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
37882 updated code to use it.
37883 (common_blitter): Added common blitter for render target and bitmap.
37884 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
37885 (grub_video_vbe_blit_render_target): Likewise.
37886
bc8c036d 378872006-07-30 Johan Rydberg <jrydberg@gnu.org>
37888
37889 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
37890 is in text mode if there is no console control protocol instance
37891 available.
37892
684a8eff 378932006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37894
37895 * include/grub/video.h: Code cleanup.
37896
37897 * include/grub/i386/pc/vbe.h: Likewise.
37898
37899 * video/i386/pc/vbe.c: Likewise.
37900
37901 * video/i386/pc/vbeblit.c: Likewise.
37902
37903 * video/i386/pc/vbefill.c: Likewise.
37904
37905 * video/video.c: Likewise. Also added more comments.
37906
5915059b 379072006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
37908
37909 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
37910 (struct grub_biosdisk_dap): Likewise.
37911
37912 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
37913 linkage settings for all functions.
37914
90ce5d56 379152006-07-12 Marco Gerards <marco@gnu.org>
37916
37917 * configure.ac (--enable-mm-debug): Fix typo.
37918
37919 * genkernsyms.sh.in: Use proper quoting for `CC'.
37920
43e7f879 379212006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
37922
37923 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
37924 (normal_mod_ASFLAGS): Remove "-m32".
37925
4889bdec 379262006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
37927
37928 * util/misc.c: Include config.h.
37929 [!HAVE_MEMALIGN]: Do not include malloc.h.
37930 (grub_memalign): Use posix_memalign, if present. Then, use
37931 memalign, if present. Otherwise, emit an error.
37932
37933 * util/grub-emu.c: Do not include malloc.h.
37934
37935 * include/grub/util/misc.h: Include unistd.h. This is required for
37936 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
37937 D. Eades III <hde@foobar-qux.org>.
37938
37939 * configure.ac (AC_GNU_SOURCE): Added.
37940 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
37941 type.
37942
fd39d4da 379432006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
37944
37945 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
37946 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
37947
b786f3b5 379482006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
37949
37950 * include/grub/types.h (grub_host_addr_t): Rename to
37951 grub_target_addr_t.
37952 (grub_host_off_t): Rename to grub_target_off_t.
37953 (grub_host_size_t): Rename to grub_target_size_t.
37954 (grub_host_ssize_t): Rename to grub_target_ssize_t.
37955 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
37956
37957 * include/grub/kernel.h (struct grub_module_header): Change type
37958 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
37959 (grub_module_info): Likewise.
f19dbdb7 37960
051988bb 379612006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
37962
37963 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
37964 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
37965 Velazquez <jesus.velazquez@gmail.com>.
37966
deae281b 379672006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
37968
37969 Count partitions from 1 instead of 0 in the string representation
37970 of partitions. Still use 0-based internally.
f19dbdb7 37971
deae281b 37972 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
37973 (sun_partition_map_iterate): Use grub_partition_t instead of
37974 struct grub_partition *. Cast DESC->START_CYLINDER to
37975 grub_uint64_t after converting the endian.
37976 (sun_partition_map_probe): Subtract 1 for PARTNUM.
37977 (sun_partition_map_get_name): Add 1 to P->INDEX.
37978
37979 * partmap/pc.c (grub_partition_parse): Subtract 1 for
37980 PCDATA->DOS_PART.
37981 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
37982
37983 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
37984 zero instead of one.
37985 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
37986 (gpt_partition_map_get_name): Add 1 into P->INDEX.
37987
37988 * partmap/apple.c (apple_partition_map_iterate): Change the type
37989 of POS to unsigned.
37990 (apple_partition_map_probe): Subtract 1 for PARTNUM.
37991 (apple_partition_map_get_name): Add 1 into P->INDEX.
37992
37993 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
37994 of POS to unsigned.
37995 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
37996 calculate the offset of a partition.
37997 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
37998 (amiga_partition_map_get_name): Add 1 into P->INDEX.
37999
38000 * partmap/acorn.c (acorn_partition_map_find): Change the type of
38001 SECTOR to grub_disk_addr_t.
38002 (acorn_partition_map_iterate): Likewise.
38003 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
38004 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
38005 top.
38006 (acorn_partition_map_get_name): Add 1 into P->INDEX.
38007
38008 * kern/i386/pc/init.c (make_install_device): Add 1 into
38009 GRUB_INSTALL_DOS_PART.
38010
38011 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
38012 conditional.
38013
524a1e6a 380142006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
38015
38016 Clean up the code to support 64-bit addressing in disks and
38017 files. This change is not enough for filesystems yet.
f19dbdb7 38018
524a1e6a 38019 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
38020 type of "start" to grub_uint64_t.
38021 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
38022 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
38023 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
38024 convert addresses.
38025
38026 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
38027 to grub_disk_addr_t.
38028
38029 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
38030 string.
38031
38032 * partmap/pc.c (pc_partition_map_iterate): Likewise.
38033
38034 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
38035 to char *.
38036
38037 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
38038
38039 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
38040
38041 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
38042
38043 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
38044 to grub_off_t, to detect an error from grub_file_seek.
38045 (grub_multiboot_load_elf32): Likewise.
38046
38047 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
38048 maximum unsigned long value when an overflow is detected.
38049 (grub_strtoull): New function.
38050 (grub_divmod64): Likewise.
38051 (grub_lltoa): use grub_divmod64.
38052
38053 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
38054 grub_disk_addr_t.
38055 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
38056 the pointer to next character. Use grub_strtoull instead of
38057 grub_strtoul.
38058 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
38059 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
38060 respectively.
38061
fe6b695a 38062 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 38063 return value is signed.
38064 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
38065 test if OFFSET is less than zero, as OFFSET is unsigned now.
38066
38067 * kern/disk.c (struct grub_disk_cache): Change the type of
38068 "sector" to grub_disk_addr_t.
38069 (grub_disk_cache_get_index): Change the type of SECTOR to
38070 grub_disk_addr_t. Calculate the hash with SECTOR casted to
38071 unsigned after shifting.
38072 (grub_disk_cache_invalidate): Change the type of SECTOR to
38073 grub_disk_addr_t.
38074 (grub_disk_cache_unlock): Likewise.
38075 (grub_disk_cache_store): Likewise.
38076 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
38077 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
38078 grub_disk_addr_t and grub_uint64_t, respectively.
38079 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
38080 body, as the value of OFFSET is tweaked by
38081 grub_disk_check_range. Change the types of START_SECTOR, LEN and
38082 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
38083 respectively.
38084 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
38085 body, as the value of OFFSET is tweaked by
38086 grub_disk_check_range. Change the types of LEN and N to
38087 grub_size_t.
38088
38089 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
38090 and "saved_offset" to grub_off_t.
38091 (test_header): Cast BUF to char *.
38092 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
38093 to char *.
38094 (grub_gzio_read): Change the types of OFFSET and SIZE to
38095 grub_off_t and grub_size_t, respectively.
38096
38097 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
38098 Removed.
38099 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
38100 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
38101 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
38102 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
38103 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
38104
38105 * include/grub/types.h (grub_off_t): Unconditionally set to
38106 grub_uint64_t.
38107 (grub_disk_addr_t): Changed to grub_uint64_t.
38108
38109 * include/grub/partition.h (struct grub_partition): Change the
38110 types of "start", "len" and "offset" to grub_disk_addr_t,
38111 grub_uint64_t and grub_disk_addr_t, respectively.
38112 (grub_partition_get_start): Return grub_disk_addr_t.
38113 (grub_partition_get_len): Return grub_uint64_t.
38114
38115 * include/grub/misc.h (grub_strtoull): New prototype.
38116 (grub_divmod64): Likewise.
38117
38118 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
38119 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
38120 grub_off_t, respectively.
38121 All callers and references changed.
38122
38123 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
38124 grub_size_t in "read".
38125 All callers and references changed.
38126
38127 * include/grub/file.h (struct grub_file): Change the types of
38128 "offset" and "size" to grub_off_t and grub_off_t,
38129 respectively. Change the type of SECTOR to grub_disk_addr_t in
38130 "read_hook".
38131 (grub_file_read): Change the type of LEN to grub_size_t.
38132 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
38133 grub_off_t.
38134 (grub_file_size): Return grub_off_t.
38135 (grub_file_tell): Likewise.
38136 All callers and references changed.
38137
38138 * include/grub/disk.h (struct grub_disk_dev): Change the types of
38139 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
38140 "write".
38141 (struct grub_disk): Change the type of "total_sectors" to
38142 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 38143 "read_hook".
524a1e6a 38144 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
38145 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
38146 (grub_disk_write): Likewise.
38147 All callers and references changed.
38148
38149 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
38150 char * for grub_strncmp to silence gcc.
38151 (grub_iso9660_mount): Likewise.
38152 (grub_iso9660_mount): Likewise.
38153 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
38154 return statement.
38155 (grub_iso9660_iterate_dir): Likewise.
38156 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
38157
38158 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
38159 LEN to grub_disk_addr_t and grub_size_t, respectively.
38160
38161 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
38162
38163 * fs/jfs.c (grub_jfs_read_file): Likewise.
38164
38165 * fs/minix.c (grub_jfs_read_file): Likewise.
38166
38167 * fs/sfs.c (grub_jfs_read_file): Likewise.
38168
38169 * fs/ufs.c (grub_jfs_read_file): Likewise.
38170
38171 * fs/xfs.c (grub_jfs_read_file): Likewise.
38172
38173 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
38174 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
38175 respectively.
38176
38177 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
38178 BLKNR to -1 instead of returning GRUB_ERRNO.
38179 (grub_ext2_read_file): Change the types of SECTOR and
38180 LEN to grub_disk_addr_t and grub_size_t, respectively.
38181
38182 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
38183 LEN to grub_disk_addr_t and grub_size_t, respectively.
38184
38185 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
38186 grub_file_read.
38187
38188 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
38189 string. Do not cast SECTOR explicitly.
38190
38191 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
38192 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
38193 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
38194 grub_disk_addr_t and grub_size_t, respectively. If the sector is
38195 over 2TB and LBA mode is not supported, raise an error.
38196 (get_safe_sectors): New function.
38197 (grub_biosdisk_read): Use get_safe_sectors.
38198 (grub_biosdisk_write): Likewise.
38199
38200 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
38201 (grub_efidisk_write): Likewise.
38202
38203 * disk/loopback.c (delete_loopback): Cosmetic changes.
38204 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
38205 correctly.
38206 (grub_loopback_open): Likewise.
38207 (grub_loopback_read): Likewise. Also, change the type of POS to
38208 grub_off_t, and fix the usage of grub_memset.
38209
38210 * commands/i386/pc/play.c: Include grub/machine/time.h.
38211
38212 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
38213 print FILE->SIZE.
38214
38215 * commands/configfile.c: Include grub/env.h.
38216
38217 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
38218 GRUB_ERRNO directly instead. Change the type of POS to
38219 grub_off_t. Follow the coding standard.
38220
38221 * commands/blocklist.c: Include grub/partition.h.
38222 (grub_cmd_blocklist): Return an error if the underlying device is
38223 not a disk. Take the starting sector of a partition into account,
38224 if a partition is used.
38225
38226 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
38227 a length field.
38228 (lba_mode): Support 64-bit addresses.
38229 (chs_mode): Likewise.
38230 (copy_buffer): Adapted to the new offsets of a length field and a
38231 segment field.
38232 (blocklist_default_start): Allocate 64-bit space.
38233
38234 * boot/i386/pc/boot.S (force_lba): Removed.
38235 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 38236 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 38237 space.
38238 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
38239 is useless.
38240 (lba_mode): Refactored to support a 64-bit address. More size
38241 optimization.
38242 (setup_sectors): Likewise.
38243
53af98ad 382442006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
38245
38246 * DISTLIST: Added include/grub/i386/linux.h. Removed
38247 include/grub/i386/pc/linux.h
38248
38249 * configure.ac (AC_INIT): Bumped to 1.94.
38250
38251 * config.guess: Updated from gnulib.
38252 * config.sub: Likewise.
38253 * install-sh: Likewise.
38254 * mkinstalldirs: Likewise.
38255
b4c1940a 382562006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
38257
38258 * conf/common.rmk (grub_modules_init.lst): Depended on
38259 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
38260 MODSRCFILES.
38261
38262 * genmk.rb (PModule::rule): Reverted the previous change.
38263
cfca1cfd 382642006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
38265
38266 * conf/common.rmk (grub_modules_init.lst): Depends on
38267 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
38268 that the target does not exist before producing.
38269 (grub_modules_init.h): Remove the target before generating.
38270 (grub_emu_init.c): Likewise.
38271
38272 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
38273
aa6d7826 382742006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
38275
38276 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
38277 for the target-specific tests. Make sure that we also have the
38278 up-to-date target variables for those tests.
38279
26c607b9 382802006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
38281
38282 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
38283 (PModule::rule): Likewise.
38284
0162321a 382852006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
38286
38287 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
38288 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
38289 target-specific flags should be prefixed.
38290 (PModule::rule): Likewise.
38291
6c826348 382922006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
38293
38294 * configure.ac (CMP): Check if cmp is available explicitly.
38295
b977bf01 382962006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
38297
38298 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
38299 (target_cpu): New variable.
38300 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 38301
b977bf01 38302 * util/i386/pc/grub-install.in (host_cpu): Removed.
38303 (target_cpu): New variable.
38304 (pkglibdir): Use target_cpu instead of host_cpu.
38305
38306 * util/genmoddep.c: Removed.
f19dbdb7 38307
b977bf01 38308 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
38309 instead of GRUB_HOST_SIZEOF_VOID_P.
38310 * kern/dl.c: Likewise.
38311
38312 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
38313 ...
38314 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38315 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38316 (GRUB_TARGET_SIZEOF_LONG): ... this.
38317 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38318 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38319 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38320 to ...
38321 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38322 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38323 (GRUB_TARGET_SIZEOF_LONG): ... this.
38324 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38325 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38326 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
38327 to ...
38328 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
38329 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
38330 (GRUB_TARGET_SIZEOF_LONG): ... this.
38331 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
38332 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
38333
38334 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
38335 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
38336 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
38337 instead of GRUB_HOST_SIZEOF_LONG.
38338 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
38339 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
38340 GRUB_CPU_WORDS_BIGENDIAN.
38341 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
38342 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
38343 grub_host_ssize_t.
38344
38345 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
38346 (genmoddep_SOURCES): Likewise.
38347 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
38348 (genmoddep_SOURCES): Likewise.
38349 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
38350 (genmoddep_SOURCES): Likewise.
38351 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
38352 Likewise.
38353 (genmoddep_SOURCES): Likewise.
38354
38355 * genmoddep.awk: New file.
38356
38357 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
38358 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
38359 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
38360 (PModule::rule): Likewise.
38361 (Program::rule): Likewise.
38362 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
38363 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
38364 respectively.
38365
38366 * configure.ac: Rewritten intensively to use host and target
38367 instead of build and host, respectively.
38368
38369 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
38370 (host_cpu): Removed.
38371 (target_cpu): New variable.
38372 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
38373 (BUILD_CC): Removed.
38374 (BUILD_CFLAGS): Likewise.
38375 (BUILD_CPPFLAGS): Likewise.
38376 (TARGET_CC): New variable.
38377 (TARGET_CFLAGS): Likewise.
38378 (TARGET_CPPFLAGS): Likewise.
38379 (TARGET_LDFLAGS): Likewise.
38380 (AWK): Likewise.
38381 (include): Use target_cpu instead of host_cpu.
38382 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 38383
b977bf01 38384 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
38385
f09771a1 383862006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
38387
38388 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
38389 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
38390 field 'false' to 'exec_on_false'.
38391 (grub_script_create_cmdif): Renamed argument names to reflect above
38392 changes.
38393
38394 * normal/execute.c (grub_script_execute_cmdif): Likewise.
38395
38396 * normal/script.c (grub_script_create_cmdif): Likewise.
38397
118f4fb3 383982006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
38399
38400 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
38401 top.
38402 (grub_hfsplus_btree_recptr): Likewise.
38403 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
38404 FILEBLOCK both to pass a block number and store next block
38405 number.
38406 (grub_hfsplus_read_block): Rewritten heavily to support an extent
38407 overflow file correctly. Specify errors appropriately, because
38408 fshelp expects that GRUB_ERRNO is set when fails. Reuse
38409 grub_hfsplus_btree_recptr to get the pointer to a found key.
38410 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
38411 is found.
38412
38413 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
38414 linux.mod.
38415 (_linux_mod_SOURCES): New variable.
38416 (_linux_mod_CFLAGS): Likewise.
38417 (_linux_mod_LDFLAGS): Likewise.
38418 (linux_mod_SOURCES): Likewise.
38419 (linux_mod_CFLAGS): Likewise.
38420 (linux_mod_LDFLAGS): Likewise.
38421
38422 * DISTLIST: Added loader/i386/efi/linux.c,
38423 loader/i386/efi/linux_normal.c and
38424 include/grub/i386/efi/loader.h.
38425
38426 * loader/i386/efi/linux.c: New file.
38427 * loader/i386/efi/linux_normal.c: Likewise.
38428 * include/grub/i386/efi/loader.h: Likewise.
38429
89a7d726 384302006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
38431
38432 * commands/blocklist.c: New file.
38433
38434 * DISTLIST: Added commands/blocklist.c.
38435
38436 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 38437 color for the background, and a darker color for the foreground.
89a7d726 38438 (grub_console_checkkey): Return READ_KEY.
38439 (grub_console_cls): Set the background to
38440 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
38441
38442 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
38443
38444 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
38445 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
38446
38447 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
38448 prototype.
38449
38450 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
38451 BG. The spec is wrong again.
38452
38453 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
38454 prototype.
38455 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
38456
38457 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38458 commands/blocklist.c.
38459 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 38460
89a7d726 38461 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
38462 (blocklist_mod_SOURCES): New variable.
38463 (blocklist_mod_CFLAGS): Likewise.
38464 (blocklist_mod_LDFLAGS): Likewise.
38465
75c8f258 384662006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
38467
38468 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
38469 duplication.
38470 (lba_mode): Use %eax more intensively to reduce the code size.
38471
da2eb181 384722006-05-20 Marco Gerards <marco@gnu.org>
38473
38474 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
38475
38476 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
38477 for `menuentry'.
38478 (script): Accept leading newlines.
38479 (newlines): New rule to describe 0 or more newlines.
38480 (commands): Accept `command' with trailing newline. Fixed the
38481 order in which arguments were passed to `grub_script_add_cmd'.
38482 Accept commands separated by newlines.
38483 (function): Changed to accept newlines.
38484 (menuentry) Rewritten.
38485
38486 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
38487 front of the list, instead of to the end.
38488
577b4050 384892006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
38490
38491 * util/i386/pc/grub-install.in (bindir): New variable.
38492 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
38493 Shaver <lbgwjl@gmail.com>.
38494
0d6e1189 384952006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
38496
38497 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
38498 grub/machine/linux.h
38499 * loader/i386/pc/linux.c: Likewise.
38500
38501 * include/grub/i386/pc/linux.h: Moved to ...
38502 * include/grub/i386/linux.h: ... here.
38503
38504 * include/grub/i386/linux.h (struct linux_kernel_params): New
38505 struct.
f19dbdb7 38506
31b86e9f 385072006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
38508
38509 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
38510 checking.
38511 (grub_video_vbe_blit_glyph): Likewise.
38512 (grub_video_vbe_blit_bitmap): Likewise.
38513 (grub_video_vbe_blit_render_target): Likewise.
38514
83b984de 385152006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
38516
38517 * configure.ac (--with-platform): Properly quote the square
38518 brackets.
38519
5f0413bd 385202006-05-08 Marco Gerards <marco@gnu.org>
38521
38522 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
38523 this...
38524 (kernel_elf_HEADERS): ...to this. Updated all users.
38525 (grubof_symlist.c): Renamed from this...
38526 (kernel_elf_symlist.c): ...to this. Updated all users.
38527 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
38528 (grubof_SOURCES): Renamed from this...
38529 (kernel_elf_SOURCES): ...to this.
38530 (grubof_HEADERS): Renamed from this...
38531 (kernel_elf_HEADERS): ...to this.
38532 (grubof_CFLAGS): Renamed from this...
38533 (kernel_elf_CFLAGS): ...to this.
38534 (grubof_ASFLAGS): Renamed from this...
38535 (kernel_elf_ASFLAGS): ...to this.
38536 (grubof_LDFLAGS): Renamed from this...
38537 (kernel_elf_LDFLAGS): ...to this.
38538
38539 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
38540 this...
38541 (kernel_elf_HEADERS): ...to this. Updated all users.
38542 (grubof_symlist.c): Renamed from this...
38543 (kernel_elf_symlist.c): ...to this. Updated all users.
38544 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
38545 (grubof_SOURCES): Renamed from this...
38546 (kernel_elf_SOURCES): ...to this.
38547 (grubof_HEADERS): Renamed from this...
38548 (kernel_elf_HEADERS): ...to this.
38549 (grubof_CFLAGS): Renamed from this...
38550 (kernel_elf_CFLAGS): ...to this.
38551 (grubof_ASFLAGS): Renamed from this...
38552 (kernel_elf_ASFLAGS): ...to this.
38553 (grubof_LDFLAGS): Renamed from this...
38554 (kernel_elf_LDFLAGS): ...to this.
38555
38556 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
38557 `kernel.elf' instead of `grubof'.
38558
05568c2e 385592006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
38560
38561 Add --with-platform to configure. Use pkglibdir instead of
38562 pkgdatadir. This is reported by Roger Leigh.
38563
38564 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
38565 (host_vendor): Likewise.
38566 (host_os): Likewise.
38567 (pkgdatadir): Likewise.
38568 (platform): New variable.
38569 (pkglibdir): Likewise.
38570 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 38571
05568c2e 38572 * util/i386/pc/grub-install.in (datadir): Removed.
38573 (host_vendor): Likewise.
38574 (host_os): Likewise.
38575 (pkgdatadir): Likewise.
38576 (platform): New variable.
38577 (pkglibdir): Likewise.
38578 Use PKGLIBDIR instead of PKGDATADIR.
38579
38580 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
38581 instead of GRUB_DATADIR.
38582 (main): Likewise.
38583 * util/i386/pc/grub-mkimage.c (usage): Likewise.
38584 (main): Likewise.
38585 * util/i386/efi/grub-mkimage.c (usage): Likewise.
38586 (main): Likewise.
38587
38588 * configure.ac (--with-platform): New option.
38589 Use PLATFORM instead of HOST_VENDOR to specify a platform.
38590
38591 * Makefile.in: Include a makefile based on PLATFORM instead of
38592 HOST_VENDOR.
38593 (pkgdatadir): Not appended by the machine type.
38594 (pkglibdir): Appended by the machine type.
38595 (host_vendor): Removed.
38596 (platform): New variable.
38597 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
38598 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
38599 (uninstall): Likewise.
38600
4e93851c 386012006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
38602
38603 Use the environment context in the menu. Remove the commands
38604 "default" and "timeout", and use variables instead.
f19dbdb7 38605
4e93851c 38606 * normal/menu.c: Include grub/env.h.
38607 (print_entry): Cast TITLE to silence gcc.
38608 (get_timeout): New function.
38609 (set_timeout): Likewise.
38610 (get_entry_number): Likewise.
38611 (run_menu): Use a default entry, a fallback entry and a timeout
38612 in the environment variables "default", "fallback" and
38613 "timeout". Also, tweak the default entry if it is not within the
38614 current menu entries.
38615 (grub_menu_run): Use a fallback entry in the environment variable
38616 "fallback".
38617
38618 * normal/main.c (read_config_file): Do not initialize
38619 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
38620 NEWMENU->TIMEOUT.
38621 (grub_normal_execute): Use a data slot to store the menu.
38622
38623 * include/grub/normal.h (struct grub_menu): Removed default_entry,
38624 fallback_entry and timeout.
38625 (struct grub_menu_list): Removed.
38626 (grub_menu_list_t): Likewise.
38627 (struct grub_context): Likewise.
38628 (grub_context_t): Likewise.
38629 (grub_context_get): Likewise.
38630 (grub_context_get_current_menu): Likewise.
38631 (grub_context_push_menu): Likewise.
38632 (grub_context_pop_menu): Likewise.
38633 (grub_default_init): Likewise.
38634 (grub_default_fini): Likewise.
38635 (grub_timeout_init): Likewise.
38636 (grub_timeout_fini): Likewise.
38637
38638 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
38639 and timeout.mod.
38640 (normal_mod_SOURCES): Removed normal/context.c.
38641
38642 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
38643 commands/default.c, commands/timeout.c and normal/context.c.
38644 (normal_mod_SOURCES): Removed normal/context.c.
38645
38646 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
38647 commands/timeout.c and normal/context.c.
38648 (normal_mod_SOURCES): Removed normal/context.c.
38649
38650 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
38651 commands/default.c, commands/timeout.c and normal/context.c.
38652 (normal_mod_SOURCES): Removed normal/context.c.
38653
38654 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
38655 timeout.mod.
38656 (default_mod_SOURCES): Removed.
38657 (default_mod_CFLAGS): Likewise.
38658 (default_mod_LDFLAGS): Likewise.
38659 (timeout_mod_SOURCES): Removed.
38660 (timeout_mod_CFLAGS): Likewise.
38661 (timeout_mod_LDFLAGS): Likewise.
38662
38663 * DISTLIST: Removed commands/default.c, commands/timeout.c and
38664 normal/context.c.
38665
38666 * commands/default.c: Removed.
38667 * commands/timeout.c: Likewise.
38668 * normal/context.c: Likewise.
38669
1eb9cc1d 386702006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
38671
38672 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
38673
385bd9c1 386742006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
38675
38676 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
38677 "next" to "prev" for readability.
38678 (struct grub_env_sorted_var): New struct.
38679 (grub_env_context): Renamed to ...
38680 (initial_context): ... this.
38681 (grub_env_var_context): Renamed to ...
38682 (current_context): ... this.
38683 (grub_env_find): Look only at CURRENT_CONTEXT.
38684 (grub_env_context_open): Rewritten to copy exported variables from
38685 previous context.
38686 (grub_env_context_close): Rewritten according to the new
38687 scheme. Also, add an assertion to prevent the initial context from
38688 removed.
38689 (grub_env_insert): Removed the code for the sorted list.
38690 (grub_env_remove): Likewise.
38691 (grub_env_export): Simply mark the variable with
38692 GRUB_ENV_VAR_GLOBAL.
38693 (grub_env_set): A cosmetic change for naming consistency.
38694 (grub_env_get): Likewise.
38695 (grub_env_unset): Likewise.
38696 (grub_env_iterate): Rewritten to sort variables within this
38697 function.
38698 (grub_register_variable_hook): Fixed for naming consistency. Call
38699 grub_env_find again, only if NAME is not found at the first time.
38700 (mangle_data_slot_name): New function.
38701 (grub_env_set_data_slot): Likewise.
38702 (grub_env_get_data_slot): Likewise.
38703 (grub_env_unset_data_slot): Likewise.
38704
38705 * include/grub/env.h (grub_env_var_type): New enum.
38706 (GRUB_ENV_VAR_LOCAL): New constant.
38707 (GRUB_ENV_VAR_GLOBAL): Likewise.
38708 (GRUB_ENV_VAR_DATA): Likewise.
38709 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
38710 "type".
38711 (grub_env_set): Replace VAR with NAME for consistency.
38712 (grub_register_variable_hook): Likewise.
38713 (grub_env_export): Specify the name of the argument.
38714 (grub_env_set_data_slot): New prototype.
38715 (grub_env_get_data_slot): Likewise.
38716 (grub_env_unset_data_slot): Likewise.
38717
7f362539 387182006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
38719
38720 Extend the loader so that GRUB can accept a loader which comes
38721 back to GRUB when a loaded image exits. Also, this change adds
38722 support for a chainloader on EFI.
f19dbdb7 38723
7f362539 38724 * term/efi/console.c: Include grub/misc.h.
38725 (grub_console_checkkey): Display a scan code on the top for
38726 debugging. This will be removed once the EFI port gets stable.
38727 Correct the scan code mapping.
38728
38729 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
38730 allocate memory from larger regions, in order to reduce the number
38731 of allocated regions. Otherwise, the MacOSX loader panics.
38732 (filter_memory_map): Avoid less than 1MB for compatibility with
38733 other loaders.
38734 (add_memory_regions): Allocate from the tail of a region, if
38735 possible, to avoid allocating a region near to 1MB, for the MacOSX
38736 loader.
38737
38738 * kern/efi/init.c (grub_efi_set_prefix): Specify
38739 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
38740
38741 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
38742 argument IMAGE_HANDLE and specify it to get a loaded image.
38743 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
38744 grub_efi_get_loaded_image.
fe6b695a 38745 (grub_efi_get_filename): Divide the length by the size of
7f362539 38746 grub_efi_char16_t.
38747 (grub_efi_get_device_path): New function.
38748 (grub_efi_print_device_path): Print End Device Path nodes. Divide
38749 the length by the size of grub_efi_char16_t for a file path device
38750 path node.
38751
38752 * kern/loader.c (grub_loader_noreturn): New variable.
38753 (grub_loader_set): Accept a new argument NORETURN. Set
38754 GRUB_LOADER_NORETURN to NORETURN.
38755 All callers changed.
38756 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
38757 grub_machine_fini.
38758
38759 * include/grub/efi/efi.h (grub_efi_get_device_path): New
38760 prototype.
38761 (grub_efi_get_loaded_image): Take an argument to specify an image
38762 handle.
38763
38764 * include/grub/loader.h (grub_loader_set): Added one more argument
38765 NORETURN.
38766
38767 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
38768 instead of grub_efi_open_protocol.
38769 (grub_efidisk_get_device_name): Likewise.
38770 (grub_efidisk_close): Print a newline.
38771 (grub_efidisk_get_device_handle): Fixed to use
38772 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
38773 GRUB_EFI_DEVICE_PATH_TYPE.
38774
38775 * disk/efi/efidisk.c (device_path_guid): Moved to ...
38776 * kern/efi/efi.c (device_path_guid): ... here.
38777
38778 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
38779 chain.mod.
38780 (kernel_mod_HEADERS): Added efi/disk.h.
38781 (_chain_mod_SOURCES): New variable.
38782 (_chain_mod_CFLAGS): Likewise.
38783 (_chain_mod_LDFLAGS): Likewise.
38784 (chain_mod_SOURCES): Likewise.
38785 (chain_mod_CFLAGS): Likewise.
38786 (chain_mod_LDFLAGS): Likewise.
38787
38788 * DISTLIST: Added include/grub/efi/chainloader.h,
38789 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
38790
38791 * include/grub/efi/chainloader.h: New file.
38792 * loader/efi/chainloader.c: Likewise.
38793 * loader/efi/chainloader_normal.c: Likewise.
38794
c0111d6e 387952006-04-30 Marco Gerards <marco@gnu.org>
38796
38797 * commands/configfile.c (grub_cmd_source): New function.
38798 (GRUB_MOD_INIT): Register the commands `source' and `.'.
38799 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
38800
df5341da 388012006-04-30 Marco Gerards <marco@gnu.org>
38802
38803 * normal/execute.c (grub_script_execute_cmd): Change the return
38804 type to `grub_err_t'. Correctly return the error.
38805 (grub_script_execute_cmdline): In case a command line is not a
38806 command or a function, try to interpret it as an assignment.
38807
f85934bd 388082006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
38809
38810 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
38811 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
38812 skip a node whose name is obviously invalid as UTF-16,
38813 i.e. contains a NUL character. Stop the iteration when the last
38814 directory entry is found. Instead of using the return value of
38815 grub_hfsplus_btree_iterate_node, store the value in RET and use
38816 it, because the iterator can be stopped by the last directory
38817 entry.
38818
8f8a2cf8 388192006-04-30 Marco Gerards <marco@gnu.org>
38820
38821 * include/grub/env.h (grub_env_export): New prototype. Reported
38822 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
38823
a27e84ce 388242006-04-30 Marco Gerards <marco@gnu.org>
38825
38826 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
38827 size of the extents in a catalog file record.
38828
eaef0553 388292006-04-29 Marco Gerards <marco@gnu.org>
38830
38831 * commands/configfile.c (grub_cmd_configfile): Execute the
38832 configfile within its own context.
38833
38834 * include/grub/env.h (grub_env_context_open): New prototype.
38835 (grub_env_context_close): Likewise.
38836
38837 * kern/env.c (grub_env): Removed.
38838 (grub_env_sorted): Likewise.
38839 (grub_env_context): New variable.
38840 (grub_env_var_context): Likewise.
38841 (grub_env_find): Search both the active context and the global
38842 context.
38843 (grub_env_context_open): New function.
38844 (grub_env_context_close): Likewise.
38845 (grub_env_insert): Likewise.
38846 (grub_env_remove): Likewise.
38847 (grub_env_export): Likewise.
38848 (grub_env_set): Changed to use helper functions to avoid code
38849 duplication.
38850 (grub_env_iterate): Rewritten so both the current context and the
38851 global context are being used.
38852
38853 * normal/command.c (export_command): New function.
38854 (grub_command_init): Register the `export' function.
38855
7b455f4d 388562006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
38857
38858 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
38859 explicitly to suppress gcc's warnings.
38860 * fs/fat.c (grub_fat_find_dir): Likewise.
38861 (grub_fat_label): Likewise.
38862 * fs/xfs.c (grub_xfs_read_inode): Likewise.
38863 (grub_xfs_mount): Likewise.
38864 (grub_xfs_label): Likewise.
38865 * fs/affs.c (grub_affs_mount): Likewise.
38866 (grub_affs_label): Likewise.
38867 (grub_affs_iterate_dir): Likewise.
38868 * fs/sfs.c (grub_sfs_mount): Likewise.
38869 (grub_sfs_iterate_dir): Likewise.
38870 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
38871 * fs/hfs.c (grub_hfs_mount): Likewise.
38872 (grub_hfs_cmp_catkeys): Likewise.
38873 (grub_hfs_find_dir): Likewise.
38874 (grub_hfs_dir): Likewise.
38875 (grub_hfs_label): Likewise.
38876 * fs/jfs.c (grub_jfs_mount): Likewise.
38877 (grub_jfs_opendir): Likewise.
38878 (grub_jfs_getent): Likewise.
38879 (grub_jfs_lookup_symlink): Likewise.
38880 (grub_jfs_label): Likewise.
38881 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
38882 (grub_hfsplus_iterate_dir): Likewise.
38883 (grub_hfsplus_btree_iterate_node): Made static.
38884
38885 * util/grub-emu.c (prefix): New variable.
38886 (grub_machine_set_prefix): New function.
38887 (main): Do not set the environment variable "prefix" here. Only
38888 set PREFIX, which is used later by grub_machine_set_prefix.
38889
38890 * include/grub/video.h: Do not include grub/symbol.h.
38891 (grub_video_register): Not exported. This symbol is not defined in
38892 the kernel.
38893 (grub_video_unregister): Likewise.
38894 (grub_video_iterate): Likewise.
38895 (grub_video_setup): Likewise.
38896 (grub_video_restore): Likewise.
38897 (grub_video_get_info): Likewise.
38898 (grub_video_get_blit_format): Likewise.
38899 (grub_video_set_palette): Likewise.
38900 (grub_video_get_palette): Likewise.
38901 (grub_video_set_viewport): Likewise.
38902 (grub_video_get_viewport): Likewise.
38903 (grub_video_map_color): Likewise.
38904 (grub_video_map_rgb): Likewise.
38905 (grub_video_map_rgba): Likewise.
38906 (grub_video_fill_rect): Likewise.
38907 (grub_video_blit_glyph): Likewise.
38908 (grub_video_blit_bitmap): Likewise.
38909 (grub_video_blit_render_target): Likewise.
38910 (grub_video_scroll): Likewise.
38911 (grub_video_swap_buffers): Likewise.
38912 (grub_video_create_render_target): Likewise.
38913 (grub_video_delete_render_target): Likewise.
38914 (grub_video_set_active_render_target): Likewise.
38915
38916 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
38917 Undefined.
38918 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
38919
38920 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
38921 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38922 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38923 instead of $(srcdir)/genkernsyms.sh.
38924
38925 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
38926 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38927 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38928 instead of $(srcdir)/genkernsyms.sh.
38929
38930 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
38931 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38932 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38933 instead of $(srcdir)/genkernsyms.sh.
38934
38935 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
38936 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
38937 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
38938 instead of $(srcdir)/genkernsyms.sh.
38939
38940 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
38941 genkernsyms.sh.
38942
38943 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
38944 genkernsyms.sh.
38945 (gensymlist.sh): New target.
38946 (genkernsyms.sh): Likewise.
38947
38948 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
38949 genkernsyms.sh.in and gensymlist.sh.in.
38950
38951 * genkernsyms.sh: Removed.
38952 * gensymlist.sh: Likewise.
f19dbdb7 38953
7b455f4d 38954 * genkernsyms.sh.in: New file.
38955 * gensymlist.sh.in: Likewise.
38956
1885bb27 389572006-04-25 Hollis Blanchard <hollis@penguinppc.org>
38958
38959 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
38960 clobber "prefix", since we may have already set it manually.
38961
71538dff 389622006-04-25 Hollis Blanchard <hollis@penguinppc.org>
38963
38964 * kern/misc.c (abort): New alias for grub_abort.
38965
2965c7cc 389662006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
38967
38968 A new machine-specific function "grub_machine_set_prefix" is
38969 defined. This is called after loading modules, so that a prefix
38970 initialization can use modules. Also, this change adds an
38971 intensive debugging feature for the memory manager via the
38972 configure option "--enable-mm-debug".
f19dbdb7 38973
2965c7cc 38974 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
38975 PART.LEN.
38976
38977 * kern/sparc64/ieee1275/init.c (abort): Removed.
38978 (grub_stop): Likewise.
38979 (grub_exit): New function.
38980 (grub_set_prefix): Renamed to ...
38981 (grub_machine_set_prefix): ... this.
38982 (grub_machine_init): Do not call grub_set_prefix.
38983
38984 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
38985 (grub_machine_set_prefix): ... this.
38986 (grub_machine_init): Do not call grub_set_prefix.
38987
38988 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
38989 (grub_machine_init): Do not set the prefix here.
38990
38991 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
38992
38993 * kern/efi/init.c: Include grub/mm.h.
38994 (grub_efi_set_prefix): New function.
38995
38996 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
38997 (grub_efi_get_filename): New function.
38998 (grub_print_device_path): Renamed to ...
38999 (grub_efi_print_device_path): ... this.
39000
39001 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
39002 [MM_DEBUG] (grub_realloc): Likewise.
39003 [MM_DEBUG] (grub_free): Likewise.
39004 [MM_DEBUG] (grub_memalign): Likewise.
39005 [MM_DEBUG] (grub_mm_debug): New variable.
39006 [MM_DEBUG] (grub_debug_malloc): New function.
39007 [MM_DEBUG] (grub_debug_free): New function.
39008 [MM_DEBUG] (grub_debug_realloc): New function.
39009 [MM_DEBUG] (grub_debug_memalign): New function.
39010
39011 * kern/misc.c (grub_abort): Print a newline to distinguish
39012 the message.
39013
39014 * kern/main.c (grub_main): Call grub_machine_set_prefix and
39015 grub_set_root_dev after loading modules. This is necessary when
39016 setting a prefix depends on modules.
39017
39018 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
39019 (grub_efi_print_device_path): ... this.
39020 (grub_efi_get_filename): New prototype.
39021 (grub_efi_set_prefix): Likewise.
39022
39023 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
39024 and grub/disk.h.
39025 (grub_efidisk_get_device_handle): New prototype.
39026 (grub_efidisk_get_device_name): Likewise.
39027
39028 * include/grub/mm.h: Include config.h.
39029 (MM_DEBUG): Removed.
39030 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
39031 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
39032 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
39033 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
39034 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
39035 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
39036 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
39037 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
39038 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
39039
39040 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
39041
39042 * disk/efi/efidisk.c: Include grub/partition.h.
39043 (iterate_child_devices): New function.
39044 (add_device): First, compare only last device path nodes, so that
39045 devices are sorted by the types.
39046 (grub_efidisk_get_device_handle): New function.
39047 (grub_efidisk_get_device_name): Likewise.
39048
39049 * configure.ac (--enable-mm-debug): New option to enable the
39050 memory manager debugging feature. This makes the binary much
39051 bigger, so is disabled by default.
39052
9cacaa17 390532006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
39054
39055 Use grub_abort instead of grub_stop, and grub_exit must be
39056 define in each architecture now. Also, this change adds support
39057 for EFI disks.
f19dbdb7 39058
9cacaa17 39059 * util/i386/pc/grub-probefs.c: Include grub/term.h.
39060 (grub_getkey): New function.
39061 (grub_term_get_current): Likewise.
39062
39063 * util/i386/pc/grub-setup.c: Include grub/term.h.
39064 (grub_getkey): New function.
39065 (grub_term_get_current): Likewise.
39066
39067 * util/misc.c (grub_stop): Renamed to ...
39068 (grub_exit): ... this.
39069
39070 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
39071 (grub_exit): ... this.
39072 (grub_machine_init): Use grub_abort instead of abort.
39073 (grub_stop): Removed.
39074
39075 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
39076 abort.
39077
39078 * kern/i386/pc/startup.S (grub_exit): New function.
39079 (cold_reboot): New label.
39080
39081 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
39082 (grub_efi_init): Call grub_efidisk_init.
39083 (grub_efi_fini): Call grub_efidisk_fini.
39084
39085 * kern/efi/efi.c: Include grub/mm.h.
39086 (grub_efi_console_control_guid): Renamed to ...
39087 (console_control_guid): ... this.
39088 (grub_efi_loaded_image_guid): Renamed to ...
39089 (loaded_image_guid): ... this.
39090 (grub_efi_locate_handle): New function.
39091 (grub_efi_open_protocol): Likewise.
39092 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
39093 GRUB_EFI_CONSOLE_CONTROL_GUID.
39094 (grub_efi_exit): Removed.
39095 (grub_stop): Likewise.
39096 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
39097 (grub_exit): New function.
39098 (grub_print_device_path): Likewise.
39099
39100 * kern/rescue.c (grub_rescue_cmd_exit): New function.
39101 (grub_enter_rescue_mode): Register "exit".
39102
39103 * kern/misc.c (grub_real_dprintf): A cosmetic change.
39104 (grub_abort): New function.
39105
39106 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
39107
39108 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
39109
39110 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
39111
39112 * include/grub/efi/efi.h (grub_efi_exit): Removed.
39113 (grub_print_device_path): New prototype.
39114 (grub_efi_locate_handle): Likewise.
39115 (grub_efi_open_protocol): Likewise.
39116
39117 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
39118 * disk/efi/efidisk.c: Likewise.
39119
39120 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
39121
39122 * include/grub/efi/console_control.h
39123 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
39124
39125 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
39126 last 8 bytes as an array.
39127 (GRUB_EFI_DISK_IO_GUID): New macro.
39128 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
39129 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
39130 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
39131 grub_uint8_t.
39132 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
39133 (struct grub_efi_device_path): Rename the member "sub_type" to
39134 "subtype".
39135 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
39136 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
39137 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
39138 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
39139 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
39140 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
39141 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
39142 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
39143 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
39144 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
39145 (struct grub_efi_pci_device_path): New structure.
39146 (grub_efi_pci_device_path_t): New type.
39147 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
39148 (struct grub_efi_pccard_device_path): New structure.
39149 (grub_efi_pccard_device_path_t): New type.
39150 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
39151 (struct grub_efi_memory_mapped_device_path): New structure.
39152 (grub_efi_memory_mapped_device_path_t): New type.
39153 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
39154 (struct grub_efi_vendor_device_path): New structure.
39155 (grub_efi_vendor_device_path_t): New type.
39156 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
39157 (struct grub_efi_controller_device_path): New structure.
39158 (grub_efi_controller_device_path_t): New type.
39159 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
39160 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
39161 (struct grub_efi_acpi_device_path): New structure.
39162 (grub_efi_acpi_device_path_t): New type.
39163 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
39164 (struct grub_efi_expanded_acpi_device_path): New structure.
39165 (grub_efi_expanded_acpi_device_path_t): New type.
39166 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
39167 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
39168 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
39169 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
39170 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
39171 (struct grub_efi_atapi_device_path): New structure.
39172 (grub_efi_atapi_device_path_t): New type.
39173 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
39174 (struct grub_efi_fibre_channel_device_path): New structure.
39175 (grub_efi_fibre_channel_device_path_t): New type.
39176 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
39177 (struct grub_efi_1394_device_path): New structure.
39178 (grub_efi_1394_device_path_t): New type.
39179 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
39180 (struct grub_efi_usb_device_path): New structure.
39181 (grub_efi_usb_device_path_t): New type.
39182 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
39183 (struct grub_efi_usb_class_device_path): New structure.
39184 (grub_efi_usb_class_device_path_t): New type.
39185 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
39186 (struct grub_efi_i2o_device_path): New structure.
39187 (grub_efi_i2o_device_path_t): New type.
39188 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
39189 (struct grub_efi_mac_address_device_path): New structure.
39190 (grub_efi_mac_address_device_path_t): New type.
39191 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
39192 (struct grub_efi_ipv4_device_path): New structure.
39193 (grub_efi_ipv4_device_path_t): New type.
39194 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
39195 (struct grub_efi_ipv6_device_path): New structure.
39196 (grub_efi_ipv6_device_path_t): New type.
39197 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
39198 (struct grub_efi_infiniband_device_path): New structure.
39199 (grub_efi_infiniband_device_path_t): New type.
39200 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
39201 (struct grub_efi_uart_device_path): New structure.
39202 (grub_efi_uart_device_path_t): New type.
39203 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
39204 (struct grub_efi_vendor_messaging_device_path): New structure.
39205 (grub_efi_vendor_messaging_device_path_t): New type.
39206 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
39207 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
39208 (struct grub_efi_hard_drive_device_path): New structure.
39209 (grub_efi_hard_drive_device_path_t): New type.
39210 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
39211 (struct grub_efi_cdrom_device_path): New structure.
39212 (grub_efi_cdrom_device_path_t): New type.
39213 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
39214 (struct grub_efi_vendor_media_device_path): New structure.
39215 (grub_efi_vendor_media_device_path_t): New type.
39216 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
39217 (struct grub_efi_file_path_device_path): New structure.
39218 (grub_efi_file_path_device_path_t): New type.
39219 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
39220 (struct grub_efi_protocol_device_path): New structure.
39221 (grub_efi_protocol_device_path_t): New type.
39222 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
39223 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
39224 (struct grub_efi_bios_device_path): New structure.
39225 (grub_efi_bios_device_path_t): New type.
39226 (struct grub_efi_disk_io): New structure.
39227 (grub_efi_disk_io_t): New type.
39228 (struct grub_efi_block_io_media): New structure.
39229 (grub_efi_block_io_media_t): New type.
39230 (struct grub_efi_block_io): New structure.
39231 (grub_efi_block_io_t): New type.
39232
39233 * include/grub/misc.h (grub_stop): Removed.
39234 (grub_exit): New prototype.
39235 (grub_abort): Likewise.
39236
39237 * include/grub/disk.h (enum grub_disk_dev_id): Added
39238 GRUB_DISK_DEVICE_EFIDISK_ID.
39239
39240 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
39241 disk/efi/efidisk.c.
39242 (kernel_syms.lst): Remove the target if an error occurs.
39243
49986a9f 392442006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
39245
39246 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
39247 as it was simply too buggy.
39248
970d3b8a 392492006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
39250
39251 * kern/misc.c (grub_lltoa): New function.
39252 (grub_vsprintf): Added support for the long long suffix,
39253 i.e. "ll".
39254
ff04ec24 392552006-04-20 Hollis Blanchard <hollis@penguinppc.org>
39256
39257 * Makefile.in (LDFLAGS): Add variable.
39258 (LD): Remove variable.
39259 * configure.ac: Add -m32 to LDFLAGS.
39260 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
39261 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
39262 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
39263 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
39264 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
39265 variables.
39266 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
39267 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
39268 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
39269
37e5e1a4 392702006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
39271
39272 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
39273 length for unknown glyph.
39274
c352d8dd 392752006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
39276
2eab1c0d 39277 Add support for pre-loaded modules into the EFI port.
f19dbdb7 39278
2eab1c0d 39279 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
39280 completely. Accept one more argument DIR. The caller has changed.
39281
39282 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
39283
39284 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
39285 (grub_efi_loaded_image_guid): New variable.
39286 (grub_efi_get_loaded_image): New function.
39287 (grub_arch_modules_addr): Likewise.
39288
39289 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
39290 prototype.
39291
39292 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
39293 (struct grub_efi_loaded_image): New structure.
39294 (grub_efi_loaded_image_t): New type.
39295
392962006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 39297
c352d8dd 39298 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
39299 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
39300 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
39301
6d01d6b4 393022006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
39303
39304 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
39305
976a4ea0 393062006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
39307
39308 * DISTLIST: Added include/grub/efi/console.h,
39309 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
39310 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
39311
39312 * include/grub/efi/console.h: New file.
39313 * include/grub/efi/time.h: Likewise.
39314 * include/grub/i386/efi/kernel.h: Likewise.
39315 * kern/efi/init.c: Likewise.
39316 * kern/efi/mm.c: Likewise.
39317 * term/efi/console.c: Likewise.
f19dbdb7 39318
976a4ea0 39319 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
39320 (grub_stop): Removed.
39321 (grub_get_rtc): Likewise.
39322 (grub_machine_init): Simply call grub_efi_init.
39323 (grub_machine_fini): Call grub_efi_fini.
39324
39325 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
39326 (grub_efi_output_string): Removed.
39327 (grub_efi_stall): New function.
39328 (grub_stop): Likewise.
39329 (grub_get_rtc): Likewise.
39330
39331 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
39332 (grub_efi_stall): New prototype.
39333 (grub_efi_allocate_pages): Likewise.
39334 (grub_efi_free_pages): Likewise.
39335 (grub_efi_get_memory_map): Likewise.
39336 (grub_efi_mm_init): Likewise.
39337 (grub_efi_mm_fini): Likewise.
39338 (grub_efi_init): Likewise.
39339 (grub_efi_fini): Likewise.
39340
39341 * include/grub/i386/efi/time.h: Do not include
39342 grub/symbol.h. Include grub/efi/time.h.
39343 (GRUB_TICKS_PER_SECOND): Removed.
39344 (grub_get_rtc): Likewise.
39345
39346 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
39347 Added padding. The EFI spec is buggy.
39348 (GRUB_EFI_BLACK): New macro.
39349 (GRUB_EFI_BLUE): Likewise.
39350 (GRUB_EFI_GREEN): Likewise.
39351 (GRUB_EFI_CYAN): Likewise.
39352 (GRUB_EFI_RED): Likewise.
39353 (GRUB_EFI_MAGENTA): Likewise.
39354 (GRUB_EFI_BROWN): Likewise.
39355 (GRUB_EFI_LIGHTGRAY): Likewise.
39356 (GRUB_EFI_BRIGHT): Likewise.
39357 (GRUB_EFI_DARKGRAY): Likewise.
39358 (GRUB_EFI_LIGHTBLUE): Likewise.
39359 (GRUB_EFI_LIGHTGREEN): Likewise.
39360 (GRUB_EFI_LIGHTCYAN): Likewise.
39361 (GRUB_EFI_LIGHTRED): Likewise.
39362 (GRUB_EFI_LIGHTMAGENTA): Likewise.
39363 (GRUB_EFI_YELLOW): Likewise.
39364 (GRUB_EFI_WHITE): Likewise.
39365 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
39366 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
39367 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
39368 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
39369 (GRUB_EFI_BACKGROUND_RED): Likewise.
39370 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
39371 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
39372 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
39373 (GRUB_EFI_TEXT_ATTR): Likewise.
39374
39375 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
39376 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
39377 (kernel_mod_HEADERS): Added efi/time.h.
39378
83709125 393792006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
39380
39381 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
39382 include/grub/efi/api.h, include/grub/efi/console_control.h,
39383 include/grub/efi/efi.h, include/grub/efi/pe32.h,
39384 include/grub/i386/efi/time.h, kern/efi/efi.c,
39385 kern/i386/efi/init.c, kern/i386/efi/startup.S,
39386 and util/i386/efi/grub-mkimage.c.
39387
39388 * Makefile.in (RMKFILES): Added i386-efi.rmk.
39389
39390 * genmk.rb (PModule#rule): Do not export symbols if
39391 #{prefix}_EXPORTS is set to "no".
39392
39393 * conf/i386-efi.mk: New file.
39394 * conf/i386-efi.rmk: Likewise.
39395 * include/grub/efi/api.h: Likewise.
39396 * include/grub/efi/console_control.h: Likewise.
39397 * include/grub/efi/efi.h: Likewise.
39398 * include/grub/efi/pe32.h: Likewise.
39399 * include/grub/i386/efi/time.h: Likewise.
39400 * kern/efi/efi.c: Likewise.
39401 * kern/i386/efi/init.c: Likewise.
39402 * kern/i386/efi/startup.S: Likewise.
39403 * util/i386/efi/grub-mkimage.c: Likewise.
39404
394052006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 39406
39407 * include/grub/script.h: Include <grub/parser.h> and
39408 "grub_script.tab.h".
39409 (struct grub_lexer_param): New struct.
39410 (struct grub_parser_param): Likewise.
39411 (grub_script_create_arglist): Pass the state in an argument.
39412 (grub_script_add_arglist): Likewise.
39413 (grub_script_create_cmdline): Likewise.
39414 (grub_script_create_cmdblock): Likewise.
39415 (grub_script_create_cmdif): Likewise.
39416 (grub_script_create_cmdmenu): Likewise.
39417 (grub_script_add_cmd): Likewise.
39418 (grub_script_arg_add): Likewise.
39419 (grub_script_lexer_ref): Likewise.
39420 (grub_script_lexer_deref): Likewise.
39421 (grub_script_lexer_record_start): Likewise.
39422 (grub_script_lexer_record_stop): Likewise.
39423 (grub_script_mem_record): Likewise.
39424 (grub_script_mem_record_stop): Likewise.
39425 (grub_script_malloc): Likewise.
39426 (grub_script_yylex): Likewise.
39427 (grub_script_yyparse): Likewise.
39428 (grub_script_yyerror): Likewise.
39429 (grub_script_yylex): Likewise.
39430 (grub_script_lexer_init): Return the state.
39431
39432 * normal/lexer.c (grub_script_lexer_state): Removed variable.
39433 (grub_script_lexer_done): Likewise.
39434 (grub_script_lexer_getline): Likewise.
39435 (grub_script_lexer_refs): Likewise.
39436 (script): Likewise.
39437 (newscript): Likewise.
39438 (record): Likewise.
39439 (recording): Likewise.
39440 (recordpos): Likewise.
39441 (recordlen): Likewise.
39442 (grub_script_lexer_init): Return the state instead of setting
39443 global variables.
39444 (grub_script_lexer_ref): Use the newly added argument for state
39445 instead of globals.
39446 (grub_script_lexer_deref): Likewise.
39447 (grub_script_lexer_record_start): Likewise.
39448 (grub_script_lexer_record_stop): Likewise.
39449 (recordchar): Likewise.
39450 (nextchar): Likewise.
39451 (grub_script_yylex2): Likewise.
39452 (grub_script_yylex): Likewise.
39453 (grub_script_yyerror): Likewise.
39454
39455 * normal/parser.y (func_mem): Removed variable.
39456 (menu_entry): Likewise.
39457 (err): Likewise.
39458 (%lex-param): New parser option.
39459 (%parse-param): Likewise.
39460 (script): Always return the AST.
39461 (argument): Pass the state around.
39462 (arguments): Likewise.
39463 (grubcmd): Likewise.
39464 (commands): Likewise.
39465 (function): Likewise.
39466 (menuentry): Likewise.
39467 (if_statement): Likewise.
39468 (if): Likewise.
39469
39470 * normal/script.c (grub_script_memused): Removed variable.
39471 (grub_script_parsed): Likewise.
39472 (grub_script_malloc): Added a state argument. Use that instead of
39473 global variables.
39474 (grub_script_mem_record): Likewise.
39475 (grub_script_mem_record_stop): Likewise.
39476 (grub_script_arg_add): Likewise.
39477 (grub_script_add_arglist): Likewise.
39478 (grub_script_create_cmdline): Likewise.
39479 (grub_script_create_cmdif): Likewise.
39480 (grub_script_create_cmdmenu): Likewise.
39481 (grub_script_add_cmd): Likewise.
39482 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 39483
e2a8c904 394842006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 39485
39486 * normal/command.c (grub_command_init): Remove the title command.
39487
39488 * normal/lexer.c (grub_script_yylex): Renamed from this...
39489 (grub_script_yylex2): ... to this.
39490 (grub_script_yylex): New function. Temporary
39491 introduced to filter some tokens.
39492 (grub_script_yyerror): Print a newline.
39493
39494 * normal/main.c (read_config_file): Output information about the
39495 lines that contain errors. Wait for a key after all lines have
39496 been processed. Don't return an empty menu.
39497
39498 * normal/parser.y (func_mem): Don't initialize.
39499 (menu_entry): Likewise.
39500 (err): New variable.
39501 (script): Don't return anything when an error was encountered.
39502 (ws, returns): Removed rules.
39503 (argument): Disabled concatenated variable support.
39504 (arguments): Remove explicit separators.
39505 (grubcmd): Likewise.
39506 (function): Likewise.
39507 (menuentry): Likewise.
39508 (if): Likewise.
39509 (commands): Likewise. Add error handling.
39510
39511 * normal/script.c (grub_script_create_cmdline): If
39512 `grub_script_parsed' is 0, assume the parser encountered an error.
39513
c9a86192 395142006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
39515
39516 * configure.ac: Add support for EFI. Fix the typo
39517 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
39518
70f3b243 395192006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
39520
39521 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
39522 foreign multibyte characters should be shown correctly.
39523
65f201ad 395242006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
39525
39526 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
39527 calculation.
39528 (read_config_file): Made it to close file before returning.
39529
b4b93674 395302006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
39531
39532 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
39533 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
39534 video/i386/pc/vbefill.c.
39535
39536 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
39537 video/i386/pc/vbefill.c.
39538
39539 * include/grub/video.h (grub_video_blit_format): New enum.
39540 (grub_video_mode_info): Added new member blit_format.
39541 (grub_video_get_blit_format): New function prototype.
39542
39543 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
39544 function prototype.
39545 (grub_video_vbe_map_rgb): Likewise.
39546 (grub_video_vbe_unmap_color): Likewise.
39547
39548 * include/grub/i386/pc/vbeblit.h: New file.
39549
39550 * include/grub/i386/pc/vbefill.h: New file.
39551
39552 * video/video.c (grub_video_get_blit_format): New function.
39553 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
39554 (grub_video_vbe_map_rgb): Likewise.
39555 (grub_video_vbe_unmap_color): Likewise.
39556
39557 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
39558 optimized fills.
39559 (grub_video_vbe_blit_render_target): Changed to use more optimized
39560 blits.
39561 (grub_video_vbe_setup): Added detection for optimized settings.
39562 (grub_video_vbe_create_render_target): Likewise.
39563
39564 * video/i386/pc/vbeblit.c: New file.
39565
39566 * video/i386/pc/vbefill.c: New file.
39567
c2379b9c 395682006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
39569
39570 * font/manager.c (grub_font_get_glyph): Removed font fixup from
39571 here...
39572
39573 * util/unifont2pff.rb: ... and moved it to here. Improved argument
39574 parsing to support both hex and dec ranges. If filename was missing
39575 show usage information.
39576
bd0d7896 395772006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
39578
39579 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
39580 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
39581
39582 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
39583 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
39584 (video_mod_SOURCES): Added.
39585 (video_mod_CFLAGS): Likewise.
39586 (video_mod_LDFLAGS): Likewise.
39587 (gfxterm_mod_SOURCES): Likewise.
39588 (gfxterm_mod_CFLAGS): Likewise.
39589 (gfxterm_mod_LDFLAGS): Likewise.
39590 (videotest_mod_SOURCES): Likewise.
39591 (videotest_mod_CFLAGS): Likewise.
39592 (videotest_mod_LDFLAGS): Likewise.
39593 (vesafb_mod_SOURCES): Removed.
39594 (vesafb_mod_CFLAGS): Likewise.
39595 (vesafb_mod_LDFLAGS): Likewise.
39596 (vga_mod_SOURCES): Likewise.
39597 (vga_mod_CFLAGS): Likewise.
39598 (vga_mod_LDFLAGS): Likewise.
39599
39600 * commands/videotest.c: New file.
39601
39602 * font/manager.c (fill_with_default_glyph): Modified to use
39603 grub_font_glyph.
39604 (grub_font_get_glyph): Likewise.
39605 (fontmanager): Renamed from this...
39606 (font_manager): ... to this.
39607
39608 * include/grub/font.h (grub_font_glyph): Added new structure.
39609 (grub_font_get_glyph): Modified to use grub_font_glyph.
39610
39611 * include/grub/misc.h (grub_abs): Added as inline function.
39612
39613 * include/grub/video.h: New file.
39614
39615 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
39616 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
39617 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
39618 (grub_vbe_get_controller_info): Renamed from this...
39619 (grub_vbe_bios_get_controller_info): ... to this.
39620 (grub_vbe_get_mode_info): Renamed from this...
39621 (grub_vbe_bios_get_mode_info): ... to this.
39622 (grub_vbe_set_mode): Renamed from this...
39623 (grub_vbe_bios_set_mode): ... to this.
39624 (grub_vbe_get_mode): Renamed from this...
39625 (grub_vbe_bios_get_mode): ... to this.
39626 (grub_vbe_set_memory_window): Renamed from this...
39627 (grub_vbe_bios_set_memory_window): ... to this.
39628 (grub_vbe_get_memory_window): Renamed from this...
39629 (grub_vbe_bios_get_memory_window): ... to this.
39630 (grub_vbe_set_scanline_length): Renamed from this...
39631 (grub_vbe_set_scanline_length): ... to this.
39632 (grub_vbe_get_scanline_length): Renamed from this...
39633 (grub_vbe_bios_get_scanline_length): ... to this.
39634 (grub_vbe_set_display_start): Renamed from this...
39635 (grub_vbe_bios_set_display_start): ... to this.
39636 (grub_vbe_get_display_start): Renamed from this...
39637 (grub_vbe_bios_get_display_start): ... to this.
39638 (grub_vbe_set_palette_data): Renamed from this...
39639 (grub_vbe_bios_set_palette_data): ... to this.
39640 (grub_vbe_set_pixel_rgb): Removed.
39641 (grub_vbe_set_pixel_index): Likewise.
39642
39643 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
39644 from this...
39645 (grub_vbe_bios_get_controller_info): ... to this.
39646 (grub_vbe_get_mode_info): Renamed from this...
39647 (grub_vbe_bios_get_mode_info): ... to this.
39648 (grub_vbe_set_mode): Renamed from this...
39649 (grub_vbe_bios_set_mode): ... to this.
39650 (grub_vbe_get_mode): Renamed from this...
39651 (grub_vbe_bios_get_mode): ... to this.
39652 (grub_vbe_set_memory_window): Renamed from this...
39653 (grub_vbe_bios_set_memory_window): ... to this.
39654 (grub_vbe_get_memory_window): Renamed from this...
39655 (grub_vbe_bios_get_memory_window): ... to this.
39656 (grub_vbe_set_scanline_length): Renamed from this...
39657 (grub_vbe_set_scanline_length): ... to this.
39658 (grub_vbe_get_scanline_length): Renamed from this...
39659 (grub_vbe_bios_get_scanline_length): ... to this.
39660 (grub_vbe_set_display_start): Renamed from this...
39661 (grub_vbe_bios_set_display_start): ... to this.
39662 (grub_vbe_get_display_start): Renamed from this...
39663 (grub_vbe_bios_get_display_start): ... to this.
39664 (grub_vbe_set_palette_data): Renamed from this...
39665 (grub_vbe_bios_set_palette_data): ... to this.
39666 (grub_vbe_bios_get_controller_info): Fixed problem with registers
39667 getting corrupted after calling it. Added more pushes and pops.
39668 (grub_vbe_bios_set_mode): Likewise.
39669 (grub_vbe_bios_get_mode): Likewise.
39670 (grub_vbe_bios_get_memory_window): Likewise.
39671 (grub_vbe_bios_set_scanline_length): Likewise.
39672 (grub_vbe_bios_get_scanline_length): Likewise.
39673 (grub_vbe_bios_get_display_start): Likewise.
39674 (grub_vbe_bios_set_palette_data): Likewise.
39675
39676 * normal/cmdline.c (cl_set_pos): Refresh the screen.
39677 (cl_insert): Likewise.
39678 (cl_delete): Likewise.
39679
39680 * term/gfxterm.c: New file.
39681
39682 * term/i386/pc/vesafb.c: Removed file.
39683
39684 * video/video.c: New file.
39685
39686 * video/i386/pc/vbe.c (real2pm): Added new function.
39687 (grub_video_vbe_draw_pixel): Likewise.
39688 (grub_video_vbe_get_video_ptr): Likewise.
39689 (grub_video_vbe_get_pixel): Likewise
39690 (grub_video_vbe_init): Likewise.
39691 (grub_video_vbe_fini): Likewise.
39692 (grub_video_vbe_setup): Likewise.
39693 (grub_video_vbe_get_info): Likewise.
39694 (grub_video_vbe_set_palette): Likewise.
39695 (grub_video_vbe_get_palette): Likewise.
39696 (grub_video_vbe_set_viewport): Likewise.
39697 (grub_video_vbe_get_viewport): Likewise.
39698 (grub_video_vbe_map_color): Likewise.
39699 (grub_video_vbe_map_rgb): Likewise.
39700 (grub_video_vbe_map_rgba): Likewise.
39701 (grub_video_vbe_unmap_color): Likewise.
39702 (grub_video_vbe_fill_rect): Likewise.
39703 (grub_video_vbe_blit_glyph): Likewise.
39704 (grub_video_vbe_blit_bitmap): Likewise.
39705 (grub_video_vbe_blit_render_target): Likewise.
39706 (grub_video_vbe_scroll): Likewise.
39707 (grub_video_vbe_swap_buffers): Likewise.
39708 (grub_video_vbe_create_render_target): Likewise.
39709 (grub_video_vbe_delete_render_target): Likewise.
39710 (grub_video_vbe_set_active_render_target): Likewise.
39711 (grub_vbe_set_pixel_rgb): Remove function.
39712 (grub_vbe_set_pixel_index): Likewise.
39713 (index_color_mode): Remove static variable.
39714 (active_mode): Likewise.
39715 (framebuffer): Likewise.
39716 (bytes_per_scan_line): Likewise.
39717 (grub_video_vbe_adapter): Added new static variable.
39718 (framebuffer): Likewise.
39719 (render_target): Likewise.
39720 (initial_mode): Likewise.
39721 (mode_in_use): Likewise.
39722 (mode_list): Likewise.
39723
5f97350b 397242006-03-10 Marco Gerards <marco@gnu.org>
39725
39726 * configure.ac (AC_INIT): Bumped to 1.93.
39727
39728 * DISTLIST: Added `include/grub/hfs.h'.
39729
a3c5c6f8 397302006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
39731
39732 * boot/i386/pc/boot.S (general_error): Before looping, try INT
39733 18H, which might help the BIOS falling back to next boot media.
39734
6de53d26 397352006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
39736
39737 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
39738 Poe Chen <poe.poechen@gmail.com>.
39739
77c4a393 397402006-01-17 Marco Gerards <marco@gnu.org>
39741
39742 * include/grub/normal.h: Include <grub/script.h>.
39743 (grub_command_list): Removed struct.
39744 (grub_command_list_t): Removed type.
39745 (grub_menu_entry): Remove members `num' and `command_list'. Add
39746 members `commands' and `sourcecode'.
39747 * include/grub/script.h: Add inclusion guards.
39748 (grub_script_cmd_menuentry): New struct.
39749 (grub_script_execute_menuentry): New prototype.
39750 (grub_script_lexer_record_start): Likewise.
39751 (grub_script_lexer_record_stop): Likewise.
39752 * normal/execute.c (grub_script_execute_menuentry): New function.
39753 * normal/lexer.c (record, recording, recordpos, recordlen): New
39754 variables.
39755 (grub_script_lexer_record_start): New function.
39756 (grub_script_lexer_record_stop): Likewise.
39757 (recordchar): Likewise.
39758 (nextchar): Likewise.
39759 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
39760 2048 as the buffer size. Add the tokens `menuentry' and `@'.
39761 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
39762 (current_menu): New variable.
39763 (free_menu): Mainly rewritten.
39764 (grub_normal_menu_addentry): New function.
39765 (read_config_file): Rewritten.
39766 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 39767 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 39768 the menu entry.
39769 (run): Mainly rewritten.
39770 * normal/parser.y (menu_entry): New variable.
39771 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
39772 (menuentry): New rule.
39773 (command): Add `menuentry'.
39774 (if_statement): Allow additional returns before `fi'.
39775 * normal/script.c (grub_script_create_cmdmenu): New function.
39776
144f1f98 397772006-01-03 Marco Gerards <marco@gnu.org>
39778
39779 * INSTALL: GNU Bison is required.
39780 * configure.ac: Rewritten the test to detect Bison.
39781 * Makefile.in (YACC): New variable. Reported by Xun Sun
39782 <xun.sun.cn@gmail.com>.
39783
af4b2d89 397842006-01-03 Marco Gerards <marco@gnu.org>
39785
39786 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
39787 the HFS+ filesystem to filesystem blocks.
39788 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
39789 GCC warning is silenced.
39790
15643b71 397912006-01-03 Marco Gerards <marco@gnu.org>
39792
39793 * partmap/apple.c (apple_partition_map_iterate): Convert the data
39794 read from disk from big endian to host byte order.
39795
00905879 397962006-01-03 Hollis Blanchard <hollis@penguinppc.org>
39797
39798 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
39799 documentation.
39800 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
39801 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
39802 embedded HFS+ filesystem.
39803 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
39804 (grub_hfs_sblock): Move from here...
39805 * include/grub/hfs.h: To here... New file.
39806 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
39807 documentation.
39808 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
39809 New macros.
39810 (grub_hfsplus_volheader): Change type of member `magic' to
39811 `grub_uint16_t'.
39812 (grub_hfsplus_data): Add new member `embedded_offset'.
39813 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
39814 returned block.
39815 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
39816 Calculate the offset.
39817
8899bc3e 398182005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39819
39820 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
39821 Removed.
39822 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
39823
ae8c0277 398242005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39825
39826 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
39827 ENV->NAME is NULL after allocating ENV->VALUE.
39828
07084456 398292005-12-25 Marco Gerards <marco@gnu.org>
39830
39831 * kern/env.c (grub_env_set): Rewritten the error handling code.
39832
4750f5f1 398332005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39834
39835 * geninit.sh: Made more robust, and more portable.
39836
50214199 398372005-12-25 Marco Gerards <marco@gnu.org>
39838
39839 Add support for Apple HFS+ filesystems.
f19dbdb7 39840
50214199 39841 * fs/hfsplus.c: New file.
39842
39843 * DISTLIST: Added `fs/hfsplus.c'.
39844
39845 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
39846 (hfsplus_mod_SOURCES): New variable.
39847 (hfsplus_mod_CFLAGS): Likewise.
39848 (hfsplus_mod_LDFLAGS): Likewise.
39849 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
39850 (grub_setup_SOURCES): Likewise.
39851 (grub_mkdevicemap_SOURCES): Likewise.
39852 (grub_emu_SOURCES): Likewise.
39853 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39854
39855 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
39856
39857 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
39858
befaed6c 398592005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
39860
39861 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
39862 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
39863 include/grub/parser.h, include/grub/script.h, kern/parser.c,
39864 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
39865 normal/lexer.c, normal/parser.y, normal/script.c, and
39866 partmap/gpt.c.
39867 Removed kern/sparc64/cache.c.
39868
39869 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
39870 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
39871 grub_emu_init.c.
39872
39873 * configure.ac (AC_INIT): Bumped to 1.92.
39874
6a124103 398752005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
39876
39877 * kern/err.c (grub_error_push): Added new function to support error
39878 stacks.
39879 (grub_error_pop): Likewise.
39880 (grub_error_stack_items): New local variable to support error stacks.
39881 (grub_error_stack_pos): Likewise.
39882 (grub_error_stack_assert): Likewise.
39883 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
39884 stack depth.
39885 (grub_print_error): Added support to print errors from error stack.
39886
39887 * include/grub/err.h (grub_error_push): Added function prototype.
39888 (grub_error_pop): Likewise.
39889
be973c1b 398902005-12-09 Hollis Blanchard <hollis@penguinppc.org>
39891
39892 * configure.ac: Accept `powerpc64' as host_cpu.
39893 (amd64): Rename to `biarch32'.
39894
39895 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
39896 non-cacheline-aligned addresses.
39897
39898 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
39899 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
39900 if `size' is non-zero.
39901
b04216ab 399022005-12-03 Marco Gerards <mgerards@xs4all.nl>
39903
39904 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
39905 and `cd' to make sure the filename is not prefixed with a
39906 directory name.
39907 (pkgdata_MODULES): Add `gpt.mod'.
39908 (gpt_mod_SOURCES): New variable.
39909 (gpt_mod_CFLAGS): Likewise.
39910 (gpt_mod_LDFLAGS): Likewise.
39911
39912 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
39913
39914 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
39915 New macro.
39916
39917 * partmap/gpt.c: New file.
39918
39919 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
39920 GPT partition map is detected.
39921
41730ed9 399222005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
39923
39924 * commands/i386/pc/play.c: New file.
39925 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
39926 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
39927 macros.
f19dbdb7 39928
95dc3643 399292005-11-27 Marco Gerards <mgerards@xs4all.nl>
39930
39931 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
39932 ((unused))' to silence gcc warning.
39933
1569ec51 399342005-11-26 Hollis Blanchard <hollis@penguinppc.org>
39935
39936 * configure.ac: Correct `AC_PROG_YACC' test.
39937
9abde152 399382005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39939
39940 * util/powerpc/ieee1275/grub-install.in: Run the mount point
39941 check before installing files.
39942
44b83271 399432005-11-22 Mike Small <smallm@panix.com>
39944
39945 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
39946 number regex so multidigit numbers are recognized correctly.
39947
399482005-11-22 Mike Small <smallm@panix.com>
39949
39950 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
39951 debugging message before attempting to claim memory.
39952 (grub_rescue_cmd_initrd): Add a claim debugging message and try
39953 multiple addresses in case of failure.
39954
9c12956b 399552005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39956
39957 * term/tparm.c (get_space): Remove empty `if' statement.
39958
39959 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
39960
39961 * kern/parser.c (check_varstate): Rename `state' to 's'.
39962
aeaf81d9 399632005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39964
39965 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
39966 variable definitions to the beginning of each function. Sort stack
39967 variables by size.
39968 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
39969 `buf' argument to `char *'.
39970
79bbb63f 399712005-11-22 Hollis Blanchard <hollis@penguinppc.org>
39972
39973 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
39974 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 39975 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 39976 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
39977 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
39978 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
39979 configfile.mod, search.mod, gzio.mod and test.mod.
39980 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
39981 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
39982 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
39983 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
39984 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
39985 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
39986 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
39987 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
39988 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
39989 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
39990 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
39991 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
39992 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
39993 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
39994 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
39995 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
39996 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
39997 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
39998 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
39999 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
40000 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
40001 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
40002 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
40003
40004 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
40005 `grep --include'.
40006 (pkgdata_MODULES): Add test.mod.
40007
233b1628 400082005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40009
40010 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
40011 appending to variables with "+=".
40012 (PModule): Use full pathname to generate *.lst filenames.
40013
40014 * Makefile.in: Fixed list rules moved from genmk.rb.
40015 (.DELETE_ON_ERROR): New special target.
40016 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
40017
40018 * conf/i386-pc.rmk: Include conf/common.mk.
40019 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 40020 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 40021 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
40022 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
40023 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
40024 configfile.mod, search.mod, gzio.mod and test.mod.
40025 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
40026 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
40027 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
40028 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
40029 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
40030 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
40031 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
40032 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
40033 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
40034 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
40035 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40036 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40037 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
40038 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
40039 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
40040 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
40041 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40042 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
40043 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
40044 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
40045 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
40046 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
40047 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
40048 here...
40049 * conf/common.rmk: ... to here. New file.
40050
40051 * conf/common.mk: New file.
40052
16f820c8 400532005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
40054
40055 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
40056 (grub_script.tab.c): ... here.
40057
40058 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
40059 (grub_script.tab.c): ... here.
40060
40061 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
40062 (grub_script.tab.c): ... here.
40063
40064 * normal/command.c (grub_command_find): Fixed a memory leak of
40065 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
40066
63ba1554 400672005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40068
40069 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
40070 "@" which marks the start of a comment on ARM.
40071 (VARIABLE): Likewise.
40072
7f67dc13 400732005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40074
79bbb63f 40075 Add support for Linux/ADFS partition tables.
7f67dc13 40076
40077 * partmap/acorn.c: New file.
40078
40079 * include/grub/acorn_filecore.h: Likewise.
40080
40081 * DISTLIST: Added `partmap/acorn.c' and
40082 `include/grub/acorn_filecore.h'.
f19dbdb7 40083
7f67dc13 40084 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40085 `partmap/acorn.c'.
40086 (pkgdata_MODULES): Add `acorn.mod'.
40087 (acorn_mod_SOURCES): New variable.
40088 (acorn_mod_CFLAGS): Likewise.
40089
40090 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40091 `partmap/acorn.c'.
40092 (pkgdata_MODULES): Add `acorn.mod'.
40093 (acorn_mod_SOURCES): New variable.
40094 (acorn_mod_CFLAGS): Likewise.
40095
40096 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
40097 (pkgdata_MODULES): Add `acorn.mod'.
40098 (acorn_mod_SOURCES): New variable.
40099 (acorn_mod_CFLAGS): Likewise.
40100 (acorn_mod_LDFLAGS): Likewise.
40101
40102 * include/types.h (grub_disk_addr_t): New typedef.
40103
6d099807 401042005-11-13 Marco Gerards <mgerards@xs4all.nl>
40105
40106 * geninit.sh: New file.
40107
40108 * geninitheader.sh: Likewise.
40109
40110 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
40111 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
40112 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
40113 * commands/configfile.c (grub_configfile_init)
40114 (grub_configfile_fini): Likewise.
40115 * commands/default.c (grub_default_init, grub_default_fini):
40116 Likewise.
40117 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
40118 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
40119 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
40120 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
40121 Likewise.
40122 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
40123 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
40124 Likewise.
40125 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 40126 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 40127 Likewise.
40128 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
40129 Likewise.
fe6b695a 40130 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 40131 Likewise.
40132 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
40133 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
40134 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
40135 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
40136 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
40137 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
40138 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
40139 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
40140 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
40141 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
40142 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
40143 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
40144 * partmap/amiga.c (grub_amiga_partition_map_init)
40145 (grub_amiga_partition_map_fini): Likewise.
40146 * partmap/apple.c (grub_apple_partition_map_init)
40147 (grub_apple_partition_map_fini): Likewise.
40148 * partmap/pc.c (grub_pc_partition_map_init)
40149 (grub_pc_partition_map_fini): Likewise.
40150 * partmap/sun.c (grub_sun_partition_map_init,
40151 grub_sun_partition_map_fini): Likewise.
40152 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
40153 Likewise.
40154
40155 * util/grub-emu.c: Include <grub_modules_init.h>.
40156 (main): Don't initialize and de-initialize any modules directly,
40157 use `grub_init_all' and `grub_fini_all' instead.
40158
40159 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
40160 `grub_vesafb_mod_init'.
40161 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
40162 all users.
40163 * term/i386/pc/vga.c (grub_vga_init): Renamed to
40164 `grub_vga_mod_init'. Updated all users.
40165 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 40166
6d099807 40167 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
40168 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
40169 rules.
40170
40171 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
40172 Generate a function to initialize the module in utilities.
40173 Updated all callers.
40174 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
40175 initialize the module in utilities. Updated all callers.
40176
9046bcf0 401772005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40178
40179 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
40180 escape sequence and a literal ^L to clear the screen.
40181
40182 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
40183 when returning from Open Firmware.
40184
d13ea639 401852005-11-09 Hollis Blanchard <hollis@penguinppc.org>
40186
40187 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
40188 (grub_ofconsole_height): Likewise.
40189 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
40190 manually insert a '\n'.
40191 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
40192 `grub_ofconsole_height'. Return early if these are already set.
40193
a8fcf206 401942005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
40195
40196 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
40197 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
40198 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
40199 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
40200 and `normal/script.c'.
40201 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40202 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40203 (test_mod_SOURCES): New variable.
40204 (test_mod_CFLAGS): Likewise.
40205 (test_mod_LDFLAGS): Likewise.
40206 (pkgdata_MODULES): Add `test.mod'.
40207 (grub_script.tab.c): New rule.
40208 (grub_script.tab.h): Likewise.
40209
b6b32745 402102005-11-07 Marco Gerards <mgerards@xs4all.nl>
40211
40212 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40213 `commands/test.c', `normal/execute.c', `normal/lexer.c',
40214 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40215 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40216 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
40217 (test_mod_SOURCES): New variable.
40218 (test_mod_CFLAGS): Likewise.
40219 (pkgdata_MODULES): Add `test.mod'.
40220 (grub_script.tab.c): New rule.
40221 (grub_script.tab.h): Likewise.
40222
daac212a 402232005-11-06 Marco Gerards <mgerards@xs4all.nl>
40224
40225 Add initial scripting support.
40226
40227 * commands/test.c: New file.
40228 * include/grub/script.h: Likewise.
40229 * normal/execute.c: Likewise.
40230 * normal/function.c: Likewise.
40231 * normal/lexer.c: Likewise.
40232 * normal/parser.y: Likewise.
40233 * normal/script.c: Likewise.
40234
40235 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 40236
daac212a 40237 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
40238 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
40239 `normal/function.c' and `normal/script.c'.
40240 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
40241 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 40242 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
40243 variables.
daac212a 40244 (pkgdata_MODULES): Add `test.mod'.
40245 (grub_script.tab.c): New rule.
40246 (grub_script.tab.h): Likewise.
40247
40248 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
40249
40250 * include/grub/normal.h (grub_test_init): New prototype.
40251 (grub_test_fini): Likewise.
f19dbdb7 40252
daac212a 40253 * normal/command.c: Include <grub/script.h>.
40254 (grub_command_execute): Rewritten.
f19dbdb7 40255
daac212a 40256 * util/grub-emu.c (main): Call `grub_test_init' and
40257 `grub_test_fini'.
40258
77500b2b 402592005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40260
40261 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
40262 to 0.
40263 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
40264 there are no pending characters.
40265
e45deb9e 402662005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40267
40268 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
40269 `grub_strndup' to drop device arguments. Replace unnecessary
40270 `grub_strndup' with `grub_strdup'.
40271
4ce32619 402722005-11-03 Hollis Blanchard <hollis@penguinppc.org>
40273
40274 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
40275 `debug' environment variable has been set.
40276
402772005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 40278
4ce32619 40279 * Makefile.in (install-local): Use $(DATA).
40280 (uninstall): Likewise.
40281 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
40282 (sbin_UTILITIES): ... to here.
40283 (sbin_SCRIPTS): New variable.
40284 (grub_install_SOURCES): New variable.
40285 * util/powerpc/ieee1275/grub-install.in: New file.
40286 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
40287 variable.
40288 (add_segments): Call `grub_util_get_path'.
40289
25fe6f03 402902005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40291
40292 From Timothy Baldwin:
40293 * commands/ls.c (grub_ls_list_files): Close FILE with
40294 grub_file_close.
40295 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
40296
04ccf3ec 402972005-10-24 Marco Gerards <mgerards@xs4all.nl>
40298
40299 * include/grub/parser.h: New file.
40300
40301 * kern/parser.c: Likewise.
40302
40303 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
40304 (grub_setup_SOURCES): Likewise.
40305 (grub_probefs_SOURCES): Likewise.
40306 (grub_emu_SOURCES): Likewise.
40307 (kernel_img_HEADERS): Add `parser.h'.
40308
40309 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40310 (grub_emu_SOURCES): Add `kern/parser.c'.
40311 (grubof_SOURCES): Likewise.
40312
40313 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
40314 (grubof_SOURCES): Add `kern/parser.c'.
40315
40316 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
40317
40318 * kern/misc.c (grub_split_cmdline): Removed function.
40319
40320 * kern/rescue.c: Include <grub/parser.h>.
40321 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
40322 of `grub_split_cmdline'.
40323
40324 * normal/command.c: Include <grub/parser.h>.
40325 (grub_command_execute): Use `grub_parser_split_cmdline' instead
40326 of `grub_split_cmdline'.
40327
40328 * normal/completion.c: Include <grub/parser.h>.
40329 (cmdline_state): New variable.
40330 (iterate_dir): End the filename with a quote depending on the
40331 command line state.
40332 (get_state): new function.
40333 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
40334 split the arguments and determine the current argument. When the
40335 argument string is not quoted, escape all spaces.
40336
6d8f4b0e 403372005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40338
40339 * normal/sparc64/setjmp.S: New file.
40340
15cf03ed 403412005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40342
40343 * include/grub/sparc64/libgcc.h: New file.
40344 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
40345 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
40346 normal/sparc64/setjmp.c.
40347
03e8661a 403482005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
40349
40350 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
40351 * kern/sparc64/cache.S: New file.
40352 * kern/sparc64/cache.c: Removed.
40353 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
40354 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
40355 -mtune=ultrasparc.
40356 (COMMON_LDFLAGS): Add -melf64_sparc.
40357 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
40358 (grubof_SOURCES): Use cache.S instead of cache.c.
40359 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
40360 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
40361 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
40362 commented though.
40363 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
40364 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
40365 (linux_mod_CFLAGS): Commented out.
40366 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
40367 out because module isn't built.
40368 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
40369 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
40370 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
40371 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
40372 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
40373 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
40374 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
40375 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
40376 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
40377 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
40378 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
40379 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
40380 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
40381 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
40382
34eeec8a 403832005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
40384
40385 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
40386 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
40387 longer, because HFS should not be used on PC.
40388
708367a3 403892005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40390
40391 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
40392 consistently within the loop.
40393
6fa1251a 403942005-10-15 Marco Gerards <mgerards@xs4all.nl>
40395
40396 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
40397 directory can not be read.
40398
4801580b 403992005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40400
40401 * configure.ac (AC_INIT): Increase the version number to 1.91.
40402
40403 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
40404 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
40405 term/i386/pc/serial.c.
40406
219ad426 404072005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40408
40409 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
40410 file size must be permitted.
40411
40412 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
40413 between %ah and %al.
40414
688e5699 404152005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40416
40417 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
40418 grub_uint64_t.
40419 Call the hook with a NUL-terminated filename.
40420 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
40421 grub_cpu_to_be32.
40422
40423 * kern/term.c (cursor_state): New variable.
40424 (grub_term_set_current): Reset the cursor state on a new
40425 terminal.
40426 (grub_setcursor): Rewritten to use CURSOR_STATE.
40427 (grub_getcursor): New function.
40428
40429 * include/grub/term.h (grub_getcursor): New prototype.
40430
40431 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
40432 integers on ARM. Reported by Timothy Baldwin
40433 <T.E.Baldwin99@members.leeds.ac.uk>.
40434
bb34586c 404352005-10-11 Marco Gerards <mgerards@xs4all.nl>
40436
40437 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
40438 allocated.
40439 (grub_sfs_dir): Likewise.
40440
9a909877 404412005-10-09 Marco Gerards <mgerards@xs4all.nl>
40442
40443 Add support for the SFS filesystem.
40444
40445 * fs/sfs.c: New file.
40446
40447 * DISTLIST: Added `fs/sfs.c'.
40448
40449 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
40450 (grub_probefs_SOURCES): Likewise.
40451 (grub_emu_SOURCES): Likewise.
40452 (pkgdata_MODULES): Add `sfs.mod'.
40453 (sfs_mod_SOURCES): New variable.
40454 (sfs_mod_CFLAGS): Likewise.
40455 (sfs_mod_LDFLAGS): Likewise.
40456
40457 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
40458 (pkgdata_MODULES): Add `sfs.mod'.
40459 (sfs_mod_SOURCES): New variable.
40460 (sfs_mod_CFLAGS): Likewise.
40461
40462 * util/grub-emu.c (main): Call `grub_sfs_init' and
40463 `grub_sfs_fini'.
40464
40465 * include/grub/fs.h (grub_sfs_init): New prototype.
40466 (grub_sfs_fini): Likewise.
40467
57bdbde3 404682005-10-07 Marco Gerards <mgerards@xs4all.nl>
40469
40470 Add support for the AFFS filesystem.
40471
40472 * fs/affs.c: New file.
40473
40474 * DISTLIST: Added `fs/affs.c'.
40475
40476 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
40477 (grub_probefs_SOURCES): Likewise.
40478 (grub_emu_SOURCES): Likewise.
40479 (pkgdata_MODULES): Add `affs.mod'.
40480 (affs_mod_SOURCES): New variable.
40481 (affs_mod_CFLAGS): Likewise.
40482 (affs_mod_LDFLAGS): Likewise.
40483
40484 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
40485 (pkgdata_MODULES): Add `affs.mod'.
40486 (affs_mod_SOURCES): New variable.
40487 (affs_mod_CFLAGS): Likewise.
40488
40489 * util/grub-emu.c (main): Call `grub_affs_init' and
40490 `grub_affs_fini'.
40491
40492 * include/grub/fs.h (grub_affs_init): New prototype.
40493 (grub_affs_fini): Likewise.
40494
047b67e0 404952005-10-01 Marco Gerards <mgerards@xs4all.nl>
40496
40497 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
40498
59b8208a 404992005-10-01 Marco Gerards <mgerards@xs4all.nl>
40500
40501 * configure.ac: Accept `x86_64' as host_cpu. In that case add
40502 `-m32' to CFLAGS.
40503
40504 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
40505 linking.
f19dbdb7 40506
59b8208a 40507 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
40508 (COMMON_LDFLAGS): New variable.
40509 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
40510 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
40511 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
40512 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
40513 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
40514 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
40515 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
40516 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
40517 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
40518 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
40519 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
40520 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
40521 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
40522 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
40523 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
40524 variables.
40525 (normal_mod_ASFLAGS): Add `-m32'.
40526
40527 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
40528 (grub_host_size_t, grub_host_ssize_t): New types.
40529 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 40530 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 40531 `GRUB_HOST_SIZEOF_VOID_P'.
40532
40533 * include/grub/kernel.h (struct grub_module_header): Type of
40534 member offset changed to `grub_host_off_t'. Type of member size
40535 changed to `grub_host_size_t'.
40536 (struct grub_module_info): Type of member offset changed to
40537 `grub_host_off_t'. Type of member size changed to
40538 `grub_host_size_t'.
40539
b4093103 405402005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
40541
40542 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 40543
b4093103 40544 * kern/i386/pc/startup.S (multiboot_header): New label.
40545 (multiboot_entry): Likewise.
40546 (multiboot_trampoline): Likewise.
40547
40548 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40549 Increased to 0x4A0.
40550
40551 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
40552 put parentheses after a question mark.
40553 [!GRUB_UTIL] (my_mod): New variable.
40554
40555 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
40556
b2499b29 405572005-09-28 Marco Gerards <mgerards@xs4all.nl>
40558
40559 Adds support for the XFS filesystem. Btrees are not supported
40560 yet.
40561
40562 * fs/xfs.c: New file.
40563
40564 * DISTLIST: Added `fs/xfs.c'.
40565
40566 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
40567 (grub_probefs_SOURCES): Likewise.
40568 (grub_emu_SOURCES): Likewise.
40569 (pkgdata_MODULES): Add `xfs.mod'.
40570 (xfs_mod_SOURCES): New variable.
40571 (xfs_mod_CFLAGS): Likewise.
40572
40573 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
40574 (pkgdata_MODULES): Add `xfs.mod'.
40575 (xfs_mod_SOURCES): New variable.
40576 (xfs_mod_CFLAGS): Likewise.
40577
40578 * util/grub-emu.c (main): Call `grub_xfs_init' and
40579 `grub_xfs_fini'.
40580
40581 * include/grub/fs.h (grub_xfs_init): New prototype.
40582 (grub_xfs_fini): Likewise.
40583
f19dbdb7 40584
83d37a62 405852005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
40586
40587 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
40588 color modes, allow greater than 16 colors to be configured as
40589 a default palette.
40590
47d2d65e 405912005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
40592
40593 * normal/completion.c (complete_arguments): Add the qualifier
40594 const into OPTIONS.
40595
40596 From Omniflux <omniflux+lists@omniflux.com>:
40597 * include/grub/terminfo.h: New file.
40598 * include/grub/tparm.h: Likewise.
40599 * include/grub/i386/pc/serial.h: Likewise.
40600 * term/terminfo.c: Likewise.
40601 * term/tparm.c: Likewise.
40602 * term/i386/pc/serial.c: Likewise.
40603 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
40604 serial.mod.
40605 (terminfo_mod_SOURCES): New variable.
40606 (terminfo_mod_CFLAGS): Likewise.
40607 (serial_mod_SOURCES): Likewise.
40608 (serial_mod_CFLAGS): Likewise.
40609
48b671ff 406102005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
40611
40612 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
40613 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
40614 and kern/powerpc/ieee1275/cmain.c, respectively.
40615
40616 * boot/powerpc/ieee1275/crt0.S: Moved to ...
40617 * kern/powerpc/ieee1275/crt0.S: ... here.
40618
40619 * boot/powerpc/ieee1275/cmain.c: Moved to ...
40620 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 40621
48b671ff 40622 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
40623 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
40624 instead of boot/powerpc/ieee1275/crt0.S and
40625 boot/powerpc/ieee1275/cmain.c, respectively.
40626
40627 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
40628 sectors. It was not used anyway.
40629
09fc77a7 406302005-08-30 Hollis Blanchard <hollis@penguinppc.org>
40631
40632 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
40633 `unused parameter' warning.
40634
003789c7 406352005-08-30 Hollis Blanchard <hollis@penguinppc.org>
40636
40637 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
40638 function.
40639 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
40640 getcharwidth.
40641
67f44c86 406422005-08-28 Marco Gerards <metgerards@student.han.nl>
40643
40644 * include/grub/normal.h (enum grub_completion_type): Added
40645 `GRUB_COMPLETION_TYPE_ARGUMENT'.
40646
40647 * normal/cmdline.c (print_completion): Handle
40648 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
40649 * normal/menu_entry.c (store_completion): Likewise.
40650
40651 * normal/completion.c (complete_arguments): New function.
40652 (grub_normal_do_completion): Call `complete_arguments' when the
40653 current words start with a dash.
40654
0b5abe02 406552005-08-27 Marco Gerards <metgerards@student.han.nl>
40656
40657 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
40658 `gzio.mod' instead of `io.mod').
40659
d9864ee1 406602005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
40661
40662 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
40663 (DISTDIRS): Added io and video.
40664 Rewrite the search routine to make an output consistently.
40665
40666 * DISTLIST: Added conf/sparc64-ieee1275.mk,
40667 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
40668 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
40669 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
40670 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
40671 util/powerpc/ieee1275/misc.c.
f19dbdb7 40672
d9864ee1 40673 * include/grub/gzio.h: New file.
40674 * io/gzio.c: Likewise.
f19dbdb7 40675
d9864ee1 40676 * kern/file.c (grub_file_close): Call grub_device_close only if
40677 FILE->DEVICE is not NULL.
40678
40679 * include/grub/mm.h [!NULL] (NULL): New macro.
40680
40681 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
40682
40683 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
40684 (pkgdata_MODULES): Added gzio.mod.
40685 (gzio_mod_SOURCES): New variable.
40686 (gzio_mod_CFLAGS): Likewise.
40687
40688 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
40689 (pkgdata_MODULES): Added gzio.mod.
40690 (gzio_mod_SOURCES): New variable.
40691 (gzio_mod_CFLAGS): Likewise.
40692
40693 * commands/cat.c: Include grub/gzio.h.
40694 (grub_cmd_cat): Use grub_gzfile_open instead of
40695 grub_file_open.
f19dbdb7 40696
d9864ee1 40697 * commands/cmp.c: Include grub/gzio.h.
40698 (grub_cmd_cmp): Use grub_gzfile_open instead of
40699 grub_file_open.
40700
40701 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
40702 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
40703 grub_file_open.
40704 (grub_rescue_cmd_module): Likewise.
40705
fa46f4b5 407062005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
40707
40708 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
40709 kern/sparc64/ieee1275/init.c because it contains _start.
40710 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
40711
e9211b5d 407122005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
40713
40714 * configure.ac: Add support for sparc64 host with ieee1275
40715 firmware.
40716 * configure: Generated from configure.ac.
40717 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
40718 instead of int.
40719 (grub_ofdisk_read): Likewise.
40720 (grub_ofdisk_open): Use %p to print pointer values, and cast the
40721 pointers as (void *) to remove a warning.
40722 (grub_ofdisk_close): Likewise.
40723 (grub_ofdisk_read): Likewise.
40724 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
40725 returns, so make it return void to remove a warning.
40726 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
40727 Corresponding prototype change.
40728 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
40729 values, and cast the pointers as (void *) to remove a warning.
40730 (grub_mm_dump): Likewise.
40731 * conf/sparc64-ieee1275.mk: New file.
40732 * conf/sparc64-ieee1275.rmk: Likewise.
40733 * include/grub/sparc64/setjmp.h: Likewise.
40734 * include/grub/sparc64/types.h: Likewise.
40735 * include/grub/sparc64/ieee1275/console.h: Likewise.
40736 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
40737 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
40738 * include/grub/sparc64/ieee1275/time.h: Likewise.
40739 * kern/sparc64/cache.c: Likewise.
40740 * kern/sparc64/dl.c: Likewise.
40741 * kern/sparc64/ieee1275/init.c: Likewise.
40742 * kern/sparc64/ieee1275/openfw.c: Likewise.
40743
385c6a92 407442005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
40745
40746 * util/console.c (grub_ncurses_putchar): If C is greater than
40747 0x7f, set C to a question mark.
40748 (grub_ncurses_getcharwidth): New function.
40749 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
40750 getcharwidth.
40751
40752 * normal/menu.c (print_entry): Made aware of Unicode. First,
40753 convert TITLE to UCS-4, and predict the cursor position by
40754 grub_getcharwidth.
40755
40756 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
40757 const to SRC.
40758 * kern/misc.c (grub_utf16_to_utf8): Likewise.
40759
16ccb8b1 407602005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40761
40762 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
40763 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
40764 grub_strcat.
40765
40766 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
40767 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
40768 grub_strcpy and grub_strlen. Take it into account that a space
40769 character is inserted as a delimiter.
40770
6a85ce79 407712005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40772
40773 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 40774 invalid magic in the error.
6a85ce79 40775
40776 * commands/search.c: New file.
f19dbdb7 40777
6a85ce79 40778 * util/grub-emu.c (main): Call grub_search_init and
40779 grub_search_fini.
40780
40781 * kern/rescue.c (grub_rescue_print_disks): Removed.
40782 (grub_rescue_print_devices): New function.
40783 (grub_rescue_cmd_ls): Use grub_device_iterate with
40784 grub_rescue_print_devices instead of grub_disk_dev_iterate with
40785 grub_rescue_print_disks.
40786
40787 * kern/partition.c (grub_partition_iterate): Return the result of
40788 PARTMAP->ITERATE instead of GRUB_ERRNO.
40789
40790 * kern/device.c: Include grub/partition.h.
40791 (grub_device_iterate): New function.
40792
40793 * include/grub/partition.h (grub_partition_iterate): Return int
40794 instead of grub_err_t.
40795
40796 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
40797 prototype.
40798 [GRUB_UTIL] (grub_search_fini): Likewise.
40799
40800 * include/grub/device.h (grub_device_iterate): New prototype.
40801
40802 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40803 commands/search.c.
40804 (pkgdata_MODULES): Added search.mod.
40805 (search_mod_SOURCES): New variable.
40806 (search_mod_CFLAGS): Likewise.
40807
40808 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
40809 (pkgdata_MODULES): Added search.mod.
40810 (search_mod_SOURCES): New variable.
40811 (search_mod_CFLAGS): Likewise.
40812
40813 * commands/ls.c (grub_ls_list_disks): Renamed to ...
40814 (grub_ls_list_devices): ... this, and use grub_device_iterate.
40815 All callers changed.
40816
40817 * DISTLIST: Added commands/search.c.
40818
ef095434 408192005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
40820
40821 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
40822 conversion.
40823 (grub_getcharwidth): New function.
40824
40825 * kern/misc.c (grub_utf8_to_ucs4): New function.
40826
40827 * include/grub/term.h (struct grub_term): Added a new member
40828 "getcharwidth".
40829 (grub_getcharwidth): New prototype.
40830
40831 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
40832
40833 * term/i386/pc/console.c (map_char): New function. Segregated from
40834 grub_console_putchar.
40835 (grub_console_putchar): Use map_char.
40836 (grub_console_getcharwidth): New function.
40837 (grub_console_term): Specified grub_console_getcharwidth as
40838 getcharwidth.
40839
40840 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
40841 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
40842
40843 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
40844 GRUB_ERRNO.
40845 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
40846 on grub_strtoul completely.
40847 (write_char): Declare local variables in the beginning of the
40848 function.
40849 (grub_vesafb_getcharwidth): New function.
40850 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
40851 getcharwidth.
40852
1f0a95e4 408532005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
40854
40855 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
40856 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
40857 commands/i386/pc/vbetest.c.
40858
40859 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
40860 call grub_vbe_get_controller_info again, because the returned
40861 information is volatile.
40862 (grub_vbe_set_video_mode): Mostly rewritten.
40863 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
40864 grub_vbe_status_t correctly.
40865 (grub_vbe_get_video_mode_info): Likewise.
40866 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
40867 several if statements.
40868
40869 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
40870 * commands/i386/pc/vbeinfo.c: ... this.
40871
40872 * commands/i386/pc/vbe_test.c: Renamed to ...
40873 * commands/i386/pc/vbetest.c: ... this.
40874
40875 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
40876 ...
40877 (grub_cmd_vbeinfo): ... this. Save video modes before
40878 iterating. Skip a video mode, if it is not available, not enough
40879 information is given or it is monochrome. Show the memory
40880 model. Leave the interpretation of MODEVAR to grub_strtoul
40881 completely.
40882 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
40883 (GRUB_MOD_FINI): Likewise.
40884
40885 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
40886 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
40887 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
40888 duplicated grub_env_get. Leave the interpretation of MODEVAR to
40889 grub_strtoul completely.
40890 (real2pm): Removed.
40891 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
40892 (GRUB_MOD_FINI): Likewise.
40893
40894 * normal/misc.c: Include grub/mm.h.
40895
40896 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
40897 vbe_list_modes with vbetest.mod and vbeinfo.mod.
40898 (vbe_list_modes_mod_SOURCES): Removed.
40899 (vbe_list_modes_mod_CFLAGS): Likewise.
40900 (vbe_test_mod_SOURCES): Likewise.
40901 (vbe_test_mod_CFLAGS): Likewise.
40902 (vbeinfo_mod_SOURCES): New variable.
40903 (vbeinfo_mod_CFLAGS): Likewise.
40904 (vbetest_mod_SOURCES): Likewise.
40905 (vbetest_mod_CFLAGS): Likewise.
40906
992ffbbe 409072005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
40908
40909 * normal/misc.c: New file.
40910
40911 * DISTLIST: Added normal/misc.c.
f19dbdb7 40912
992ffbbe 40913 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
40914 DISK to HOOK. Call HOOK with DISK.
40915 * partmap/apple.c (apple_partition_map_iterate): Likewise.
40916 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40917 * partmap/sun.c (sun_partition_map_iterate): Likewise.
40918
40919 * normal/menu_entry.c (struct screen): Added a new member
40920 "completion_shown".
40921 (completion_buffer): New global variable.
40922 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
40923 (store_completion): New function.
40924 (complete): Likewise.
40925 (clear_completions): Likewise.
40926 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
40927 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
40928 a tab, call complete.
40929
40930 * normal/completion.c (disk_dev): Removed.
40931 (print_simple_completion): Likewise.
40932 (print_partition_completion): Likewise.
40933 (print_func): New global variable.
40934 (add_completion): Do not take the arguments WHAT or PRINT any
40935 longer. Added a new argument TYPE. Instead of printing directly,
40936 call PRINT_FUNC if not NULL.
40937 All callers changed.
40938 (complete_device): Use a local variable DEV instead of
40939 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
40940 (grub_normal_do_completion): Take a new argument HOOK. Do not
40941 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
40942 empty string, return NULL instead.
40943 All callers changed.
40944
40945 * normal/cmdline.c (print_completion): New function.
40946
40947 * kern/partition.c (grub_partition_iterate): Add an argument DISK
40948 to HOOK.
40949 All callers changed.
40950
40951 * kern/disk.c (grub_print_partinfo): Removed.
40952
40953 * include/grub/partition.h (struct grub_partition_map): Add a new
40954 argument DISK into HOOK of ITERATE.
40955 (grub_partition_iterate): Add a new argument DISK to HOOK.
40956
40957 * include/grub/normal.h (enum grub_completion_type): New enum.
40958 (grub_completion_type_t): New type.
40959 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
40960 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
40961 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
40962 (GRUB_COMPLETION_TYPE_FILE): Likewise.
40963 (grub_normal_do_completion): Added a new argument HOOK.
40964 (grub_normal_print_device_info): New prototype.
40965
40966 * include/grub/disk.h (grub_print_partinfo): Removed.
40967
40968 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
40969 (normal_mod_SOURCES): Likewise.
40970 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40971 (normal_mod_SOURCES): Likewise.
40972
40973 * commands/ls.c (grub_ls_list_disks): Use
40974 grub_normal_print_device_info instead of grub_print_partinfo. Free
40975 PNAME.
40976 (grub_ls_list_files): Use grub_normal_print_device_info instead of
40977 duplicating the code.
40978
0bd41162 409792005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
40980
40981 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 40982 follow GCS more precisely.
40983 * commands/i386/pc/vbe_test.c: Likewise.
40984 * include/grub/i386/pc/vbe.h: Likewise.
40985 * term/i386/pc/vesafb.c: Likewise.
40986 * video/i386/pc/vbe.c: Likewise.
0bd41162 40987
6323696a 409882005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
40989
40990 * DISTLIST: Added term/i386/pc/vesafb.c
40991 DISTLIST: Added video/i386/pc/vbe.c
40992 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
40993 DISTLIST: Added commands/i386/pc/vbe_test.c.
40994 * commands/i386/pc/vbe_list_modes.c: New file.
40995 * commands/i386/pc/vbe_test.c: Likewise.
40996 * term/i386/pc/vesafb.c: Likewise.
40997 * video/i386/pc/vbe.c: Likewise.
40998 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
40999 (grub_vbe_probe) Added prototype.
41000 (grub_vbe_set_video_mode) Likewise.
41001 (grub_vbe_get_video_mode) Likewise.
41002 (grub_vbe_get_video_mode_info) Likewise.
41003 (grub_vbe_set_pixel_rgb) Likewise.
41004 (grub_vbe_set_pixel_index) Likewise.
41005 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
41006 (pkgdata_MODULES): Added vesafb.mod.
41007 (pkgdata_MODULES): Added vbe_list_modes.mod.
41008 (pkgdata_MODULES): Added vbe_test.mod.
41009 (vbe_mod_SOURCES): Added.
41010 (vbe_mod_CFLAGS): Likewise.
41011 (vesafb_mod_SOURCES): Likewise.
41012 (vesafb_mod_CFLAGS): Likewise.
41013 (vbe_list_modes_mod_SOURCES): Likewise.
41014 (vbe_list_modes_mod_CFLAGS): Likewise.
41015 (vbe_test_mod_SOURCES): Likewise.
41016 (vbe_test_mod_CFLAGS): Likewise.
41017
0a74e62f 410182005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
41019
0a74e62f 41020 * normal/command.c (grub_command_execute): If INTERACTIVE is
41021 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
41022 CMDLINE. Disable the pager if INTERACTIVE is true.
41023 All callers are changed.
41024
41025 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
41026 before reading a config file.
41027 * normal/main.c (read_config_file): Even if a command is not
41028 found, register it if it is within an entry.
41029
41030 * util/grub-emu.c: Include sys/types.h and unistd.h.
41031 (options): Added --hold.
41032 (struct arguments): Added a new member "hold".
41033 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
41034 missing.
41035 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
41036 cleared by a debugger, if it is not zero.
41037
41038 * include/grub/normal.h (grub_command_execute): Add an argument
41039 INTERACTIVE.
41040
e51f85ae 410412005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
41042
41043 * DISTLIST: Added include/grub/i386/pc/vbe.h.
41044
e9c6f39b 410452005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
41046
41047 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
41048 program with another one, because the old one didn't detect a bug
41049 in gcc-3.4. Always use regparm 2, because the new test is still
41050 not enough for gcc-4.0. Someone must investigate a simple test
41051 case which detects a bug in gcc-4.0.
41052
8de3495c 410532005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
41054
41055 * DISTLIST: Added normal/completion.c.
41056
41057 * normal/completion.c: New file.
f19dbdb7 41058
8de3495c 41059 * term/i386/pc/console.c (grub_console_getwh): New function.
41060 (grub_console_term): Assign grub_console_getwh to getwh.
41061
41062 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
41063 function is defined in normal/completion.c as
41064 grub_normal_do_completion.
41065 (grub_cmdline_get): Use grub_normal_do_completion instead of
41066 grub_tab_complete.
41067
41068 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
41069 returns non-zero, otherwise return 0.
41070 (grub_partition_iterate): First, probe the partition map. Then,
41071 call ITERATE only for this partition map.
41072
41073 * kern/misc.c (grub_strncmp): Rewritten.
41074
41075 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
41076 returns non-zero. Otherwise return 0.
41077
41078 * include/grub/partition.h (grub_partition_map_iterate): Return
41079 int instead of void.
41080
41081 * include/grub/normal.h (grub_normal_do_completion): New prototype.
41082
41083 * include/grub/misc.h (grub_strncmp): Change the type of N to
41084 grub_size_t.
41085
41086 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
41087 of void.
41088
41089 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 41090 unsigned explicitly before comparing it with I.
8de3495c 41091
41092 * kern/main.c (grub_env_write_root): Add the attribute unused into
41093 VAR.
41094
41095 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41096 normal/completion.c.
41097 (normal_mod_SOURCES): Likewise.
41098 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41099 (normal_mod_SOURCES): Likewise.
41100
41101 * normal/command.c (grub_iterate_commands): If ITERATE returns
41102 non-zero, return one immediately.
41103
e85e144b 411042005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
41105
41106 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
41107 * kern/i386/pc/startup.S: Updated Global Descriptor table's
41108 descriptions.
41109 (grub_vbe_get_controller_info): New function.
41110 (grub_vbe_get_mode_info): Likewise.
41111 (grub_vbe_set_mode): Likewise.
41112 (grub_vbe_get_mode): Likewise.
41113 (grub_vbe_set_memory_window): Likewise.
41114 (grub_vbe_get_memory_window): Likewise.
41115 (grub_vbe_set_scanline_length): Likewise.
41116 (grub_vbe_get_scanline_length): Likewise.
41117 (grub_vbe_set_display_start): Likewise.
41118 (grub_vbe_get_display_start): Likewise.
41119 (grub_vbe_set_palette_data): Likewise.
41120 * include/grub/i386/pc/vbe.h: New file.
41121
c46153d2 411222005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41123
41124 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41125 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
41126 * DISTLIST: Likewise.
41127 * kern/ieee1275/of.c: Moved to ...
41128 * kern/ieee1275/ieee1275.c: ... here.
41129
0cb90c45 411302005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41131
41132 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
41133 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
41134 Pass 0 as `end' parameter to grub_strtoul().
41135
a19fb360 411362005-08-08 Hollis Blanchard <hollis@penguinppc.org>
41137
41138 * include/grub/powerpc/ieee1275/console.h: Do not include
41139 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
41140 ifdef.
41141 (grub_console_cur_color): Remove i386-specific prototype.
41142 (grub_console_real_putchar): Likewise.
41143 (grub_console_checkkey): Likewise.
41144 (grub_console_getkey): Likewise.
41145 (grub_console_getxy): Likewise.
41146 (grub_console_gotoxy): Likewise.
41147 (grub_console_cls): Likewise.
41148 (grub_console_setcursor): Likewise.
41149 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
41150 Include <grub/machine/console.h>.
41151 * term/ieee1275/ofconsole.c: Likewise.
41152
4ac9bd04 411532005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
41154
41155 * Makefile.in (LIBLZO): New variable.
41156
41157 * configure.ac: Check for LZO version 2.
41158
41159 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
41160 lzo/lzo1x.h instead of lzo1x.h.
41161
41162 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
41163 of -llzo.
41164
41165 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
41166 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
41167
41168 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
41169 copying the data from PARTITION to P.
41170
f4917dfd 411712005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41172
41173 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
41174 negative, unload the module.
41175
41176 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
41177 map is "pc_partition_map" but not "pc".
41178 (usage): Fix the description. The options are --boot-image and
41179 --core-image but not --boot-file or --core-file.
41180 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
41181 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
41182 DEFAULT_DIRECTORY.
41183
41184 * util/i386/pc/grub-install.in: Do not specify --boot-file or
41185 --core-file. Specify INSTALL_DEVICE as an argument.
41186
41187 * util/console.c: Include config.h.
41188 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
41189 [HAVE_NCURSES_H]: Include ncurses.h.
41190 [HAVE_CURSES_H]: Include curses.h.
41191 [!A_NORMAL] (A_NORMAL): Defined as zero.
41192 [!A_STANDOUT] (A_STANDOUT): Likewise.
41193
41194 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
41195 -lncurses.
41196 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
41197
41198 * configure.ac: Check for curses libraries and headers.
41199
41200 * Makefile.in (LIBCURSES): New variable.
41201
41202 * genmk.rb (Script::rule): Set the executable bits.
41203
41204 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
41205 name of the PC partition map is "pc_partition_map" but not "pc".
41206
0e143073 412072005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41208
41209 * util/i386/pc/grub-install.in (grub_probefs): New variable.
41210 (modules): Likewise.
41211 (usage): Added descriptions for --modules and --grub-probefs.
41212 Handle --modules and --grub-probefs. Save the arguments in MODULES
41213 and GRUB_PROBEFS, respectively.
41214 Auto-detect a filesystem module against GRUBDIR. If the result is
41215 empty and modules are not specified explicitly, abort the
41216 installation. Add the result to MODULES.
41217
41218 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
41219 disk/powerpc/ieee1275/ofdisk.c,
41220 include/grub/powerpc/ieee1275/init.h and
41221 term/powerpc/ieee1275/ofconsole.c.
41222 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
41223 term/ieee1275/ofconsole.c.
41224
41225 * include/grub/powerpc/ieee1275/console.h: Resurrected.
41226
41227 * COPYING: Upgraded to the latest version. Only the address of the
41228 FSF office has changed.
f19dbdb7 41229
efd6e6d5 412302005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
41231
41232 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
41233 kern/ieee1275.c with kern/ieee1275/of.c.
41234
41235 * kern/ieee1275.c: Moved to ...
41236 * kern/ieee1275/of.c: ... here.
41237
8ceafda2 412382005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
41239
41240 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 41241 readability.
8ceafda2 41242
41243 * config.guess: Updated to the latest version from gnulib.
41244 * config.sub: Likewise.
41245 * install.sh: Likewise.
41246 * mkinstalldirs: Likewise.
41247
41248 * include/grub/console.h: Removed. This file is arch-specific. Do
41249 not put this in include/grub.
41250
41251 * include/grub/i386/pc/console.h: Resurrected.
41252
41253 * util/console.c: Include grub/machine/console.h instead of
41254 grub/console.h.
41255 * util/grub-emu.c: Likewise.
41256
267f6cd9 412572005-08-04 Marco Gerards <metgerards@student.han.nl>
41258
41259 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
41260 hardcoded value.
f19dbdb7 41261
267f6cd9 41262 From Vincent Pelletier <subdino2004@yahoo.fr>
41263 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
41264 Redefined to use grub_getwh.
41265 (grub_term): New member named getwh.
41266 (grub_getwh): New prototype.
41267 * kern/term.c (grub_getwh): New function.
41268 * term/i386/pc/console.c (grub_console_getwh): New function.
41269 (grub_console_term): New member `getwh'.
41270 * term/i386/pc/vga.c (grub_vga_getwh): New function.
41271 (grub_vga_term): New member `getwh'.
0b5abe02 41272 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 41273 grub_ssize_t.
41274 (grub_ofconsole_getw): New function.
41275 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
41276 (grub_ofconsole_term): New field named getwh and new initial
41277 value.
41278
3be7266d 412792005-08-03 Hollis Blanchard <hollis@penguinppc.org>
41280
41281 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
41282 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
41283 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
41284 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
41285 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
41286 of <grub/machine/ieee1275.h>.
41287 * commands/ieee1275/reboot.c: Likewise.
41288 * boot/powerpc/ieee1275/ieee1275.c: Move ...
41289 * kern/ieee1275.c: ... to here. All users updated. Change all
41290 parameter structs to use new type `grub_ieee1275_cell_t'.
41291 * term/powerpc/ieee1275/ofconsole.c: Move ...
41292 * term/ieee1275/ofconsole.c: ... to here. All users updated.
41293 * disk/powerpc/ieee1275/ofdisk.c: Move ...
41294 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
41295 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
41296 to return int.
41297 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
41298 Remove unused prototypes. All users updated.
41299 * include/grub/powerpc/ieee1275/console.h: Removed.
41300 * include/grub/powerpc/ieee1275/ieee1275.h: Define
41301 `grub_ieee1275_cell_t'.
41302 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
41303 Cast comparisons with -1 to the correct type.
41304 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
41305 type to match `grub_ieee1275_entry_fn'.
41306
8b5f3938 413072005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
41308
41309 * DISTLIST: Added util/i386/pc/grub-probefs.c.
41310
41311 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
41312 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
41313 partmap/sun.c.
41314 (grub_probefs_SOURCES): New variable.
41315
41316 * util/i386/pc/grub-probefs.c: New file.
41317
41318 * util/i386/pc/grub-setup.c (main): Call
41319 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
41320 grub_hfs_init and grub_jfs_init to initialize the system. Call
41321 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
41322 grub_pc_partition_map_fini to finish the system.
41323
ea409713 413242005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
41325
41326 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
41327 function.
41328 (grub_multiboot_load_elf32): Likewise.
41329 (grub_multiboot_is_elf64): Likewise.
41330 (grub_multiboot_load_elf64): Likewise.
41331 (grub_multiboot_load_elf): Likewise.
41332 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
41333 an ELF32 or ELF64 file.
41334 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
41335
41336 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
41337 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
41338 NULL before calling FS->LABEL.
41339 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
41340 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
41341 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
41342 before calling FS->LABEL.
41343
141a288b 413442005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
41345
41346 * util/i386/pc/grub-install.in (datadir): New variable.
41347 (libdir): Removed.
41348 (pkgdatadir): New variable.
41349 (pkglibdir): Removed.
41350
0d5f8a54 413512005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
41352
41353 * DISTLIST: Added util/i386/pc/grub-install.in.
41354
41355 * util/i386/pc/grub-install.in: New file.
41356
41357 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
41358 (grub_install_SOURCES): Likewise.
41359
41360 * genmk.rb: Added support for scripts.
41361 (Script): New class.
41362 (scripts): New variable.
41363
41364 * Makefile.in (install-local): Install sbin_SCRIPTS by
41365 INSTALL_SCRIPT.
41366 (uninstall): Remove sbin_SCRIPTS.
41367
41368 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
41369 device, try to get a GRUB device by
41370 grub_util_biosdisk_get_grub_dev.
41371 Free DEST_DEV.
41372
41373 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
41374 description for --device-map.
41375
5f968e1e 413762005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
41377
41378 Change the semantics of variable hooks. They now return strings
41379 instead of error values.
f19dbdb7 41380
5f968e1e 41381 * util/i386/pc/grub-setup.c: Include grub/env.h.
41382 (setup): Use grub_device_set_root instead of grub_env_set.
41383
41384 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
41385 grub_env_get instead of grub_device_set_root and
41386 grub_device_get_root, respectively.
41387
41388 * kern/main.c (grub_env_write_root): New function.
41389 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
41390 grub_env_set instead of grub_device_set_root.
41391
41392 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
41393 many variables.
41394 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
41395 rather than calling ENV->WRITE_HOOK afterwards.
41396 (grub_env_get): Return the result of ENV->READ_HOOK rather than
41397 passing a pointer of a pointer.
41398 (grub_register_variable_hook): Change the types of "read_hook" and
41399 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
41400 respectively.
41401 Allocate the default empty string on the heap, because this string
41402 may be freed later.
41403
41404 * kern/device.c: Include grub/env.h.
41405 (grub_device_set_root): Removed.
41406 (grub_device_get_root): Likewise.
41407 (grub_device_open): Use grub_env_get instead of
41408 grub_device_get_root.
41409
41410 * include/grub/env.h (grub_env_read_hook_t): New type.
41411 (grub_env_write_hook_t): Likewise.
41412 (grub_env_var): Change the types of "read_hook" and "write_hook"
41413 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
41414 (grub_register_variable_hook): Likewise.
41415
41416 * include/grub/device.h (grub_device_set_root): Removed.
41417 (grub_device_set_root): Likewise.
41418
41419 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
41420 make sure that DIRNAME terminates with '/', so that
41421 grub_fat_find_dir will fail if PATH is not a directory.
41422
41423 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
41424 from DIRNAME.
41425 Use the qualifier auto for print_files and print_files_long.
41426 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
41427 as a regular file.
41428 Put a newline only if there is no error.
41429 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
41430 used.
41431
896f0afd 414322005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
41433
41434 * kern/partition.c (grub_partition_probe): Initialize PART to
41435 NULL. Otherwise, when no partition map is registered, this returns
41436 a garbage.
41437
b28b81b2 414382005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
41439
41440 * partmap/apple.c (apple_partition_map_iterate): Check if POS
41441 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
41442 valid.
41443
5f3607e0 414442005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
41445
41446 * commands/ls.c (grub_ls_list_disks): Print the filesystem
41447 information on each device, if it does not have partitions. Print
41448 "Device" instead of "Disk", because this function is not specific
41449 to disk devices.
41450
41451 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
41452 static to ensure that it is put on the memory rather than a
41453 register.
41454
502c87e8 414552005-07-17 Yoshinori Okuji <okuji@enbug.org>
41456
41457 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
41458 (grub_cat_init): Likewise.
41459 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
41460 (options): Likewise.
41461 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
41462 (grub_configfile_init): Likewise.
41463 * font/manager.c (GRUB_MOD_INIT): Likewise.
41464 * commands/help.c (GRUB_MOD_INIT): Likewise.
41465 (grub_help_init): Likewise.
41466 * normal/command.c (grub_command_init): Likewise.
41467 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
41468 * disk/loopback.c (grub_loop_init): Likewise.
41469 (GRUB_MOD_INIT): Likewise.
41470 * commands/ls.c (grub_ls_init): Likewise.
41471 (GRUB_MOD_INIT): Likewise.
41472 (options): Likewise.
41473 * commands/boot.c (grub_boot_init): Likewise.
41474 (GRUB_MOD_INIT): Likewise.
41475 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
41476 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
41477 (GRUB_MOD_INIT): Likewise.
41478 * commands/cmp.c (grub_cmp_init): Likewise.
41479 (GRUB_MOD_INIT): Likewise.
41480
41481 * normal/arg.c: Use <> instead of "" to include header files.
41482 (SHORT_ARG_HELP): New macro.
41483 (SHORT_ARG_USAGE): Likewise.
41484 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
41485 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
41486 descriptions.
41487 (find_short): Check if C is 'h' or 'u' explicitly.
41488 (grub_arg_show_help): Use space characters instead of tabs. Treat
41489 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
41490 are shown with --help and --usage only if they are not used for
41491 the command itself.
41492 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
41493 'h' and 'u'.
41494
41495 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
41496 const into "longarg". Change the type of "shortarg" to int.
41497
f806d18e 414982005-07-17 Yoshinori Okuji <okuji@enbug.org>
41499
41500 * boot/i386/pc/boot.S (boot_drive_check): New label.
41501
41502 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
41503 macro.
41504
41505 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
41506 which do not pass a boot drive correctly. Copied from GRUB Legacy.
41507
e293232b 415082005-07-17 Yoshinori Okuji <okuji@enbug.org>
41509
41510 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
41511 When turning off Gate A20, skip the check and return immediately,
41512 because this is not fatal usually.
41513
ebedfd00 415142005-07-17 Yoshinori Okuji <okuji@enbug.org>
41515
41516 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
41517 be 0x7C00 instead of 0x8000.
41518
41519 * boot/i386/pc/pxeboot.S: Rewritten.
41520
41521 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
41522 EXT_C.
41523 (gate_a20_check_state): Read a byte from 0x108000. Invert the
41524 result.
41525
654fc59f 415262005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
41527
41528 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
41529 robustness. This routine now supports a BIOS call and System
41530 Control Port A to modify the gate A20.
41531
41532 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
41533 Increased to 0x440.
41534
09f9923f 415352005-07-12 Hollis Blanchard <hollis@penguinppc.org>
41536
41537 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
41538 device path and resulting ihandle.
41539 (grub_ofdisk_close): dprintf the ihandle being closed.
41540 (grub_ofdisk_read): dprintf function parameters.
41541 * kern/mm.c (grub_mm_init_region): Likewise.
41542 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
41543 (grub_linux_boot): dprintf the Linux entry point, initrd address and
41544 size, and boot arguments.
41545 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
41546 before loading into memory.
41547 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
41548 before loading into memory.
41549
7ef504d8 415502005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
41551
41552 * kern/mm.c: Added much documentation.
41553 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
41554 8, set to 5 instead of 8.
41555
e0f050c2 415562005-07-10 Yoshinori Okuji <okuji@enbug.org>
41557
41558 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
41559
41560 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
41561 (grub_mkdevicemap_SOURCES): New variable.
41562
41563 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
41564 lib/device.c of GRUB Legacy.
41565
7224189a 415662005-07-10 Yoshinori Okuji <okuji@enbug.org>
41567
41568 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
41569 instead of PATH is NULL.
41570
68c864eb 415712005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
41572
41573 * commands/cmp.c (BUFFER_SIZE): New macro.
41574 (grub_cmd_cmp): Close the right file at the right time. Compare
41575 only data just read. Don't report files of different size as
41576 identical. Dynamically allocate buffers. Move variable
41577 declarations at the beginning of function.
41578
e6f3e614 415792005-07-09 Yoshinori Okuji <okuji@enbug.org>
41580
41581 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
41582 reverse.
41583
f8f1559a 415842004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
41585
41586 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
41587 when backspace is pressed at beginning of line.
41588
39c9d41d 415892005-07-03 Yoshinori Okuji <okuji@enbug.org>
41590
41591 * DISTLIST: Added genfslist.sh.
41592
41593 * normal/main.c (fs_module_list): New variable.
41594 (autoload_fs_module): New function.
41595 (read_fs_list): Likewise.
41596 (grub_normal_execute): Call read_fs_list.
41597
41598 * kern/fs.c (grub_fs_autoload_hook): New variable.
41599 (grub_fs_probe): Added support for auto-loading.
41600
41601 * include/grub/normal.h (struct grub_fs_module_list): New struct.
41602 (grub_fs_module_list_t): New type.
41603
41604 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
41605 (grub_fs_autoload_hook): New prototype.
41606
41607 * genfslist.sh: New file.
f19dbdb7 41608
39c9d41d 41609 * genmk.rb: Added a rule to generate a filesystem list.
41610
121c1d83 416112005-06-30 Marco Gerards <metgerards@student.han.nl>
41612
41613 * configure.ac: Fix the test for cross-compiling.
41614
41615 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
41616 define GRUB_UTIL anymore.
41617
41618 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
41619 so this function works on other systems than just big endian.
41620 (load_modules): Likewise.
41621 (add_segments): Likewise.
41622
e75d76e1 416232005-06-23 Hollis Blanchard <hollis@penguinppc.org>
41624
41625 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
41626 contains `l' modifier, get a long from va_arg().
41627
50b5a0a7 416282005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
41629
41630 * kern/mm.c (grub_free): If the next free block which is being
41631 merged is the first free block, set the first block to the block
41632 being freed.
41633 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
41634
89371b20 416352005-05-08 Hollis Blanchard <hollis@penguinppc.org>
41636
41637 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
41638 `grub_ieee1275_chosen'.
41639
168d6e58 416402005-05-08 Hollis Blanchard <hollis@penguinppc.org>
41641
41642 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
41643 (grub_ieee1275_chosen): New variable.
41644 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
41645 `chosen'.
41646 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
41647 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
41648 Rename first argument to `phandle' for consistency.
41649 (grub_ieee1275_get_property_length): Likewise.
41650 (grub_ieee1275_next_property): Likewise. Change type of first argument
41651 to grub_ieee1275_phandle_t.
41652 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
41653 Move export next to declaration.
41654 (grub_ieee1275_chosen): New variable.
41655 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
41656 Correct cosmetic typo.
41657 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
41658 `grub_ieee1275_chosen'.
41659 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
41660 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
41661 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
41662 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
41663 `grub_ieee1275_chosen'.
41664
ca5baa3f 416652005-05-10 Hollis Blanchard <hollis@penguinppc.org>
41666
41667 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
41668 /chosen/bootargs.
41669 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
41670 /chosen/bootargs as "variable=value" pairs.
41671
708b345f 416722005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
41673
41674 * include/grub/misc.h (grub_dprintf): New macro.
41675 (grub_real_dprintf): New prototype.
41676 (grub_strword): Likewise.
41677 (grub_iswordseparator): Likewise.
41678 * kern/misc.c (grub_real_dprintf): New function.
41679 (grub_strword): Likewise.
41680 (grub_iswordseparator): Likewise.
41681
f4c5e67c 416822005-04-30 Hollis Blanchard <hollis@penguinppc.org>
41683
41684 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
41685 (roundup): Remove macro.
41686 (grub_ieee1275_flags): Make static.
41687 (grub_ieee1275_realmode): Remove.
41688 (grub_ieee1275_test_flag): New function.
41689 (grub_ieee1275_set_flag): Likewise.
41690 (find_options): Rename to `grub_ieee1275_find_options'; update
41691 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
41692 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
41693 (cmain): New prototype.
41694 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
41695 `grub_ieee1275_flags' directly.
41696 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
41697 machine/biosdisk.h.
41698 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
41699 Don't include grub/machine/init.h.
41700 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
41701 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
41702 Remove prototype.
41703 (grub_ieee1275_realmode): Likewise.
41704 (grub_ieee1275_flag): New enum.
41705 (grub_ieee1275_test_flag): New prototype.
41706 (grub_ieee1275_set_flag): New prototype.
41707 * include/grub/powerpc/ieee1275/init.h: Remove file.
41708 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
41709 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
41710 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
41711 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
41712 comment.
41713 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
41714 `grub_ieee1275_test_flag'.
41715 (grub_ieee1275_encode_devname): Likewise.
41716
ed16607e 417172005-04-21 Hollis Blanchard <hollis@penguinppc.org>
41718
41719 * include/grub/powerpc/ieee1275/ieee1275.h
41720 (grub_ieee1275_encode_devname): New prototype.
41721 (grub_ieee1275_get_filename): Likewise.
41722 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
41723 function.
41724 (grub_set_prefix): Likewise.
41725 (grub_machine_init): Call grub_set_prefix.
41726 * kern/powerpc/ieee1275/openfw.c: Fix typos.
41727 (grub_parse_type): New enum.
41728 (grub_ieee1275_get_devargs): New function.
41729 (grub_ieee1275_get_devname): Likewise.
41730 (grub_ieee1275_parse_args): Likewise.
41731 (grub_ieee1275_get_filename): Likewise.
41732 (grub_ieee1275_encode_devname): Likewise.
41733
be369920 417342005-03-30 Marco Gerards <metgerards@student.han.nl>
41735
41736 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
41737 `grub_loader_unset'.
41738
a5ce3a4a 417392005-03-26 Hollis Blanchard <hollis@penguinppc.org>
41740
41741 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
41742 instead of grub_ieee1275_interpret.
41743 (grub_halt_init): New function.
41744 (grub_halt_fini): Likewise.
41745 (GRUB_MOD_INIT): Correct message grammar.
41746 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
41747 instead of grub_ieee1275_interpret.
41748 (grub_reboot_init): New function.
41749 (grub_reboot_fini): Likewise.
41750 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
41751 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
41752 util/i386/pc/misc.c with commands/ieee1275/halt.c,
41753 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
41754 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
41755 function.
41756 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
41757 Add prototype.
41758 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
41759 prototype.
41760 (grub_halt): Likewise.
41761 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
41762 (cmain): Remove __attribute__((unused)).
41763 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
41764 (grub_heap_len): Likewise.
41765 (grub_machine_fini): New function.
41766 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
41767 (grub_halt): Likewise.
41768 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
41769 function.
41770 * util/powerpc/ieee1275/misc.c: New file.
41771
0058f771 417722005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
41773
41774 * DISTLIST: New file.
41775 * gendistlist.sh: Likewise.
f19dbdb7 41776
0058f771 41777 * Makefile.in (COMMON_DISTFILES): Removed.
41778 (BOOT_DISTFILES): Likewise.
41779 (CONF_DISTFILES): Likewise.
41780 (DISK_DISTFILES): Likewise.
41781 (FS_DISTFILES): Likewise.
41782 (INCLUDE_DISTFILES): Likewise.
41783 (KERN_DISTFILES): Likewise.
41784 (LOADER_DISTFILES): Likewise.
41785 (TERM_DISTFILES): Likewise.
41786 (UTIL_DISTFILES): Likewise.
41787 (DISTFILES): Likewise.
41788 (uninstall): Uninstall files in $(pkgdata_DATA).
41789 (DISTLIST): New target.
41790 (distdir): Use the contents of the file DISTLIST to get a list of
41791 distributed files.
41792
46b3b8a5 417932005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
41794
41795 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
41796 descriptor. This is ported from GRUB Legacy.
41797
41798 * gencmdlist.sh: Added an extra semicolon to make it work with
41799 old sed versions. Reported by Robert Bihlmeyer
41800 <robbe@orcus.priv.at>.
41801
5822ff87 418022005-03-08 Yoshinori Okuji <okuji@enbug.org>
41803
41804 Automatic loading of commands is supported.
f19dbdb7 41805
5822ff87 41806 * normal/main.c (read_command_list): New function.
41807 (grub_normal_execute): Call read_command_list.
41808
41809 * normal/command.c (grub_register_command): Return zero or CMD.
41810 Allocate CMD->NAME from the heap.
41811 Initialize CMD->MODULE_NAME to zero.
41812 Find the same name as well. If the same command is found and it is
41813 a dummy command, overwrite members. If it is not a dummy command,
41814 return zero.
41815 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
41816 (grub_command_find): If a dummy command is found, load a module
41817 and retry to find a command only once.
41818
41819 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
41820 make sure that each command is loaded.
41821
41822 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
41823 macro.
41824 (struct grub_command): Remove const from the member `name'.
41825 Add a new member `module_name'.
41826 (grub_register_command): Return grub_command_t.
41827
41828 * commands/help.c (grub_cmd_help): Call grub_command_find to make
41829 sure that each command is loaded.
41830
41831 * genmk.rb (PModule::rule): Specify a module name without the
41832 suffix ".mod" to gencmdlist.sh.
41833
7b1f4b57 418342005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
41835
41836 * gencmdlist.sh: New file.
f19dbdb7 41837
7b1f4b57 41838 * genmk.rb (PModule::rule): Generate a rule for a command list.
41839 Clean command.lst.
41840 Generate command.lst from $(COMMANDFILES).
41841
41842 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
41843 (DATA): Added $(pkgdata_DATA).
41844 (install-local): Install files in $(pkgdata_DATA).
41845
062aaf39 418462005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
41847
41848 * term/i386/pc/vga.c (debug_command): Removed.
41849 (GRUB_MOD_INIT): Do not register the command "debug".
41850
41851 From Hollis Blanchard:
41852 * commands/configfile.c: New file.
41853 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41854 commands/configfile.c.
41855 (pkgdata_MODULES): Added configfile.mod.
41856 (configfile_mod_SOURCES): New variable.
41857 (configfile_mod_CFLAGS): Likewise.
41858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
41859 commands/configfile.c.
41860 (pkgdata_MODULES): Added configfile.mod.
41861 (configfile_mod_SOURCES): New variable.
41862 (configfile_mod_CFLAGS): Likewise.
41863 * util/grub-emu.c (main): Call grub_configfile_init and
41864 grub_configfile_fini.
41865 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
41866 prototype.
41867 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 41868
cee01aa6 418692005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
41870
41871 * normal/arg.c (grub_arg_show_help): Do not show the bug report
41872 address.
41873
41874 * commands/help.c (grub_cmd_help): Do not print newlines after
41875 the last command in print_command_help.
41876
93f3a1d8 418772005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
41878
41879 * commands/default.h: New file.
41880 * commands/timeout.h: Likewise.
41881 * normal/context.c: Likewise.
f19dbdb7 41882
93f3a1d8 41883 * util/misc.c: Do not include sys/times.h.
41884 Include sys/time.h and grub/machine/time.h.
41885 (grub_get_rtc): Rewritten with gettimeofday.
41886
41887 * util/grub-emu.c (main): Call grub_default_init and
41888 grub_timeout_init before grub_normal_init, and call
41889 grub_timeout_fini and grub_default_fini after grub_main.
41890
41891 * util/console.c (grub_ncurses_checkkey): Return the read
41892 character or -1.
41893
41894 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
41895 timeouts.
41896
41897 * normal/main.c (read_config_file): Push MENU. If this fails,
41898 print an error and wait for a user input.
41899 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
41900 If a menu is empty or an error occurs, pop MENU.
41901 (grub_normal_execute): Pop and free MENU after grub_menu_run
41902 returns.
41903
41904 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
41905
41906 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
41907 include time.h.
41908 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
41909 without GRUB_UTIL.
41910 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
41911 time.h.
41912 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
41913 without GRUB_UTIL.
41914
41915 * include/grub/normal.h (struct grub_menu_list): New struct.
41916 (grub_menu_list_t): New type.
41917 (struct grub_context): New struct.
41918 (grub_context_t): New type.
41919 (grub_register_command): Got rid of EXPORT_FUNC.
41920 (grub_unregister_command): Likewise.
41921 (grub_context_get): New prototype.
41922 (grub_context_get_current_menu): Likewise.
41923 (grub_context_push_menu): Likewise.
41924 (grub_context_pop_menu): Likewise.
41925 [GRUB_UTIL] (grub_default_init): Likewise.
41926 [GRUB_UTIL] (grub_default_fini): Likewise.
41927 [GRUB_UTIL] (grub_timeout_init): Likewise.
41928 [GRUB_UTIL] (grub_timeout_fini): Likewise.
41929
41930 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
41931 commands/timeout.c and normal/context.c.
41932 (pkgdata_MODULES): Added default.mod and timeout.mod.
41933 (normal_mod_SOURCES): Added normal/context.c.
41934 (default_mod_SOURCES): New variable.
41935 (default_mod_CFLAGS): Likewise.
41936 (timeout_mod_SOURCES): Likewise.
41937 (timeout_mod_CFLAGS): Likewise.
41938 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
41939 conf/i386-pc.rmk.
41940 (pkgdata_MODULES): Added default.mod and timeout.mod.
41941 (normal_mod_SOURCES): Added normal/context.c.
41942 (default_mod_SOURCES): New variable.
41943 (default_mod_CFLAGS): Likewise.
41944 (timeout_mod_SOURCES): Likewise.
41945 (timeout_mod_CFLAGS): Likewise.
41946
41947 * Makefile.in (all-local): Added $(MKFILES).
41948
4ed2e1dd 419492005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
41950
41951 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
41952 (grub_emu_SOURCES): Likewise.
41953 (pkgdata_MODULES): Add `sun.mod'.
41954 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
41955 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
41956 `partmap/sun.c'.
41957 (pkgdata_MODULES): Add `sun.mod'.
41958 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
41959 * include/grub/partition.h (grub_sun_partition_map_init): New
41960 prototype.
41961 (grub_sun_partition_map_fini): Likewise.
41962 * partmap/sun.c: New file.
41963 * util/grub-emu.c (main): Initialize and de-initialize the sun
41964 partitionmap support.
41965
4d4e372e 419662005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
41967
41968 This implements an Emacs-like menu entry editor.
f19dbdb7 41969
4d4e372e 41970 * normal/menu_entry.c: New file.
f19dbdb7 41971
4d4e372e 41972 * util/console.c (grub_ncurses_putchar): Translate some Unicode
41973 characters to ASCII.
41974 (saved_char): New variable.
41975 (grub_ncurses_checkkey): Rewritten completely.
41976 (grub_ncurses_getkey): Likewise.
41977 (grub_ncurses_init): Call raw instead of cbreak.
41978
41979 * normal/menu.c (print_entry): Do not put a space.
41980 (init_page): Renamed to ...
41981 (grub_menu_init_page): ... this. All callers changed.
41982 (edit_menu_entry): Removed.
41983 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
41984
41985 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
41986
41987 * kern/misc.c (grub_vprintf): Call grub_refresh.
41988
41989 * normal/menu.c (DISP_LEFT): Renamed to ...
41990 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
41991 * normal/menu.c (DISP_UP): Renamed to ...
41992 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
41993 * normal/menu.c (DISP_RIGHT): Renamed to ...
41994 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
41995 * normal/menu.c (DISP_DOWN): Renamed to ...
41996 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
41997 * normal/menu.c (DISP_HLINE): Renamed to ...
41998 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
41999 * normal/menu.c (DISP_VLINE): Renamed to ...
42000 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
42001 * normal/menu.c (DISP_UL): Renamed to ...
42002 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
42003 * normal/menu.c (DISP_UR): Renamed to ...
42004 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
42005 * normal/menu.c (DISP_LL): Renamed to ...
42006 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
42007 * normal/menu.c (DISP_LR): Renamed to ...
42008 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
42009 * normal/menu.c (TERM_WIDTH): Renamed to ...
42010 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
42011 * normal/menu.c (TERM_HEIGHT): Renamed to ...
42012 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
42013 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
42014 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
42015 * normal/menu.c (TERM_MARGIN): Renamed to ...
42016 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
42017 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
42018 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
42019 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
42020 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
42021 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
42022 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
42023 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
42024 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
42025 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
42026 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
42027 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
42028 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
42029 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
42030 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
42031 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
42032 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
42033 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
42034 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
42035 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
42036 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
42037 All callers changed.
42038
42039 * include/grub/normal.h: New prototype.
42040
42041 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42042 normal/menu_entry.c.
42043 (normal_mod_SOURCES): Likewise.
42044 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42045 (normal_mod_SOURCES): Likewise.
42046
e6b92c8a 420472005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
42048
42049 * include/grub/normal.h (grub_halt_init): New prototype.
42050 (grub_halt_fini): Likewise.
42051 (grub_reboot_init): Likewise.
42052 (grub_reboot_fini): Likewise.
42053
42054 * util/grub-emu.c: Include signal.h.
42055 (main_env): New global variable.
42056 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
42057 catch C-c.
42058 (grub_machine_fini): New function.
42059 (main): Call grub_halt_init and grub_reboot_init before
42060 grub_main, and grub_reboot_fini and grub_halt_fini after it.
42061 Call setjmp with MAIN_ENV to go back afterwards.
42062 Call grub_machine_fini right before return.
42063
42064 * include/grub/util/misc.h: Include setjmp.h.
42065 (main_env): New prototype.
42066
42067 * include/grub/kernel.h (grub_machine_fini): New prototype.
42068 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
42069 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
42070
42071 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
42072 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
42073 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 42074
e6b92c8a 42075 * util/i386/pc/misc.c: New file.
f19dbdb7 42076
e6b92c8a 42077 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
42078 util/i386/pc/misc.c, commands/i386/pc/halt.c and
42079 commands/i386/pc/reboot.c.
42080
c642636f 420812005-02-14 Guillem Jover <guillem@hadrons.org>
42082
42083 * include/grub/dl.h (grub_dl_check_header): New prototype.
42084 (grub_arch_dl_check_header): Change return type to grub_err_t,
42085 remove size parameter and export function. Update all callers.
42086 * kern/dl.c (grub_dl_check_header): New function.
42087 (grub_dl_load_core): Use `grub_dl_check_header' instead of
42088 `grub_arch_dl_check_header'. Check ELF type. Check if sections
42089 are inside the core.
42090 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
42091 independent ELF header checks.
42092 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42093 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
42094 `grub_dl_check_header' instead of explicit checks. Check for the
42095 ELF type.
42096 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
42097 `grub_dl_check_header' instead of explicit checks. Remove arch
42098 specific ELF header checks.
42099
e6b92c8a 42100 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
42101 argument SIZE.
42102
5eabe94b 421032005-02-13 Hollis Blanchard <hollis@penguinppc.org>
42104
42105 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
42106 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
42107
1b14a681 421082005-02-12 Hollis Blanchard <hollis@penguinppc.org>
42109
42110 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 42111 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 42112 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 42113 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 42114 * partmap/amiga.c (amiga_partition_map_iterate): Return
42115 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
42116 * partmap/apple.c (apple_partition_map_iterate): Likewise.
42117
aca108aa 421182005-02-01 Guillem Jover <guillem@hadrons.org>
42119
42120 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
42121 help info.
42122
c9f9c556 421232005-01-31 Marco Gerards <metgerards@student.han.nl>
42124
42125 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
42126 Removed prototype.
42127 (grub_rescue_cmd_linux): New prototype.
42128 (grub_rescue_cmd_initrd): Likewise.
42129 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
42130 `bi_rec'.
42131 (grub_linux_release_mem): Release the memory for the initrd.
42132 (grub_load_linux): Renamed from this...
42133 (grub_rescue_cmd_linux): ...To this. Changed all callers.
42134 Changed `entry' not to be static. Loop over memory regions to
42135 find another one when the default fails.
42136 (grub_rescue_cmd_initrd): New function.
42137 (grub_linux_init): Remove function.
42138 (grub_linux_fini): Likewise.
42139 (GRUB_MOD_INIT): Register `initrd'.
42140 (GRUB_MOD_FINI): Unregister `initrd'.
42141 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
42142 Function removed.
42143 (grub_linux_normal_fini): Likewise.
42144 (GRUB_MOD_INIT): Register `initrd'.
42145 (GRUB_MOD_FINI): Unregister `initrd'.
42146
990cf3aa 421472005-01-31 Marco Gerards <metgerards@student.han.nl>
42148
42149 * commands/help.c: New file.
42150 * normal/arg.c (show_help): Renamed to...
42151 (grub_arg_show_help): ... this.
42152 * commands/i386/pc/halt.c: New file.
42153 * commands/i386/pc/reboot.c: Likewise.
42154 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
42155 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
42156 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
42157 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
42158 variables.
42159 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42160 `commands/help.c'.
42161 (pkgdata_MODULES): Add `help.mod'.
42162 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
42163 * grub/i386/pc/init.h (grub_reboot): New prototype.
42164 (grub_halt): Likewise.
42165 * include/grub/normal.h (grub_arg_show_help): New prototype.
42166 (grub_help_init): Likewise.
42167 (grub_help_fini): Likewise.
42168 * util/grub-emu.c (main): Initialize and deinitialize the help
42169 command.
42170
42171 * normal/cmdline.c (grub_cmdline_get): Doc fix.
42172
42173 * normal/command.c (grub_command_init): Fixed the description of
42174 the `set' and `unset' commands.
42175
421762005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 42177
42178 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
42179 function.
42180 * commands/ieee1275/halt.c: New file.
42181 * commands/ieee1275/reboot.c: Likewise.
42182 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
42183 `__attribute__ ((unused))'. Some GCS related fixed.
42184 (grub_suspend_init) [GRUB_UTIL]: Function removed.
42185 (grub_suspend_fini): Likewise.
42186 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
42187 and `halt.mod'.
42188 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
42189 (halt_mod_CFLAGS): New variables.
42190 * include/grub/powerpc/ieee1275/ieee1275.h
42191 (grub_ieee1275_interpret): New prototype.
42192
1ab09cc7 421932005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
42194
42195 * include/grub/misc.h (memmove): New prototype.
42196 (memcpy): Likewise.
42197
8b8cbdb2 421982005-01-22 Hollis Blanchard <hollis@penguinppc.org>
42199
42200 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
42201 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
42202
e3741a27 422032005-01-22 Marco Gerards <metgerards@student.han.nl>
42204
42205 * kern/misc.c (grub_strndup): Function rewritten.
42206
776bd780 422072005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
42208
42209 * normal/menu.c (TERM_WIDTH): Macro redefined.
42210 (TERM_TOP_BORDER_Y): Likewise.
42211 (draw_border): Replaced while-loop by a for-loop. Make the number
42212 of lines consistent with the number of lines displayed in
42213 print_entries. Added a margin below the rectangle.
42214 (print_entry): Make the entry fit in the rectangle.
42215 (print_entries): Display the scroll arrows next to the right
42216 border.
42217
78026bce 422182005-01-21 Marco Gerards <metgerards@student.han.nl>
42219
42220 * fs/minix.c (grub_minix_find_file): Reserve more space for
42221 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
42222 `grub_strncpy' to copy `path' into it.
42223
67bbaf0f 422242005-01-21 Marco Gerards <metgerards@student.han.nl>
42225
42226 Add the loopback device, a device via which files can be accessed
42227 as devices.
f19dbdb7 42228
67bbaf0f 42229 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
42230 (pkgdata_MODULES): Add loopback.mod.
42231 (loopback_mod_SOURCES): New variable.
42232 (loopback_mod_CFLAGS): Likewise.
42233 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42234 `disk/loopback.c'.
42235 (pkgdata_MODULES): Add loopback.mod.
42236 (loopback_mod_SOURCES): New variable.
42237 (loopback_mod_CFLAGS): Likewise.
42238 * disk/loopback.c: new file.
42239 * include/grub/normal.h (grub_loop_init): New prototype.
42240 (grub_loop_fini): New prototype.
42241 * util/grub-emu.c (main): Initialize and de-initialize loopback
42242 support.
42243 * include/grub/disk.h (grub_disk_dev_id): Add
42244 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
42245
6f1c18bd 422462005-01-20 Hollis Blanchard <hollis@penguinppc.org>
42247
42248 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
42249 function.
42250 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
42251 (suspend_mod_SOURCES): New variable.
42252 (suspend_mod_CFLAGS): Likewise.
42253 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
42254 New prototype.
42255 * commands/ieee1275/suspend.c: New file.
42256
b38551da 422572005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42258
42259 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 42260 ((unused))' to `__attribute__ ((used))'.
b38551da 42261 (GRUB_MOD_FINI): Likewise.
42262 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
42263 * genmk.rb (PModule): Assign space to common symbols when linking
42264 modules.
42265
777aff39 422662005-01-20 Marco Gerards <metgerards@student.han.nl>
42267
42268 * include/grub/mm.h (grub_mm_init_region): Change the type of the
42269 `unsigned' arguments to `grub_size_t'.
42270 (grub_malloc): Likewise.
42271 (grub_realloc): Likewise.
42272 (grub_memalign): Likewise.
42273 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
42274 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
42275 * util/misc.c (grub_malloc): Likewise.
42276 (grub_realloc): Likewise.
42277 * kern/mm.c (get_header_from_pointer): Change the casts to
42278 `unsigned' into a cast to `grub_size_t'.
42279
42280 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
42281 point to `currnode' when `currnode' is changed.
42282
42283 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
42284 Schottelius <nico-linux@schottelius.org>.
42285
d0ff18e1 422862005-01-09 Hollis Blanchard <hollis@penguinppc.org>
42287
42288 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
42289 (note_path): Remove variable.
42290 (GRUB_IEEE1275_NOTE_NAME): New macro.
42291 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
42292 (grub_ieee1275_note_hdr): New structure.
42293 (grub_ieee1275_note_desc): Likewise.
42294 (grub_ieee1275_note): Likewise.
42295 (load_note): Remove `dir' argument. All callers updated. Remove
42296 `note_img' and `path'. Do not load a file from `note_path'.
42297 Initialize a struct grub_ieee1275_note and write that to `out'.
42298 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
42299
4ca7004c 423002005-01-05 Marco Gerards <metgerards@student.han.nl>
42301
42302 * util/misc.c (grub_util_read_image): Revert last change. It
42303 called `grub_util_read_at', which seeks from the beginning of the
42304 file.
42305
0b412211 423062005-01-04 Hollis Blanchard <hollis@penguinppc.org>
42307
42308 * TODO: Add note about endianness in grub-mkimage.
42309 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
42310 section.
42311 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
42312 (grub_mkimage_SOURCES): New target.
42313 * include/grub/kernel.h (grub_start_addr): Remove variable.
42314 (grub_end_addr): Likewise.
42315 (grub_total_module_size): Likewise.
42316 (grub_kernel_image_size): Likewise.
42317 (GRUB_MODULE_MAGIC): New constant.
42318 (grub_module_info): New structure.
42319 (grub_arch_modules_addr): New prototype.
42320 (grub_get_end_addr): Remove prototype.
42321 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
42322 * include/grub/powerpc/ieee1275/kernel.h: New file.
42323 * include/grub/util/misc.h (grub_util_get_fp_size): New
42324 prototype.
42325 (grub_util_read_at): Likewise.
42326 (grub_util_write_image_at): Likewise.
42327 * kern/main.c (grub_get_end_addr): Remove function.
42328 (grub_load_modules): Call grub_arch_modules_addr instead of using
42329 grub_end_addr. Look for a grub_module_info struct in memory. Use
42330 the grub_module_info fields instead of calling grub_get_end_addr
42331 as loop conditions. Move grub_add_unused_region code here.
42332 (grub_add_unused_region): Remove function.
42333 * kern/i386/pc/init.c: Include grub/cache.h.
42334 (grub_machine_init): Remove call to grub_get_end_addr. Remove
42335 one call to add_mem_region.
42336 (grub_arch_modules_addr): New function.
42337 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
42338 (grub_total_module_size): Likewise.
42339 Include grub/machine/kernel.h.
42340 (grub_arch_modules_addr): New function.
42341 * util/grub-emu.c (grub_end_addr): Remove variable.
42342 (grub_total_module_size): Likewise.
42343 (grub_arch_modules_addr): New function.
42344 * util/misc.c: Include unistd.h.
42345 (grub_util_get_fp_size): New function.
42346 (grub_util_read_at): Likewise.
42347 (grub_util_write_image_at): Likewise.
42348 (grub_util_read_image): Call grub_util_read_at.
42349 (grub_util_write_image): Call grub_util_write_image_at.
42350 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
42351 additional memory in kernel_img for a struct grub_module_info.
42352 Fill in that grub_module_info.
42353 * util/powerpc/ieee1275/grub-mkimage.c: New file.
42354
458786f8 423552005-01-03 Hollis Blanchard <hollis@penguinppc.org>
42356
42357 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
42358 New function.
42359 * include/grub/powerpc/ieee1275/ieee1275.h
42360 (grub_ieee1275_milliseconds): New prototype.
42361 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
42362 Change to 1000.
42363 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
42364 grub_ieee1275_milliseconds.
42365
ac507d1b 423662005-01-03 Hollis Blanchard <hollis@penguinppc.org>
42367
42368 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
42369 variable.
42370 (find_options): New function.
42371 (cmain): Call find_options.
42372 * include/grub/powerpc/ieee1275/ieee1275.h
42373 (grub_ieee1275_realmode): New extern variable.
42374 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
42375 grub_map if grub_ieee1275_realmode is false.
42376
6b8fd1c4 423772004-12-29 Marco Gerards <metgerards@student.han.nl>
42378
42379 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
42380 lines are inserted and make it work like readline. Reported by
42381 Vincent Pelletier <subdino2004@yahoo.fr>.
42382
8514a1e0 423832004-12-28 Marco Gerards <metgerards@student.han.nl>
42384
42385 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
42386
42387 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
42388 `kern/powerpc/cache.S'.
42389
924b6140 423902004-12-27 Marco Gerards <metgerards@student.han.nl>
42391
42392 * genmk.rb: Handle the `Program' class in the main loop. Written
42393 by Johan Rydberg <jrydberg@gnu.org>.
42394 (Program): New class.
42395 (programs): New variable.
42396 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
42397 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
42398 instead of "grub/kernel.h". Include <grub/machine/init.h>.
42399 (help_arch): Function removed.
42400 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
42401 `powerpc/libgcc.h' and `loader.h'.
42402 (pkgdata_PROGRAMS): New variable.
42403 (sbin_UTILITIES): Variable removed.
42404 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
42405 (grubof_SOURCES): Variable re-defined so it only includes the
42406 core functionality.
42407 (grubof_CFLAGS): Remove `-DGRUBOF'.
42408 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
42409 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
42410 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
42411 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
42412 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
42413 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
42414 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
42415 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
42416 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
42417 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
42418 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42419 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
42420 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
42421 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
42422 (pc_mod_CFLAGS): New variables.
42423 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
42424 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
42425 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
42426 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
42427 Moved from here...
42428 * include/grub/i386/pc/init.h (grub_os_area_addr)
42429 (rub_os_area_size): ... to here.
42430 * include/grub/powerpc/ieee1275/ieee1275.h
42431 (grub_ieee1275_entry_fn): Export symbol.
42432 * include/grub/powerpc/ieee1275/init.h: New file.
42433 * include/grub/powerpc/libgcc.h: Likewise.
42434 * include/grub/cache.h: Likewise.
42435 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
42436 <hollis@penguinppc.org>.
42437 * kern/dl.c: Include <grub/cache.h>.
42438 (grub_dl_flush_cache): New function.
42439 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
42440 for this module.
42441 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
42442 (grub_console_init): Removed prototypes.
42443 (grub_machine_init): Don't initialize the modules anymore.
42444 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
42445 static.
42446 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
42447 Macro undef removed.
42448 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
42449 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
42450 relocation `R_PPC_REL32'. Return an error when the relocation is
42451 unknown.
42452 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
42453 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
42454 * util/misc.c (grub_arch_sync_caches): Likewise.
42455
e4b47e0c 424562004-12-19 Marco Gerards <metgerards@student.han.nl>
42457
42458 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
42459 `symlist.c', add `grubof_symlist.c'.
42460 (symlist.c): Variable removed.
42461 (grubof_HEADERS): Variable added.
42462 (grubof_symlist.c): New target.
42463 (kernel_syms.lst): Use `grubof_HEADERS' instead of
42464 `kernel_img_HEADERS'.
42465 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
42466 * kern/powerpc/dl.c: New file.
42467 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
42468 Function removed.
42469 (grub_arch_dl_relocate_symbols): Likewise.
42470 (grub_register_exported_symbols): Likewise.
42471
4ceb3636 424722004-12-13 Marco Gerards <metgerards@student.han.nl>
42473
42474 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
42475 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
42476 to fail instead. Reported by Vincent Pelletier
42477 <subdino2004@yahoo.fr>.
42478
42479 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
42480 it is not allocated. Reported by Vincent Pelletier
42481 <subdino2004@yahoo.fr>.
42482
42483 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
42484 output so the output looks better.
f19dbdb7 42485
3f1578fe 424862004-12-04 Marco Gerards <metgerards@student.han.nl>
42487
42488 Modulize the partition map support and add support for the amiga
42489 partition map.
f19dbdb7 42490
3f1578fe 42491 * commands/ls.c: Include <grub/partition.h> instead of
42492 <grub/machine/partition.h>.
42493 * kern/disk.c: Likewise.
42494 * kern/rescue.c: Likewise.
42495 * loader/i386/pc/chainloader.c: Likewise.
42496 * normal/cmdline.c: Likewise.
42497 * kern/powerpc/ieee1275/init.c: Likewise.
42498 (grub_machine_init): Call `grub_pc_partition_map_init',
42499 `grub_amiga_partition_map_init' and
42500 `grub_apple_partition_map_init'.
42501 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
42502 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
42503 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
42504 `partition.h' and `pc_partition.h'.
42505 (grub_setup_SOURCES): Remove
42506 `disk/i386/pc/partition.c'. Add `kern/partition.c',
42507 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
42508 (grub_emu_SOURCES): Likewise.
42509 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
42510 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
42511 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
42512 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
42513 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
42514 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
42515 (grubof_SOURCES): Likewise.
42516 * disk/i386/pc/partition.c: File removed.
42517 * disk/powerpc/ieee1275/partition.c: Likewise.
42518 * include/grub/powerpc/ieee1275/partition.h: Likewise.
42519 * include/grub/i386/pc/partition.h: Likewise.
42520 * kern/partition.c: New file.
42521 * partmap/amiga.c: Likewise.
42522 * partmap/apple.c: Likewise.
42523 * partmap/pc.c: Likewise.
42524 * include/grub/partition.h: Likewise..
42525 * include/grub/pc_partition.h: Likewise.
42526 * util/grub-emu.c: Include <grub/partition.h> instead of
42527 <grub/machine/partition.h>.
42528 (main): Call `grub_pc_partition_map_init',
42529 `grub_amiga_partition_map_init' and
42530 `grub_apple_partition_map_init' and deinitialize afterwards.
42531 * util/i386/pc/biosdisk.c: Include `#include
42532 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
42533 `<grub/machine/partition.h>'.
42534 * util/i386/pc/grub-setup.c: Likewise.
42535 * util/i386/pc/biosdisk.c: Likewise.
42536 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
42537 partition information in case of a PC partition.
42538 * util/i386/pc/grub-setup.c: Include `#include
42539 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
42540 `<grub/machine/partition.h>'.
42541 (setup): Only access the PC specific partition information in case
42542 of a PC partition.
42543
0ef4ced9 425442004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 42545
0ef4ced9 42546 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
42547 (grub_longjmp): Likewise.
42548 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
42549 20.
42550 * normal/powerpc/setjmp.S: New file.
42551 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
42552 `normal/powerpc/setjmp.S'.
42553 (grubof_CFLAGS): Add `-DGRUBOF'.
42554 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
42555 [GRUB_UTIL && !GRUBOF].
f19dbdb7 42556
19950e29 425572004-11-16 Marco Gerards <metgerards@student.han.nl>
42558
42559 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
42560 property named `name'. Correctly handle the error returned by
42561 `grub_ieee1275_finddevice' if a device can not be opened.
42562
a2fea427 425632004-11-02 Hollis Blanchard <hollis@penguinppc.org>
42564
42565 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
42566 `actual' for negativity.
42567 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
42568 kern/fshelp.c.
42569
41ea0ea3 425702004-11-01 Marco Gerards <metgerards@student.han.nl>
42571
42572 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
42573 (PAGE_OFFSET): New macro.
42574 (CRTC_ADDR_PORT): Likewise.
42575 (CRTC_DATA_PORT): Likewise.
42576 (START_ADDR_HIGH_REGISTER): Likewise.
42577 (START_ADDR_LOW_REGISTER): Likewise.
42578 (GRAPHICS_ADDR_PORT): Likewise.
42579 (GRAPHICS_DATA_PORT): Likewise.
42580 (READ_MAP_REGISTER): Likewise.
42581 (INPUT_STATUS1_REGISTER): Likewise.
42582 (INPUT_STATUS1_VERTR_BIT): Likewise.
42583 (page): New variable.
42584 (wait_vretrace): New function.
42585 (set_read_map): Likewise.
42586 (set_start_address): Likewise.
42587 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
42588 the right page.
42589 (check_vga_mem): Take the page into account.
42590 (write_char): Likewise.
42591 (write_cursor): Likewise.
42592 (scroll_up): Likewise. Copy the page to the page that is not
42593 shown and switch between both pages.
42594 (grub_vga_putchar): Fix off by one error.
42595 (grub_vga_cls): Wait for the vertical retrace. Take the page into
42596 account.
42597
ad0bd20b 425982004-11-01 Marco Gerards <metgerards@student.han.nl>
42599
42600 Add support for iso9660 (including rockridge).
f19dbdb7 42601
ad0bd20b 42602 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
42603 (iso9660_mod_SOURCES): New variable.
42604 (iso9660_mod_CFLAGS): Likewise.
42605 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
42606 * include/grub/fs.h (grub_iso9660_init): New prototype.
42607 * util/grub-emu.c (main): Call `grub_iso9660_init'.
42608 * fs/iso9660.c: New file.
42609
42610 * include/grub/misc.h (grub_strncat): New prototype.
42611 * kern/misc.c (grub_strncat): New function.
f19dbdb7 42612
ad0bd20b 42613 * fs/hfs.c (grub_hfs_mount): Translate the error
42614 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
42615 * fs/jfs.c (grub_jfs_mount): Likewise.
42616 * fs/ufs.c (grub_ufs_mount): Likewise.
42617
a5477a59 426182004-10-28 Hollis Blanchard <hollis@penguinppc.org>
42619
42620 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
42621 which initialized BAT registers.
42622 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
42623 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
42624 Move from here...
42625 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
42626 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
42627 ... to here.
42628 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
42629 (grub_mapclaim): Likewise.
42630 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
42631 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
42632 hand.
42633
9304c1f8 426342004-10-19 Hollis Blanchard <hollis@penguinppc.org>
42635
42636 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
42637 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
42638 -ffreestanding and -msoft-float.
42639
86f4ae25 426402004-10-15 Hollis Blanchard <hollis@penguinppc.org>
42641
42642 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
42643 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
42644 set in grub_ieee1275_flags.
42645
38912228 426462004-10-14 Hollis Blanchard <hollis@penguinppc.org>
42647
42648 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
42649 prototype.
42650 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
42651 grub_console_init first.
42652 Change the memory range used for grub_ieee1275_claim and
42653 grub_mm_init_region.
42654 Print an error message if the claim fails.
42655 Include <grub/misc.h>.
42656
d1923dc8 426572004-10-13 Hollis Blanchard <hollis@penguinppc.org>
42658
42659 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
42660 Call grub_children_iterate for device nodes of type `scsi',
42661 `ide', or `ata'.
42662 (grub_ofdisk_open): Remove manual device alias resolution.
42663 Fix memory leak when device cannot be opened.
f19dbdb7 42664 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 42665 (grub_children_iterate): New prototype.
42666 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
42667 New function.
42668 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
42669 Return -1 if args.size was -1.
42670
4512e4f3 426712004-10-11 Hollis Blanchard <hollis@penguinppc.org>
42672
42673 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
42674 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
42675 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
42676 Open Firmware's memory for it; claim memory from _start to _end.
42677 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
42678 (_end): New extern.
42679 (_start): Zero BSS from __bss_start to _end.
42680 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
42681 New extern.
42682 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
42683
4d61feb0 426842004-10-11 Hollis Blanchard <hollis@penguinppc.org>
42685
ad0bd20b 42686 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
42687 -1 if args.base was -1.
4d61feb0 42688
026fa2f9 426892004-10-08 Hollis Blanchard <hollis@penguinppc.org>
42690
42691 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
42692 escape sequence instead of a literal ^L. Also call
42693 grub_ofconsole_gotoxy.
42694
9f2220ef 426952004-10-03 Hollis Blanchard <hollis@penguinppc.org>
42696
42697 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
42698 void * arguments to grub_addr_t. All callers updated. Also make
42699 the `result' argument optional.
42700 (grub_ieee1275_release): change void * arguments to grub_addr_t.
42701 All callers updated.
42702
8a572cd7 427032004-09-22 Hollis Blanchard <hollis@penguinppc.org>
42704
42705 * commands/ls.c (grub_ls_list_files): Use the string following the
42706 initial ')', if present, as the filesystem path.
42707 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
42708
42709 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
42710
18aa81f2 427112004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
42712
42713 Make the source code of the menu interface more readable.
f19dbdb7 42714
18aa81f2 42715 * normal/menu.c: Include grub/mm.h.
42716 (TERM_WIDTH): New macro.
42717 (TERM_HEIGHT): Likewise.
42718 (TERM_INFO_HEIGHT): Likewise.
42719 (TERM_MARGIN): Likewise.
42720 (TERM_SCROLL_WIDTH): Likewise.
42721 (TERM_TOP_BORDER_Y): Likewise.
42722 (TERM_LEFT_BORDER_X): Likewise.
42723 (TERM_BORDER_WIDTH): Likewise.
42724 (TERM_MESSAGE_HEIGHT): Likewise.
42725 (TERM_BORDER_HEIGHT): Likewise.
42726 (TERM_NUM_ENTRIES): Likewise.
42727 (TERM_FIRST_ENTRY_Y): Likewise.
42728 (TERM_ENTRY_WIDTH): Likewise.
42729 (TERM_CURSOR_X): Likewise.
42730 (draw_border): Use macros instead of magic numbers.
42731 (print_entry): Likewise.
42732 (print_entries): Likewise.
42733 (run_menu): Likewise. Also, handle the key 'e'.
42734 (run_menu_entry): Ignore empty command lines.
42735 (print_message): Added a new argument EDIT. If EDIT is true,
42736 print a different message.
42737 (init_page): Likewise.
42738 (edit_menu_entry): New function. Not implemented yet.
42739
b47efe30 427402004-09-17 Marco Gerards <metgerards@student.han.nl>
42741
42742 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
42743 can be loaded from normal mode.
f19dbdb7 42744
b47efe30 42745 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
42746 `multiboot.mod'.
42747 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
42748 (multiboot_mod_CFLAGS): New variables.
42749 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 42750 * loader/i386/pc/multiboot_normal.c: Likewise.
42751
b47efe30 42752 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
42753 attribute `unused'.
f19dbdb7 42754
b47efe30 42755 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
42756 `fdiro' to read the mode information from instead of `diro'.
42757
42758 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
42759 looking up a symlink.
42760
42761 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
42762 macro.
42763 * normal/command.c (grub_command_execute): Don't parse the
42764 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
42765 flags of the command.
42766
42767 * normal/menu.c (grub_menu_run): Fix typo.
42768
da75ac71 427692004-09-14 Hollis Blanchard <hollis@penguinppc.org>
42770
42771 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
42772
42773 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
42774 `y + 1' instead of `y - 1'.
42775
42776 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 42777
062b24c2 427782004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
42779
42780 From Hollis Blanchard <hollis@penguinppc.org>:
42781 * kern/misc.c (memmove): New alias for grub_memmove.
42782 (memcmp): New alias for grub_memcmp.
42783 (memset): New alias for grub_memset.
f19dbdb7 42784 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 42785 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 42786 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 42787 (grub_ieee1275_get_property): Likewise.
f19dbdb7 42788
8ddad845 427892004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
42790
42791 Added normal mode command `chainloader' as module chain.mod, which
42792 depends on normal.mod and _chain.mod.
f19dbdb7 42793
8ddad845 42794 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
42795 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
42796 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
42797 Deleted prototype.
42798 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
42799 but arguments parsing moved to ...
42800 (grub_chainloader_cmd): ... here. New function.
42801 * include/grub/i386/pc/chainloader.h: New file.
42802 * loader/i386/pc/chainloader_normal.c: Likewise.
42803
2c1f4ce3 428042004-09-11 Marco Gerards <metgerards@student.han.nl>
42805
42806 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
42807 (grub_mkimage_LDFLAGS): Likewise.
42808 (grub_emu_SOURCES): Likewise.
42809 (kernel_img_HEADERS): Added fshelp.h.
42810 * fs/ext2.c: Include <grub/fshelp.h>.
42811 (FILETYPE_REG): New macro.
42812 (FILETYPE_INO_REG): Likewise.
42813 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
42814 Changed all users.
42815 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
42816 all users.
42817 (grub_fshelp_node): New struct.
42818 (grub_ext2_data): Added member `diropen'. Changed member `inode'
42819 to a pointer.
42820 (grub_ext2_get_file_block): Removed function.
42821 (grub_ext2_read_block): New function.
42822 (grub_ext2_read_file): Replaced parameter `data' by `node'.
42823 This function was written.
42824 (grub_ext2_mount): Read the root inode. Create a diropen struct.
42825 (grub_ext2_find_file): Removed function.
42826 (grub_ext2_read_symlink): New function.
42827 (grub_ext2_iterate_dir): Likewise.
42828 (grub_ext2_open): Rewritten.
42829 (grub_ext2_dir): Rewritten.
42830 * include/grub/fshelp.h: New file.
42831 * fs/fshelp.c: Likewise.
42832
3c52136a 428332004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
42834
42835 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
42836 (print_message): Add a missing newline.
42837 (run_menu): Added timeout support.
42838 (run_menu_entry): New local function.
42839 (grub_menu_run): Added support for booting.
42840
42841 * kern/loader.c (grub_loader_is_loaded): New function.
42842
42843 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
42844 (grub_get_rtc): Exported.
42845
42846 * include/grub/i386/pc/time.h: Include grub/symbol.h.
42847 (grub_get_rtc): Exported.
42848
42849 * include/grub/normal.h (struct grub_command_list): Remove
42850 constant from the member `command'.
42851
42852 * include/grub/loader.h (grub_loader_is_loaded): Declared.
42853
42854 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
42855
42856 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
42857
aa033560 428582004-08-28 Marco Gerards <metgerards@student.han.nl>
42859
42860 Add support for the JFS filesystem.
42861
42862 * fs/jfs.c: New file.
42863 * include/grub/fs.h (grub_jfs_init): New prototype.
42864 (grub_jfs_fini): New prototype.
42865 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
42866 (grub_emu_SOURCES): Likewise.
42867 (pkgdata_MODULES): Add jfs.mod.
42868 (jfs_mod_SOURCES): New variable.
42869 (jfs_mod_CFLAGS): Likewise.
42870 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
42871 (grubof_SOURCES): Likewise.
42872 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
42873
42874 * fs/fat.c (grub_fat_find_dir): Convert the filename little
42875 endian to the host endian.
42876 (grub_fat_utf16_to_utf8): Move function from there...
42877 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 42878 the endianness of the source string anymore.
aa033560 42879 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
42880
94bc45af 428812004-08-24 Marco Gerards <metgerards@student.han.nl>
42882
42883 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
42884 (grub_boot_fini) [GRUB_UTIL]: Likewise.
42885 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
42886 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 42887
94bc45af 42888 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
42889 (grub_hfs_iterate_dir): Make the function static. Add prototypes
42890 for `node_found' and `it_dir'.
42891 (grub_hfs_dir): Add prototype for `dir_hook'.
42892
42893 * fs/minix.c (grub_minix_get_file_block): Add prototype for
42894 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
42895 and `indir32' to silence a gcc warning.
42896
42897 * include/grub/fs.h (grub_hfs_init): New prototype.
42898 (grub_hfs_fini): Likewise.
f19dbdb7 42899
42900
97543f08 429012004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
42902
42903 Each disk device has its own id now. This is useful to make use
42904 of multiple disk devices.
f19dbdb7 42905
97543f08 42906 * include/grub/disk.h (grub_disk_dev_id): New enum.
42907 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
42908 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
42909
42910 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
42911 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
42912
42913 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
42914 GRUB_DISK_DEVICE_OFDISK_ID as an id.
42915
42916 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
42917 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
42918
42919 * include/grub/disk.h (struct grub_disk_dev): Added a new member
42920 "id" which is used by the cache manager.
42921
42922 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
42923 of just "GRUB".
42924
64372eb4 429252004-08-18 Marco Gerards <metgerards@student.han.nl>
42926
42927 * fs/hfs.c: New file.
42928 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
42929 (grub_emu_SOURCES): Likewise.
42930 (pkgdata_MODULES): Add hfs.mod.
42931 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
42932 (grubof_SOURCES): Likewise.
42933 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
42934
42935 * include/grub/misc.h (grub_strncasecmp): Add prototype.
42936 * kern/misc.c (grub_strncasecmp): Add function.
42937
cc61b58f 429382004-08-14 Marco Gerards <metgerards@student.han.nl>
42939
42940 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
42941 with parentheses.
42942
42943 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
42944 (grub_ext2_dir): In case the directory entry type is unknown, read
42945 it from the inode.
42946
0ef123f6 429472004-08-02 Peter Bruin <pjbruin@dds.nl>
42948
42949 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
42950 grub_load_linux instead of grub_rescue_cmd_linux as second
42951 argument of grub_rescue_register_command.
42952
42953 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
42954
a447c5df 429552004-07-27 Marco Gerards <metgerards@student.han.nl>
42956
42957 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
42958 function.
42959 * commands/boot.c: Remove the check for `GRUB_UTIL'.
42960 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
42961 `loader/powerpc/ieee1275/linux.c',
42962 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
42963 * include/grub/powerpc/ieee1275/ieee1275.h
42964 (grub_ieee1275_release): New prototype.
42965 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
42966 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
42967 normal, boot, linux and linux_normal.
42968 * loader/powerpc/ieee1275/linux.c: New file.
42969 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
42970
5a9e3546 429712004-07-12 Marco Gerards <metgerards@student.han.nl>
42972
42973 * normal/arg.c (grub_arg_parse): Correct error handling after
42974 reallocating the argumentlist (check if `argl' is not null instead
42975 of checking if `args' is not null).
42976 * kern/mm.c (grub_realloc): Return the same pointer when using the
42977 same region, instead of returning the header address.
42978
e15199cb 429792004-07-11 Marco Gerards <metgerards@student.han.nl>
42980
42981 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
42982 one block instead of two when looking for the initial partition.
42983 (grub_partition_probe): Initialize the local variable `p' with 0.
42984 Use base 10 for the grub_strtoul call.
42985 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
42986 need for one local variable.
42987 (grub_strtoul): Don't add the new value to `num', instead of that
42988 just assign it.
42989
020616c2 429902004-07-11 Marco Gerards <metgerards@student.han.nl>
42991
42992 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
42993 (pxeboot_img_SOURCES): New variable.
42994 (pxeboot_img_ASFLAGS): Likewise.
42995 (pxeboot_img_LDFLAGS): Likewise.
42996 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
42997 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
42998 <lode_leroy@hotmail.com>.
42999
6c51eb64 430002004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43001
43002 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
43003 there was no input.
43004
cfb12aff 430052004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43006
43007 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
43008 the history buffer logic.
43009
6eabba74 430102004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
43011
43012 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
43013 (FILETYPE_INO_SYMLINK): New macros.
43014 (grub_ext2_find_file): Check if the node is a directory using the
43015 inode stat information instead of using the filetype in the
43016 dirent. Exclude the first character of an absolute symlink.
43017 (grub_ext2_dir): Mask out the filetype part of the mode member of
43018 the inode.
43019
66e19ef8 430202004-05-24 Marco Gerards <metgerards@student.han.nl>
43021
43022 Add support for UFS version 1 and 2. Add support for the minix
43023 filesystem version 1 and 2, both the variants with 14 and 30 long
43024 filenames.
f19dbdb7 43025
66e19ef8 43026 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
43027 fs/minix.c.
43028 (grub_emu_SOURCES): Likewise.
43029 (pkgdata_MODULES): Add ufs.mod and minix.mod.
43030 (ufs_mod_SOURCES): New variable.
43031 (ufs_mod_CFLAGS): Likewise.
43032 (minix_mod_SOURCES): Likewise.
43033 (minix_mod_CFLAGS): Likewise.
43034 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
43035 fs/minix.c.
43036 (grubof_SOURCES): Likewise.
43037 * fs/ufs.c: New file.
43038 * fs/minix.c: New file.
43039 * include/grub/fs.h (grub_ufs_init): New prototype.
43040 (grub_ufs_fini): Likewise.
43041 (grub_minix_init): Likewise.
43042 (grub_minix_fini): Likewise.
43043 * util/grub-emu.c (main): Initialize and deinitialize UFS and
43044 minix fs.
43045
cc2e748a 430462004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
43047
43048 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
43049 commands/ls.c, commands/terminal.c, commands/boot.c,
43050 commands/cmp.c and commands/cat.c.
43051 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
43052
43053 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
43054 "env.h"
43055
4b13b216 430562004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43057
43058 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
43059 and grub_, respectively. Because the conversion is trivial and
43060 mechanical, I omit the details here. Please refer to the CVS
43061 if you need more information.
43062
6a142551 430632004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
43064
43065 * include/pupa: Renamed to ...
43066 * include/grub: ... this.
43067 * util/i386/pc/pupa-mkimage.c: Renamed to ...
43068 * util/i386/pc/grub-mkimage.c: ... this.
43069 * util/i386/pc/pupa-setup.c: Renamed to ...
43070 * util/i386/pc/grub-setup.c: ... this.
43071 * util/pupa-emu.c: Renamed to ...
43072 * util/grub-emu.c: ... this.
43073
e56cdf21 430742004-03-29 Marco Gerards <metgerards@student.han.nl>
43075
43076 Add support for the newworld apple macintosh (PPC). This has been
43077 tested on the powerbook 2000 only. It only adds support for
43078 generic ieee1275 functions, console and disk support. This should
43079 be easy to port to other architectures with support for Open
43080 Firmware.
f19dbdb7 43081
e56cdf21 43082 * configure.ac: Accept the powerpc as host_cpu. In the case of
43083 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
43084 specific tests are only executed while building for the i386.
43085 Inverse test for crosscompile.
43086 * genmk.rb (Utility): Allow assembler files.
43087 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
43088 * conf/powerpc-ieee1275.rmk: New file.
43089 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
43090 * disk/powerpc/ieee1275/partition.c: Likewise.
43091 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
43092 * include/pupa/powerpc/ieee1275/console.h: Likewise.
43093 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
43094 * include/pupa/powerpc/ieee1275/time.h: Likewise.
43095 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
43096 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
43097 * include/pupa/powerpc/ieee1275/loader.h
43098 * include/pupa/powerpc/setjmp.h: Likewise.
43099 * include/pupa/powerpc/types.h: Likewise.
43100 * kern/powerpc/ieee1275/init.c: Likewise.
43101 * kern/powerpc/ieee1275/openfw.c: Likewise.
43102 * term/powerpc/ieee1275/ofconsole.c: Likewise.
43103
43104 These files were written by Johan Rydberg
43105 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 43106
e56cdf21 43107 * boot/powerpc/ieee1275/cmain.c: New file.
43108 * boot/powerpc/ieee1275/crt0.S: Likewise.
43109 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
43110 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
43111
8c8cc205 431122004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
43113
43114 * Makefile.in: Update copyright.
43115 * genmodsrc.sh: Likewise.
43116 * gensymlist.sh: Likewise.
43117 * term/i386/pc/vga.c: Indent correctly.
43118
43119 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
43120 bugreporting address.
43121 * util/i386/pc/pupa-setup.c (usage): Likewise,
43122 (main): Call pupa_ext2_init and pupa_ext2_fini.
43123
f19dbdb7 43124 * fs/fat.c (log2): Renamed to ...
8c8cc205 43125 (fat_log2): ... this.
43126 All callers changed.
43127 * kern/misc.c (memcpy): Alias to pupa_memmove.
43128 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
43129 lvalue cast.
43130 * util/console.c (pupa_ncurses_fini): Return 0.
43131
43132 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
43133 Move fail label here.
43134 [__GNU__]: Don't warn when using stat.
43135 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
43136 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
43137 long int. Use strtol instead of strtoul.
f19dbdb7 43138
db1771cf 431392004-03-14 Marco Gerards <metgerards@student.han.nl>
43140
43141 * commands/boot.c: New file.
43142 * commands/cat.c: Likewise.
43143 * commands/cmp.c: Likewise.
43144 * commands/ls.c: Likewise.
43145 * commands/terminal.c: Likewise.
43146 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
43147 (pupa_register_command): Changed interface to match the new
43148 argument parser.
43149 (pupa_command_execute): Changed (almost rewritten) so it uses
43150 pupa_split_command. Added support for setting variables using the
43151 syntax `foo=bar'.
43152 (rescue_command): Changed to work with the new argument parser.
43153 (terminal_command): Moved from here to commands/terminal.c.
43154 (set_command): New function.
43155 (unset_command): New function.
43156 (insmod_command): New function.
43157 (rmmod_command): New function.
43158 (lsmod_command): New function.
43159 (pupa_command_init): Don't initialize the command terminal
43160 anymore. Initialize the commands set, unset, insmod, rmmod and
43161 lsmod.
43162 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
43163 (kernel_img_HEADERS): Add arg.h and env.h.
43164 (pupa_mkimage_LDFLAGS): Add kern/env.c.
43165 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
43166 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
43167 normal/arg.c.
43168 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
43169 terminal.mod.
43170 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
43171 (boot_mod_SOURCES): New variable.
43172 (terminal_mod_SOURCES): Likewise.
43173 (ls_mod_SOURCES): Likewise.
43174 (cmp_mod_SOURCES): Likewise.
43175 (cat_mod_SOURCES): Likewise.
43176
43177 * normal/arg.c: New file.
43178 * kern/env.c: Likewise.
43179 * include/pupa/arg.h: Likewise.
43180 * include/pupa/env.h: Likewise.
43181 * font/manager.c (font_command): Changed to match argument parsing
43182 interface changes.
43183 (PUPA_MOD_INIT): Likewise.
43184 * hello/hello.c (pupa_cmd_hello): Likewise.
43185 (PUPA_MOD_INIT): Likewise.
43186 * include/pupa/disk.h: Include <pupa/device.h>.
43187 (pupa_print_partinfo): New prototype.
43188 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
43189 (pupa_dl_get_prefix): Likewise.
43190 * include/pupa/misc.h: Include <pupa/err.h>.
43191 (pupa_isgraph): New prototype.
43192 (pupa_isdigit): Likewise.
43193 (pupa_split_cmdline): Likewise.
43194 * include/pupa/normal.h: Include <pupa/arg.h>.
43195 (pupa_command): Changed the prototype of the member `func' to
43196 match the argument parsing interface. Added member `options'.
43197 (pupa_register_command): Updated to match function.
43198 (pupa_arg_parse): New prototype.
43199 (pupa_hello_init) [PUPA_UTIL]: New prototype.
43200 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
43201 (pupa_ls_init) [PUPA_UTIL]: Likewise.
43202 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
43203 (pupa_cat_init) [PUPA_UTIL]: Likewise.
43204 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
43205 (pupa_boot_init) [PUPA_UTIL]: Likewise.
43206 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
43207 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
43208 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
43209 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
43210 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
43211 * kern/disk.c: Include <pupa/file.h>.
43212 (pupa_print_partinfo): New function.
43213 * kern/dl.c: Include <pupa/env.h>.
43214 (pupa_dl_dir): Variable removed.
43215 (pupa_dl_load): Use the environment variable `prefix' instead of
43216 the variable pupa_dl_dir.
43217 (pupa_dl_set_prefix): Function removed.
43218 (pupa_dl_get_prefix): Likewise.
43219 * kern/i386/pc/init.c: Include <pupa/env.h>.
43220 (pupa_machine_init): Use the environment variable `prefix' instead of
43221 using pupa_dl_set_prefix to set the prefix.
43222 * kern/main.c: Include <pupa/env.h>.
43223 (pupa_set_root_dev): Use the environment variable `prefix' instead of
43224 using pupa_dl_get_prefix to get the prefix.
43225 * kern/misc.c: Include <pupa/env.h>.
43226 (pupa_isdigit): New function.
43227 (pupa_isgraph): Likewise.
43228 (pupa_ftoa): Likewise.
43229 (pupa_vsprintf): Added support for printing values of the type
43230 `double'. Make it possible to format variable output when using
43231 formatting like `%1.2%f'.
43232 (pupa_split_cmdline): New function.
43233 * kern/rescue.c: Include <pupa/env.h>.
43234 (next_word): Removed function.
43235 (pupa_rescue_cmd_prefix): Likewise.
43236 (pupa_rescue_cmd_set): New function.
43237 (pupa_rescue_cmd_unset): New function.
43238 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
43239 split the command line instead of splitting it here. Added
43240 support for setting variables using the syntax `foo=bar'. Don't
43241 initialize the prefix command anymore. Initialized the set and
43242 unset commands.
43243 * normal/cmdline.c: Include <pupa/env.h>.
43244 (pupa_tab_complete): Added prototypes for print_simple_completion,
43245 print_partition_completion, add_completion, iterate_commands,
43246 iterate_dev, iterate_part and iterate_dir. Moved code to print
43247 partition information from here to kern/disk.c.
fe6b695a 43248 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 43249 * normal/main.c: Include <pupa/env.h>.
43250 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
43251 instead of using pupa_dl_get_prefix to get the prefix.
43252 * term/i386/pc/vga.c: Include <pupa/arg.h>.
43253 (check_vga_mem): Cast pointers to `void *' to silence a gcc
43254 warning.
43255 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
43256 (pupa_vga_setcolor): Declare unused variables with `__attribute__
43257 ((unused))' to silence a gcc warning.
43258 (pupa_vga_setcolor): Likewise.
43259 (debug_command): Changed to match argument parsing
43260 interface changes.
43261 * util/pupa-emu.c: Include <pupa/env.h>.
43262 (options): Added 0's for unused fields to silence a gcc warning.
43263 (argp): Likewise.
43264 (main): Use the environment variable `prefix' instead of using
43265 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
43266 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
43267 and terminal.
43268
43269 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
43270 * util/misc.c: Include <malloc.h>.
43271 (pupa_malloc): Rewritten so errors are correctly reported.
43272 (pupa_realloc): Likewise.
43273 (pupa_memalign): Likewise.
43274 (pupa_mm_init_region): Declare unused variables with
43275 `__attribute__ ((unused))' to silence a gcc warning.
43276 * normal/i386/setjmp.S: Remove tab at the end of the file to
43277 silence a gcc warning.
43278 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
43279 variables with `__attribute__ ((unused))' to silence a gcc
43280 warning.
43281 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
43282 local variable i unsigned to silence a gcc warning.
43283
43284 * kern/term.c: Include <pupa/misc.h>.
43285 (pupa_more_lines): New variable.
43286 (pupa_more): Likewise.
43287 (pupa_putcode): When the pager is active pause at the end of every
43288 screen.
43289 (pupa_set_more): New function.
43290 * include/pupa/term.h (pupa_set_more): New prototype.
43291
43292
3b1139cb 432932004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
43294
43295 Now this project is GRUB 2 rather than PUPA. The location of
43296 the CVS repository was moved to GRUB's.
f19dbdb7 43297
3b1139cb 43298 * configure.ac: Use bug-grub as the reporting address.
43299 Use GRUB instead of PUPA.
43300 Change the version number to 1.90.
43301
8367695c 433022004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
43303
43304 * genkernsyms.sh: Updated copyright information.
43305 * genmk.rb: Likewise.
43306 * genmodsrc.sh: Likewise.
43307 * gensymlist.sh: Likewise.
43308 * boot/i386/pc/boot.S: Likewise.
43309 * boot/i386/pc/diskboot.S: Likewise.
43310 * disk/i386/pc/biosdisk.c: Likewise.
43311 * disk/i386/pc/partition.c: Likewise.
43312 * font/manager.c: Likewise.
43313 * fs/ext2.c: Likewise.
43314 * fs/fat.c: Likewise.
43315 * include/pupa/boot.h: Likewise.
43316 * include/pupa/device.h: Likewise.
43317 * include/pupa/disk.h: Likewise.
43318 * include/pupa/dl.h: Likewise.
43319 * include/pupa/elf.h: Likewise.
43320 * include/pupa/err.h: Likewise.
43321 * include/pupa/file.h: Likewise.
43322 * include/pupa/font.h: Likewise.
43323 * include/pupa/fs.h: Likewise.
43324 * include/pupa/kernel.h: Likewise.
43325 * include/pupa/loader.h: Likewise.
43326 * include/pupa/misc.h: Likewise.
43327 * include/pupa/mm.h: Likewise.
43328 * include/pupa/net.h: Likewise.
43329 * include/pupa/normal.h: Likewise.
43330 * include/pupa/rescue.h: Likewise.
43331 * include/pupa/setjmp.h: Likewise.
43332 * include/pupa/symbol.h: Likewise.
43333 * include/pupa/term.h: Likewise.
43334 * include/pupa/types.h: Likewise.
43335 * include/pupa/i386/setjmp.h: Likewise.
43336 * include/pupa/i386/types.h: Likewise.
43337 * include/pupa/i386/pc/biosdisk.h: Likewise.
43338 * include/pupa/i386/pc/boot.h: Likewise.
43339 * include/pupa/i386/pc/console.h: Likewise.
43340 * include/pupa/i386/pc/init.h: Likewise.
43341 * include/pupa/i386/pc/kernel.h: Likewise.
43342 * include/pupa/i386/pc/linux.h: Likewise.
43343 * include/pupa/i386/pc/loader.h: Likewise.
43344 * include/pupa/i386/pc/memory.h: Likewise.
43345 * include/pupa/i386/pc/multiboot.h: Likewise.
43346 * include/pupa/i386/pc/partition.h: Likewise.
43347 * include/pupa/i386/pc/time.h: Likewise.
43348 * include/pupa/i386/pc/vga.h: Likewise.
43349 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
43350 * include/pupa/util/getroot.h: Likewise.
43351 * include/pupa/util/misc.h: Likewise.
43352 * include/pupa/util/resolve.h: Likewise.
43353 * kern/device.c: Likewise.
43354 * kern/disk.c: Likewise.
43355 * kern/dl.c: Likewise.
43356 * kern/err.c: Likewise.
43357 * kern/file.c: Likewise.
43358 * kern/fs.c: Likewise.
43359 * kern/loader.c: Likewise.
43360 * kern/main.c: Likewise.
43361 * kern/misc.c: Likewise.
43362 * kern/mm.c: Likewise.
43363 * kern/rescue.c: Likewise.
43364 * kern/term.c: Likewise.
43365 * kern/i386/dl.c: Likewise.
43366 * kern/i386/pc/init.c: Likewise.
43367 * kern/i386/pc/lzo1x.S: Likewise.
43368 * kern/i386/pc/startup.S: Likewise.
43369 * loader/i386/pc/chainloader.c: Likewise.
43370 * loader/i386/pc/linux.c: Likewise.
43371 * loader/i386/pc/multiboot.c: Likewise.
43372 * normal/cmdline.c: Likewise.
43373 * normal/command.c: Likewise.
43374 * normal/main.c: Likewise.
43375 * normal/menu.c: Likewise.
43376 * normal/i386/setjmp.S: Likewise.
43377 * term/i386/pc/console.c: Likewise.
43378 * term/i386/pc/vga.c: Likewise.
43379 * util/console.c: Likewise.
43380 * util/genmoddep.c: Likewise.
43381 * util/misc.c: Likewise.
43382 * util/pupa-emu.c: Likewise.
43383 * util/resolve.c: Likewise.
43384 * util/unifont2pff.rb: Likewise.
43385 * util/i386/pc/biosdisk.c: Likewise.
43386 * util/i386/pc/getroot.c: Likewise.
43387 * util/i386/pc/pupa-mkimage.c: Likewise.
43388 * util/i386/pc/pupa-setup.c: Likewise.
43389
e6eced71 433902004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
43391
43392 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
43393 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
43394 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
43395 reading and reset it after reading.
43396 (pupa_ext2_close): Return PUPA_ERR_NONE.
43397
43398 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
43399 Correct value.
43400 (struct linux_kernel_header): Add kernel_version and
43401 initrd_addr_max.
43402 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
43403 pupa_file_read succeeds.
43404 (pupa_rescue_cmd_initrd): Implement.
43405
5aded270 434062003-12-03 Marco Gerards <metgerards@student.han.nl>
43407
43408 * fs/ext2.c (pupa_ext2_label): New function.
43409 (pupa_ext2_fs): Added label.
43410 * fs/fat.c (pupa_fat_label): New function.
43411 (pupa_fat_fs): Added label.
43412 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
43413
43414 * kern/misc.c (pupa_strndup): New function.
43415 * include/pupa/misc.h (pupa_strndup): New prototype.
43416
43417 * include/pupa/normal.h: Include <pupa/err.h>.
43418 (pupa_set_history): New prototype.
43419 (pupa_iterate_commands): New prototype.
43420 * normal/cmdline.c: Include <pupa/machine/partition.h>,
43421 <pupa/disk.h>, <pupa/file.h>.
43422 (hist_size): New variable.
43423 (hist_lines): Likewise.
43424 (hist_end): Likewise.
43425 (hist_used): Likewise.
43426 (pupa_set_history): New function.
43427 (pupa_history_get): Likewise.
43428 (pupa_history_add): Likewise.
43429 (pupa_history_replace): Likewise.
43430 (pupa_tab_complete): Likewise.
43431 (pupa_cmdline_run): Added tab completion and history buffer. Tab
43432 completion shows partitionnames while completing partitions, this
43433 feature was suggested by Jeff Bailey.
43434 * normal/command.c (pupa_iterate_commands): New function.
43435 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
43436 (pupa_normal_init): Initialize history buffer.
43437 (PUPA_MOD_INIT): Likewise.
43438 (pupa_normal_fini): Free the history buffer.
43439 (PUPA_MOD_FINI): Likewise.
43440
43441 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
43442 key.
43443
43444 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
43445 * configure.ac [i386]: Check for regparam bug.
43446 (NESTED_FUNC_ATTR) [! i386]: Defined.
43447
1f7315a3 434482003-11-17 Marco Gerards <metgerards@student.han.nl>
43449
43450 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
43451 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
43452 (pupa_emu_SOURCES): New variable.
43453 (pupa_emu_LDFLAGS): Likewise.
43454 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
43455 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
43456 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
43457 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
43458 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
43459 (pupa_jmp_buf): New typedef.
43460 (pupa_setjmp) [PUPA_UTIL]: New macro.
43461 (pupa_longjmp) [PUPA_UTIL]: Likewise.
43462 * include/pupa/term.h (struct pupa_term): New member `refresh'.
43463 (pupa_refresh): New prototype.
43464 * include/pupa/util/getroot.h: New file.
43465 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
43466 it.
43467 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
43468 (pupa_rescue_cmd_cat): Likewise.
43469 (pupa_rescue_cmd_ls): Likewise.
43470 (pupa_rescue_cmd_testload): Likewise.
43471 (pupa_rescue_cmd_lsmod): Likewise.
43472 * normal/cmdline.c (pupa_cmdline_get): Likewise.
43473 * normal/menu.c (run_menu): Likewise.
43474 * kern/term.c (pupa_cls): Likewise.
43475 (pupa_refresh): New function.
43476 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
43477 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
43478 * util/console.c: New file.
f19dbdb7 43479
1f7315a3 43480 * util/i386/pc/getroot.c: New file.
43481 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
43482 (pupa_putchar): New function.
43483 (pupa_refresh): Likewise.
43484 (xgetcwd): Function moved to ...
43485 (strip_extra_slashes): Likewise.
43486 (get_prefix): Likewise.
f19dbdb7 43487 * util/i386/pc/getroot.c: ... here.
1f7315a3 43488 (find_root_device): Function moved and renamed to...
43489 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
43490 Changed all callers.
43491 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
43492 and renamed to...
43493 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
43494 Changed all callers.
43495 * util/misc.c (pupa_memalign): New function.
43496 (pupa_mm_init_region): Likewise.
43497 (pupa_register_exported_symbols): Likewise.
43498 (pupa_putchar): Function removed.
43499 * util/pupa-emu.c: New file.
43500
9a5c1ade 435012003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
43502
43503 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
43504 (_multiboot_mod_SOURCES): New variable.
43505 (_multiboot_mod_CFLAGS): Likewise.
43506 * loader/i386/pc/multiboot.c: New file.
43507 * include/pupa/i386/pc/multiboot.h: Likewise.
43508 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
43509 (pupa_multiboot_real_boot): New function.
43510 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
43511 (pupa_multiboot_real_boot): New prototype.
43512 (pupa_rescue_cmd_multiboot): Likewise
43513 (pupa_rescue_cmd_module): Likewise.
43514
43515 * kern/loader.c (pupa_loader_set): Continue when
43516 pupa_loader_unload_func() fails.
43517 (pupa_loader_unset): New function.
43518 * include/pupa/loader.h (pupa_loader_unset): New prototype.
43519
43520 * kern/misc.c (pupa_stpcpy): New function.
43521 * include/pupa/misc.h (pupa_stpcpy): New prototype.
43522
8e72a9c0 435232003-11-12 Marco Gerards <metgerards@student.han.nl>
43524
43525 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
43526 for available extensions.
43527
43528 * include/pupa/i386/pc/time.h: New file.
43529 * kern/disk.c: Include <pupa/machine/time.h>.
43530 (PUPA_CACHE_TIMEOUT): New macro.
43531 (pupa_last_time): New variable.
43532 (pupa_disk_open): Flush the cache when there was a timeout.
43533 (pupa_disk_close): Reset the timer.
43534 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
43535 pupa_currticks.
43536 * util/misc.c: Include <sys/times.h>
43537 (pupa_get_rtc): New function.
43538
c4adbd32 435392003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
43540
43541 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
43542 as blocks.
43543 (pupa_ext2_get_file_block): Use blocks member.
43544
43545 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
43546 first block. Return -1 instead of pupa_errno on error.
43547
bfd30f06 435482003-10-27 Marco Gerards <metgerards@student.han.nl>
43549
43550 * README: In the pupa-mkimage example use _chain instead of chain
43551 and ext2 instead of fat.
43552 * TODO: Replace ext2fs with jfs as an example. Add an item for
43553 adding journal playback for ext2fs.
43554 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
43555 (pkgdata_MODULES): Added ext2.mod.
43556 (ext2_mod_SOURCES): New variable.
43557 (ext2_mod_CFLAGS): Likewise.
43558 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
43559 * include/pupa/misc.h (pupa_strncpy): New prototype.
43560 (pupa_strcat): Likewise.
43561 (pupa_strncmp): Likewise.
43562 * kern/misc.c (pupa_strcat): Enable function.
43563 (pupa_strncpy): New function.
43564 (pupa_strncmp): Likewise.
43565 * fs/ext2.c: New file.
f19dbdb7 43566
bfd30f06 43567 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
43568 when the read failed before retrying.
43569 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
43570 (_FILE_OFFSET_BITS): Likewise.
43571 * configure.ac: Added AC_SYS_LARGEFILE.
43572
98d15063 435732003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
43574
43575 * genmk.rb (PModule#rule): Make sure to get only symbol names
43576 from the output of nm.
59cad637 43577 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 43578
18d9c7cd 435792003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
43580
43581 I forgot to check in these changes for a long time. This adds
43582 incomplete support for VGA console, and this is still very
43583 buggy. Also, a lot of consideration is required for I18N,
43584 UNICODE, and VGA font issues. Therefore, assume that this is
43585 such that "better than nothing".
f19dbdb7 43586
18d9c7cd 43587 * font/manager.c: New file.
43588 * include/pupa/font.h: Likewise.
43589 * include/pupa/i386/pc/vga.h: Likewise.
43590 * term/i386/pc/vga.c: Likewise.
43591 * util/unifont2pff.rb: Likewise.
43592
43593 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
43594 (pkgdata_MODULES): Added vga.mod and font.mod.
43595 (vga_mod_SOURCES): New variables.
43596 (vga_mod_CFLAGS): Likewise.
43597 (font_mod_SOURCES): Likewise.
43598 (font_mod_CFLAGS): Likewise.
43599
43600 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
43601
43602 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 43603 (struct pupa_term): Added init and fini.
18d9c7cd 43604 Changed the argument of putchar to pupa_uint32_t.
43605
43606 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
43607 (pupa_console_real_putchar): New prototype.
43608 (pupa_console_putchar): Removed.
43609 (pupa_console_checkkey): Exported.
43610 (pupa_console_getkey): Likewise.
43611
43612 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
43613 characters.
43614
43615 * kern/term.c (pupa_term_set_current): Rewritten.
43616 (pupa_putchar): Likewise.
43617 (pupa_putcode): New function.
43618
43619 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
43620 (pupa_console_real_putchar): ... this.
43621 (pupa_vga_set_mode): New function.
43622 (pupa_vga_get_font): Likewise.
43623
43624 * normal/command.c: Include pupa/term.h.
43625 (terminal_command): New function.
43626 (pupa_command_init): Register the command "terminal".
43627
43628 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
43629 (DISP_UP): Likewise.
43630 (DISP_RIGHT): Likewise.
43631 (DISP_DOWN): Likewise.
43632 (DISP_HLINE): Likewise.
43633 (DISP_VLINE): Likewise.
43634 (DISP_UL): Likewise.
43635 (DISP_UR): Likewise.
43636 (DISP_LL): Likewise.
43637 (DISP_LR): Likewise.
43638
43639 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 43640
977329f5 436412003-02-08 NIIBE Yutaka <gniibe@m17n.org>
43642
43643 * util/resolve.c (pupa_util_resolve_dependencies): BUG
43644 FIX. Reverse the path_list.
43645
43646 * include/pupa/normal.h: Export pupa_register_command and
43647 pupa_unregister_command.
43648
43649 * hello/hello.c (pupa_cmd_hello): New module.
43650 * conf/i386-pc.rmk: Added hello.mod.
43651
1f5ab428 436522003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
43653
43654 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 43655
1f5ab428 43656 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
43657 (compress_kernel): New variable.
43658 (generate_image): Heavily modified to support compressing a
43659 large part of the core image.
43660
43661 * util/misc.c (pupa_util_read_image): Fix a file descriptor
43662 leak.
43663 (pupa_util_load_image): New function.
43664
43665 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
43666 (pupa_compressed_size): New variable.
43667 (codestart): Enable Gate A20 here.
43668 Decompress the compressed part of the core image.
43669 Rearrange the code to put functions and variables which are
43670 required for initialization in the non-compressed part.
43671 Include lzo1x.S.
43672
43673 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
43674 here.
43675
43676 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
43677
f19dbdb7 43678 * include/pupa/i386/pc/kernel.h
1f5ab428 43679 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
43680 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
43681 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
43682 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
43683 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
43684
43685 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
43686
43687 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
43688 (Utility#rule): Likewise.
43689
43690 * configure.ac: Check if LZO is available.
43691
ce5bf700 436922003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
43693
43694 * include/pupa/normal.h: New file.
43695 * include/pupa/setjmp.h: Likewise.
43696 * include/pupa/i386/setjmp.h: Likewise.
43697 * normal/cmdline.c: Likewise.
43698 * normal/command.c: Likewise.
43699 * normal/main.c: Likewise.
43700 * normal/menu.c: Likewise.
43701 * normal/i386/setjmp.S: Likewise.
f19dbdb7 43702
ce5bf700 43703 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
43704 (pupa_rescue_cmd_initrd): Likewise.
43705
43706 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
43707 Likewise.
43708
43709 * kern/i386/pc/startup.S (translation_table): New variable.
43710 (translate_keycode): New function.
43711 (pupa_console_getkey): Call translate_keycode.
43712
43713 * kern/rescue.c (attempt_normal_mode): New function.
43714 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
43715 it failed, print a message.
43716
43717 * kern/mm.c (pupa_real_malloc): Print more information when a
43718 free magic is broken.
43719 (pupa_free): If the first free header is not free actually, set
43720 it to P.
43721
43722 * kern/main.c (pupa_load_normal_mode): Just load the module
43723 "normal".
43724 (pupa_main): Don't print the message
43725 "Entering into rescue mode..." here.
43726
43727 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
43728 Declared.
43729 (pupa_rescue_cmd_initrd): Likewise.
43730 (pupa_rescue_cmd_initrd): Likewise.
43731
43732 * include/pupa/symbol.h (FUNCTION): Specify the type.
43733 (VARIABLE): Likewise.
43734
43735 * include/pupa/err.h (pupa_err_t): Added
43736 PUPA_ERR_UNKNOWN_COMMAND.
43737
43738 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
43739 (pupa_dl_get_prefix): Likewise.
43740
43741 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
43742 Added _chain.mod and _linux.mod instead of chain.mod and
43743 linux.mod.
43744 (chain_mod_SOURCES): Renamed to ...
43745 (_chain_mod_SOURCES): ... this.
43746 (chain_mod_CFLAGS): Renamed to ...
43747 (_chain_mod_CFLAGS): ... this.
43748 (linux_mod_SOURCES): Renamed to ...
43749 (_linux_mod_SOURCES): ... this.
43750 (linux_mod_CFLAGS): Renamed to ...
43751 (_linux_mod_CFLAGS): ... this.
43752 (normal_mod_SOURCES): New variable.
43753 (normal_mod_CFLAGS): Likewise.
43754 (normal_mod_ASFLAGS): Likewise.
43755
437562003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
43757
43758 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
43759 possible.
43760
fe6b695a 43761 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 43762 recursively.
43763 (pupa_dl_unref): Unrefer depending modules recursively.
43764 Don't call pupa_dl_unload implicitly, because PUPA can crash if
43765 a module is unloaded before one depending on that module is
43766 unloaded.
43767 (pupa_dl_unload): Unload depending modules explicitly,
43768 if possible.
43769
c04da074 437702003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
43771
43772 * include/pupa/i386/pc/linux.h: New file.
43773 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 43774
c04da074 43775 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
43776 Removed.
43777 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
43778 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
43779 of PUPA_CHAINLOADER_BOOT_SECTOR.
43780
43781 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
43782 (pupa_linux_prot_size): New variable.
43783 (pupa_linux_tmp_addr): Likewise.
43784 (pupa_linux_real_addr): Likewise.
43785 (pupa_linux_boot_zimage): New function.
43786 (pupa_linux_boot_bzimage): Likewise.
43787
43788 * kern/i386/pc/init.c (struct mem_region): New structure.
43789 (MAX_REGIONS): New macro.
43790 (mem_regions): New variable.
43791 (num_regions): Likewise.
43792 (pupa_os_area_addr): Likewise.
43793 (pupa_os_area_size): Likewise.
43794 (pupa_lower_mem): Likewise.
43795 (pupa_upper_mem): Likewise.
43796 (add_mem_region): New function.
43797 (compact_mem_regions): Likewise.
43798 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
43799 the size of the conventional memory and that of so-called upper
43800 memory (before the first memory hole).
43801 Instead of adding each found region to free memory, use
43802 add_mem_region and add them after removing overlaps.
43803 Also, add only 1/4 of the upper memory to free memory. The rest
43804 is used for loading OS images. Maybe this is ad hoc, but this
43805 makes it much easier to relocate OS images when booting.
43806
43807 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
43808 (pupa_enter_rescue_mode): Don't register initrd and module.
43809
43810 * kern/mm.c: Include pupa/dl.h.
43811
43812 * kern/main.c: Include pupa/file.h and pupa/device.h.
43813
43814 * kern/loader.c (pupa_loader_load_module_func): Removed.
43815 (pupa_loader_load_module): Likewise.
43816
43817 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
43818 ``.o''.
43819
43820 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
43821 (pupa_linux_tmp_addr): Likewise.
43822 (pupa_linux_real_addr): Likewise.
43823 (pupa_linux_boot_zimage): Likewise.
43824 (pupa_linux_boot_bzimage): Likewise.
43825
43826 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
43827 (pupa_upper_mem): Likewise.
43828 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
43829 module is too dangerous.
43830
43831 * include/pupa/loader.h (pupa_os_area_addr): Declared.
43832 (pupa_os_area_size): Likewise.
43833 (pupa_loader_set): Remove the first argument. Loader doesn't
43834 manage modules or initrd any longer.
43835 (pupa_loader_load_module): Removed.
43836
43837 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
43838 (linux_mod_SOURCES): New variable.
43839 (linux_mod_CFLAGS): Likewise.
43840
a13f9237 438412003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
43842
43843 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
43844 the length of a blocklist correctly.
43845
43846 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
43847 Use ioctl only if the OS file is a block device.
43848 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
43849 not very useful for normal files.
43850
43851 * kern/main.c (pupa_set_root_dev): New function.
43852 (pupa_load_normal_mode): Likewise.
43853 (pupa_main): Call those above.
43854
43855 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
43856 pupa_uint16_t.
43857
43858 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
43859
a5ffe966 438602003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
43861
43862 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
43863 (setup): Configure the installed partition information and the
43864 dl prefix.
43865
43866 * loader/i386/pc/chainloader.c (my_mod): New variable.
43867 (pupa_chainloader_unload): New function.
43868 (pupa_rescue_cmd_chainloader): Refer itself.
43869 (PUPA_MOD_INIT): Save its own module in MY_MOD.
43870
43871 * kern/i386/pc/startup.S (install_partition): Removed.
43872 (version_string): Likewise.
43873 (config_file): Likewise.
43874 (pupa_install_dos_part): New variable.
43875 (pupa_install_bsd_part): Likewise.
43876 (pupa_prefix): Likewise.
43877 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
43878
43879 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
43880 and pupa/misc.h.
43881 (make_install_device): New function.
43882 (pupa_machine_init): Set the dl prefix.
43883
43884 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
43885 (buf): Renamed to ...
43886 (linebuf): ... this.
43887 (pupa_rescue_cmd_prefix): New function.
43888 (pupa_rescue_cmd_insmod): Likewise.
43889 (pupa_rescue_cmd_rmmod): Likewise.
43890 (pupa_rescue_cmd_lsmod): Likewise.
43891 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
43892 rmmod and lsmod.
43893
43894 * kern/mm.c (pupa_memalign): If failed even after invalidating
43895 disk caches, unload unneeded modules and retry.
43896
43897 * kern/misc.c (pupa_memmove): New function.
43898 (pupa_memcpy): Removed.
43899 (pupa_strcpy): New function.
43900 (pupa_itoa): Made static.
43901
43902 * kern/dl.c (pupa_dl_iterate): New function.
43903 (pupa_dl_ref): Likewise.
43904 (pupa_dl_unref): Likewise.
43905 (pupa_dl_unload): Return if succeeded or not.
43906 (pupa_dl_unload_unneeded): New function.
43907 (pupa_dl_unload_all): Likewise.
43908 (pupa_dl_init): Renamed to ...
43909 (pupa_dl_set_prefix): ... this.
43910 (pupa_dl_get_prefix): New function.
43911
43912 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
43913 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
43914 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
43915 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
43916 (pupa_install_dos_part): Declared.
43917 (pupa_install_bsd_part): Likewise.
43918 (pupa_prefix): Likewise.
43919 (pupa_boot_drive): Likewise.
43920
43921 * include/pupa/types.h: Fix a typo.
43922
43923 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
43924 pupa_memmove.
43925 (pupa_memmove): Declared.
43926 (pupa_strcpy): Likewise.
43927
43928 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
43929 pupa_mod_init takes one argument, its own module.
43930 (pupa_dl_unload_unneeded): Declared.
43931 (pupa_dl_unload_all): Likewise.
43932 (pupa_dl_ref): Likewise.
43933 (pupa_dl_unref): Likewise.
43934 (pupa_dl_iterate): Likewise.
43935 (pupa_dl_init): Renamed to ...
43936 (pupa_dl_set_prefix): ... this.
43937 (pupa_dl_get_prefix): Declared.
43938
43939 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 43940 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 43941 unloaded.
43942 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
43943 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
43944
43945 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
43946 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
43947
012d7999 439482003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
43949
43950 * util/i386/pc/pupa-setup.c (setup): Define the internal
43951 function find_first_partition_start at the top level, because GCC
43952 3.0.x cannot compile internal functions in deeper scopes
43953 correctly.
43954 (find_root_device): Use lstat instead of stat.
43955 Don't follow symbolic links.
43956 Fix the path-constructing code.
43957
43958 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
43959 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
43960 by a BLKGETSIZE ioctl first, because block devices don't fill
43961 the member st_mode of the structure stat on Linux.
43962 [__linux__] (linux_find_partition): Use a temporary buffer
43963 REAL_DEV for the working space. Copy it to DEV before returning.
43964 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
43965 buffer cache consistent.
43966 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
43967 strncmp. The previous value was merely wrong.
43968 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
43969
43970 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
43971 FAT size is 12. The previous value was merely wrong.
43972
43973 * kern/main.c (pupa_main): Don't split the starting message from
43974 newlines.
43975
43976 * kern/term.c (pupa_putchar): Put CR after LF instead of before
43977 LF, because BIOS goes crazy about character attributes in this
43978 case.
43979
1cc73a62 439802003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
43981
43982 * include/i386/pc/util/biosdisk.h: New file.
43983 * util/i386/pc/biosdisk.c: Likewise.
43984 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 43985
1cc73a62 43986 * Makefile.in (INCLUDE_DISTFILES): Added
43987 include/pupa/i386/pc/util/biosdisk.h.
43988 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
43989 directory util/i386/pc.
43990 (install-local): Added a rule for sbin_UTILITIES.
43991 (uninstall): Likewise.
43992
43993 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
43994
43995 * util/misc.c (xrealloc): New function.
43996 (pupa_malloc): Likewise.
43997 (pupa_free): Likewise.
43998 (pupa_realloc): Likewise.
43999 (pupa_stop): Likewise.
44000 (pupa_putchar): Likewise.
44001
44002 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
44003
44004 * include/pupa/util/misc.h (xrealloc): Declared.
44005
44006 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
44007 macro.
44008 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
44009 (PUPA_BOOT_MACHINE_BPB_END): ... this.
44010
44011 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
44012 [PUPA_UTIL] (pupa_fat_fini): Likewise.
44013
44014 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
44015 way should be implemented.
44016 [PUPA_UTIL] (pupa_fat_fini): Likewise.
44017
44018 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
44019 the size of NAME for safety.
44020 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
44021 0x88.
44022
44023 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
44024 (pupa_setup_SOURCES): Likewise.
44025
44026 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
44027
08b70fe8 440282002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
44029
44030 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
44031 bunch of pushl's from pusha, because this destroys the return
44032 value.
44033
62ddcc8f 440342002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
44035
44036 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
44037 This means that any missing prototypes could be fatal. Also, you
44038 must take care when writing assembly code. See the comments at
44039 the beginning of startup.S, for more details.
f19dbdb7 44040
62ddcc8f 44041 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
44042 compilation mechanism.
44043 (pupa_chainloader_real_boot): Likewise.
44044 (pupa_biosdisk_rw_int13_extensions): Likewise.
44045 (pupa_biosdisk_rw_standard): Likewise.
44046 (pupa_biosdisk_check_int13_extensions): Likewise.
44047 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
44048 (pupa_biosdisk_get_diskinfo_standard): Likewise.
44049 (pupa_get_memsize): Likewise.
44050 (pupa_get_mmap_entry): Likewise.
44051 (pupa_console_putchar): Likewise.
44052 (pupa_console_setcursor): Likewise.
44053 (pupa_getrtsecs): Use pushl instead of push.
44054
44055 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
44056 memory instead of the stack for a mmap entry, because some
44057 BIOSes may ignore the maximum size and overflow.
44058
44059 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
44060
44061 * genmk.rb (PModule#rule): Compile automatically generated
44062 sources with module-specific CFLAGS as well as other sources.
44063
9962ed99 440642002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44065
44066 * configure.ac: Check ld.
44067 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
44068 respectively, before checking endianness and sizes.
44069
44070 * Makefile.in (LD): New variable.
f19dbdb7 44071
abdfc3c5 440722002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44073
44074 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
44075
6a161fa9 440762002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
44077
44078 * Changelog: New file.
44079